![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как прикрепить камеру к объекту [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.