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

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

 
Denton ©   (2003-02-22 13:05) [0]

У меня есть плоскость, определьонная тремя точками, сдвинута и повернута относительно начала координат. И есть модель (танка, машины), как ее сдвинуть и повернуть, чтобы она лежала на этой плоскасти. Я пробовал вычислять углы между плоскостями и с помощью glRotate поворачивать, но чьото криво получалось и может есть способ по быстрей (с матрицами поколдовать, я в етом не разбираюсь)?


 
Ketmar ©   (2003-02-22 13:18) [1]

хинт: нормали.

Satanas Nobiscum! 22-Feb-XXXVIII A.S.


 
Denton ©   (2003-02-22 16:02) [2]

А какая разница между чем вычислять угол, между нормаллю или плоскостю?


 
Ketmar ©   (2003-02-22 16:33) [3]

читать учебники, ы?

Satanas Nobiscum! 22-Feb-XXXVIII A.S.


 
Landgraph   (2003-02-22 17:59) [4]

А в какой-нибудь матрице хранится: местоположение? Если да, то в какой и с какими индексами =)


 
Denton ©   (2003-02-22 19:10) [5]


> Ketmar © (22.02.03 16:33)

Конкретней выражатся можно?


 
i-C3H7OH ©   (2003-02-24 01:10) [6]

типичная задача преобразований координат умножением на матрицу

азы качать отсюда
http://pascal.sources.ru/docs/compgraf.zip

2 Landgraph
тебе тоже будет полезно как раз насчет матриц


 
Denton ©   (2003-02-25 13:06) [7]

Блин, ну нехрена не выходит: нужно повернуть модель чтобы она была паралельна плоскости (АВС), помогите пожалуста кому не лень.

var a,b,c,n:Vector;
( a,b,c)
Блин, ну нехрена не выходит: нужно повернуть модель чтобы она была паралельна плоскости (АВС), помогите пожалуста кому не лень.

var a,b,c,n:Vector;
anx,any:single;
begin
...
n:=NormalVector(a,b,c);
n:=NormalizeVector(n);
anx:=radtodeg(arccos((n.x+n.z)/(2*(n.x*n.x+n.y*n.y+n.z*n.z))));
any:=radtodeg(arccos((n.z)/(n.x*n.x+n.y*n.y+n.z*n.z)));
glTranslate(Position.x,Position.y,Position.z);
glRotate(angle,0,1,0);
glRotate(anx,1,0,0);
glRotate(any,0,0,1);
model.Draw;



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

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



Память: 0.46 MB
Время: 0.013 c
1-81690
Winni
2003-08-11 14:15
2003.08.25
Проблемы с кириллицей при компиляции .RTF --> .HLP (HCW.exe)


1-81608
muzik
2003-08-13 11:49
2003.08.25
UNICODE


4-82007
Jao
2003-06-18 16:24
2003.08.25
Как можно узнать хендл приложения, который весит в трее?


3-81577
николай
2003-07-30 12:32
2003.08.25
как сделать кнопку


14-81953
Best Gun
2003-08-06 13:58
2003.08.25
Компилятор gcc




   Наверх