Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.10;
Скачать: CL | DM;

Вниз

Как прикрепить камеру к объекту   Найти похожие ветки 

 
APTEMKA ©   (2002-10-23 02:25) [0]

У меня есть координаты объекта
MyHero =
...
X,Y,Z: Double;
...
end;

Вопрос: подскажите как прикрепить(расчитать) камеру к этим координатам используя к примеру gluLookAt() или что нибудь другое.

procedure glDraw();
begin
...
Map.Draw();
// вопрос, где этот код поворота камеры вставить?
MyHero.Draw();
...
end;


 
Ketmar ©   (2002-10-23 10:40) [1]

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(60.0, ClientWidth / ClientHeight, 1.0, 4096.0);
gluLookAt(X, Y, Z, // pos
что, угодно, барин, // target
вверх, торчит, вектор); // up
glMatrixMode(GL_MODELVIEW);
...


Satanas Nobiscum! 23-Oct-XXXVII A.S.


 
APTEMKA ©   (2002-10-28 02:34) [2]

Ребята извените что так долго не писал проблемы с инетом были.
Спасибо что ответил.
Ketmar я может не правильно сказал, но как эта функция работает я знаю, у меня в другом проблема (в математике).
Мне нужно расчитать как раз этот вектор (X, Y, Z, // pos как ты написал.
Если у тебя есть готовая функция пошли на мыло или если можешь объясни так.
У меня есть две переменные
первая 0..360 горизонтальное перемешение мыши
вторая -60..60 вертикальное перемешение
Вот в зависимости от их значений надо расчитать эти координаты.
Спасибо.


 
APTEMKA ©   (2002-10-28 22:10) [3]

Ребята если кто знает ответьте пожалуйста.


 
Gandalf   (2002-10-29 14:38) [4]

Не совсем ясна задача, точнее что дано. Для LookAt нужы точка откуда смотришь, точка куда смотришь, и вектор направленый " небо". Что ты не можешь из этого рассчитать, и что у тебя есть?


 
APTEMKA ©   (2002-10-30 00:45) [5]

Мне нужна точка откуда смотришь.


 
APTEMKA ©   (2002-11-01 01:35) [6]

Нашел решение, короче пока на бумаге не обмозгуешь ни чего не поймёшь. Если кому нужен код, вот он.

gluLookAt(MyHero.X+
(Cos(DegToRad(Heading))*(CameraLength*sin(DegToRad(Tilt)))) ,
MyHero.Y+0.6+cos(DegToRad(Tilt)),
MyHero.Z+
Sin( DegToRad(Heading)) *(CameraLength*sin(DegToRad(Tilt))),
MyHero.X,
MyHero.Y+0.6,
MyHero.Z,
0,1,0);

0<Heading<360
0<Tilt<180


 
Stucker   (2002-11-09 20:18) [7]

Удалено модератором


 
APTEMKA ©   (2002-11-09 22:33) [8]

Удалено модератором


 
Stucker   (2002-11-10 20:22) [9]

Удалено модератором



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

Текущий архив: 2003.04.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
7-30632
@Ujin
2003-02-14 23:35
2003.04.10
И опять про печать...


3-30221
ДмирийК
2003-03-21 14:41
2003.04.10
Проблема с соханением сторки в MS SQL


1-30362
Борис_Ш
2003-03-31 14:08
2003.04.10
После вызова формы, в которой Drag&Drop, не хватает памяти


14-30572
iNew
2003-03-25 03:39
2003.04.10
Прикольный сайт http://y.20q.net:8095/ Прога угадывает загаданное


3-30279
volodya_
2003-03-20 11:12
2003.04.10
ADO DBF