Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как прикрепить камеру к объекту [Delphi]


APTEMKA ©   (2002-10-23 02:25:00) 

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

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

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


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

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


APTEMKA   (2002-11-09 22:33:00) [2]

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


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

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


APTEMKA   (2002-11-01 01:35:00) [4]

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

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


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

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


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

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


APTEMKA   (2002-10-28 22:10:00) [7]

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


APTEMKA   (2002-10-28 02:34:00) [8]

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


Ketmar   (2002-10-23 10:40:00) [9]

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.


Наверх

Титульная страница Поиск, карта сайта Написать письмо