Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> OpenGL - Вращение объектов, glrotatef 
:(
    Опции темы
Yura_Matsuk
Дата 10.11.2004, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 16.5.2004

Репутация: нет
Всего: нет



Такая проблема. В OpenGL объект двигается не туда, куда повернут. И вообще, я не нашел никакой связи между тем, куда он повернут и куда двигается. А поворачивается он ровненько вокруг своей оси Z.

Обработка клавишь:

Код

if keys[VK_Up] then with mycub do
begin
worldx:=worldx+cos(Angz)*0.05;
worldy:=worldy+sin(Angz)*0.05;
end;
if keys[VK_Left] then with mycub do angz:=angz+0.5;
if keys[VK_Right] then with mycub do angz:=angz-0.5;


Рисование:

Код


var i:longint;
begin
glloadidentity;
gltranslatef(worldx,worldy,worldz);
glrotatef(angz,0.0,0.0,1.0);
for i:=0 to length(faces)-1 do with faces[i] do
begin
 glbegin(GL_QUADS);
  with pts[0] do glvertex3f(x,y,z);
  with pts[1] do glvertex3f(x,y,z);
  with pts[2] do glvertex3f(x,y,z);
  with pts[3] do glvertex3f(x,y,z);
 glend;
end;
end;

--------------------
Смех смехом, а ОНА кверху мехом...
PM MAIL   Вверх
p0s0l
Дата 10.11.2004, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 16
Всего: 112



Цитата
И вообще, я не нашел никакой связи между тем, куда он повернут и куда двигается.
smile

sin и cos используют радианы
glRotate - градусы...

Сделай так:
Код

const
 d2r = pi/180; // перевод градусы -> радианы
 r2d = 180/pi; // радианы -> градусы

....

if keys[VK_Up] then with mycub do
begin
worldx:=worldx+cos(Angz*d2r)*0.05;
worldy:=worldy+sin(Angz*d2r)*0.05;
end;

...



--------------------
С уважением, г-н Посол.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0437 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.