PMG

Форумы по созданию игр
Текущее время: 28 мар 2024 16:25

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Вопрос по уроку 10
СообщениеДобавлено: 30 сен 2008 03:22 
Не в сети
Любитель

Зарегистрирован: 19 сен 2008 14:48
Сообщения: 44
Я не понимаю как НеХе вывел формулу для перемещения в пространстве в зависимости от угла взгляда? В частности откуда он взял константу piover180 = 0.0174532925f. Что такое piover180? Ну а sin(), cos() то понятно- для определения координат по X,Z. Но почему именно sin(heading*piover180)? Как разобраться, что бы самому писать подобный код?
Код:
if (keys[VK_UP])
{
   xpos -= (float)sin(heading*piover180) * 0.009;
   zpos -= (float)cos(heading*piover180) * 0.009;
      if (walkbiasangle >= 359.0f)
      {
      walkbiasangle = 0.0f;
      }
      else
      {
      walkbiasangle+= 0.5;
      }
      walkbias = (float)sin(walkbiasangle * piover180)/20.0f;
}

НеХе конечно хвастал, что он "шизеет от математики", я б тоже так хотел уметь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по уроку 10
СообщениеДобавлено: 30 сен 2008 08:59 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Это урок написал Lionel Brits. В уроке сказано "Piover180 это просто коэффициент преобразования для перевода градусов в радианы."

Перевод градусов в радианы
Зная, что углу 360 градусов соответствует угол 2 * пи:
Ar = Ad * пи / 180
Где Ad — угол в градусах, Ar — угол в радианах.

Т.е. Piover180=пи / 180.

sin и cos - это вычисление точки на окружности.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по уроку 10
СообщениеДобавлено: 30 сен 2008 17:54 
Не в сети
Любитель

Зарегистрирован: 19 сен 2008 14:48
Сообщения: 44
Да, наворочено, надо изучать математику. MagicWolf не подскажешь, что почитать, что бы разбираться в этом. За какой класс школы- у меня есть учебники (геометрия 6-10 класс, математика).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по уроку 10
СообщениеДобавлено: 01 окт 2008 10:55 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Лучше почитай - "Интерактивная компьютерная графика. Вводный курс на базе OpenGL, 2-е изд" (есть ebook).

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по уроку 10
СообщениеДобавлено: 04 ноя 2008 23:02 
Не в сети
Новичок

Зарегистрирован: 22 окт 2008 22:31
Сообщения: 7
В этом уроке так понял двигается мир ф-ями glTranslatef и glRotatef. И есть тааяя строчка перемещать камеру и перерисовывать 3D среду относительно её положения. Это медленно выполняется и тяжело запрограммировать
Это он про что??? Если двигать gluLookAt то совсем не сложно. Или он имел ввиду что-то другое.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по уроку 10
СообщениеДобавлено: 06 ноя 2008 11:25 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Ну может когда это он писал и было ему тяжело.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по уроку 10
СообщениеДобавлено: 08 апр 2011 21:30 
Не в сети
Новичок

Зарегистрирован: 08 апр 2011 20:01
Сообщения: 2
Доброго времени суток. Нужна помощь форумчан по данному уроку. Я только начал изучение OpenGL. Прошу у вас помощи в следующем: мне нужно изменить данный урок так чтобы при движении камера не выходила за рамки комнаты. т.е. дойдя до стены она не проходила через нее. а оставалась в пределах комнаты. Помогите пожалуйста. Буду очень благодарен.

Примерно я представил это так но не реализовать не получилось:
Есть координаты камеры. При нажатии кнопки движения камеры, увеличивается одна из координат на величину шага. В этот момент нужно проверить - выходят координаты камеры за пределы комнаты или нет, и сделать соответствующий вывод: можно сделать этот шаг или нет. но незнаю как реализовать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по уроку 10
СообщениеДобавлено: 08 апр 2011 22:20 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Это определение столкновений. Можно почитать 30 урок.
Так же есть такой разбор в книге Микроарт, Хонич, Как самому создать трехмерную игру, 1996.djvu.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по уроку 10
СообщениеДобавлено: 08 апр 2011 23:30 
Не в сети
Новичок

Зарегистрирован: 08 апр 2011 20:01
Сообщения: 2
Да я так и думал просмотрел 30 урок. но так и не смог реализовать. Поэтому и прошу помощи.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по уроку 10
СообщениеДобавлено: 10 апр 2011 10:47 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Попробуй найти Хонича и там почитать. Но там только 2D случай. Можно еще воспользоваться готовой либой.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по уроку 10
СообщениеДобавлено: 11 апр 2011 13:16 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
У Хонича надо смотреть CheckWay_Run с 163 стр. Если эта функция будет понятна, я думаю и случай 3D будет уже проще. Если не нашел Хонича могу выложить куда-то.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по уроку 10
СообщениеДобавлено: 11 апр 2011 13:20 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Можно посмотреть в Game Institute - Graphics_Programming_with_DirectX_9__module_II.pdf Lesson 8,9

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по уроку 10
СообщениеДобавлено: 11 апр 2011 13:26 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
В 30 уроке нужно разобраться только с функцией TestIntersionPlane.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB