Вниз
Скачать: CL | DM;

Нормали   Найти похожие ветки 

← →
Gerda ©   (2002-10-11 11:07) [0]

Дарова мастера, я с таким вопросом:
имеется поверхность (3,4-уголиник) мне нужно зная координаты (абсцис,ординат и аппликат) наити нормаль к ней.
Как это сделать (формула), а то я искал, ничего подходящего пока нету.
Заранее благодарен.


← →
Sapersky_   (2002-10-11 11:21) [1]

function PlaneNormal(Const v1, v2, v3: TD3DVector): TD3DVector;
Var va, vb, vc : TD3DVector;
begin
va:=VectorSub(v1,v2);
vb:=VectorSub(v3,v2);
vc:=VectorCrossProduct(va, vb);
Result:=VectorNormalize(vc);
end;

VectorCrossProduct - векторное произведение:

function VectorCrossProduct(const v1, v2: TD3DVector) : TD3DVector;
begin
result.x := (v1.y*v2.z) - (v1.z*v2.y);
result.y := (v1.z*v2.x) - (v1.x*v2.z);
result.z := (v1.x*v2.y) - (v1.y*v2.x);
end;

VectorNormalize - нормализация, вычисление длины и деление всех координат на неё.
VectorSub - вычитание векторов.



← →
Gerda ©   (2002-10-11 11:30) [2]

Sapersky_, пасиба. Я бацаю прогу ( http://delphi.mastak.ru/cgi-bin/download.pl?look=1&id=1025527080&n=1) без использования Директа, и Опэна, и проч... так мне нужна сама формула (из курса аналитической геометрии чтоли) расчета нормали.....мож поможеш ??


← →
k   (2002-10-11 14:24) [3]

всмотрись в мессагу Sapersky_ ты не видишь формулу?

есть треуголник, задаваемый векторами v1, v2, v3.
найдем 2 стороны
va = v1 - v2;
vb = v3 - v2;
т.е. наш треуг построен на этих двух векторах

векторное произведение дает vc = va X vb - вектор, перпендикулярный пл-ти треуг-а.
чтоб получить нормаль осталось привести его к единичной длине

n = vc/|vc|

|vc|(скаляр, число - длина вектора vc) = sqrt(sqr(x) + sqr(y) + sqr(z))

такие дела.
удачи




Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
1-29907
{{{KOTOS}}}
2003-02-26 16:37
2003.03.10
Мастера Помогите разобраться со строковым параметром


3-29722
Tundra
2003-02-18 17:38
2003.03.10
Используя -Insert into- вставить запись (дату и время) в таблицу


1-29937
ЮРИЙ_К
2003-02-27 08:49
2003.03.10
Как применить TAction одновременно к меню и кнопке?


14-30010
Феликс
2003-02-24 02:26
2003.03.10
Как эта пестня называется?


4-30194
Nikolas van rain
2003-01-19 19:54
2003.03.10
Имитация мышки в IE через программу либо в WeBBrowser-e




   Наверх