|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.04.2009, 23:08 | #1 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
Движение объекта по точкам(OpenGl).Подскажите.
Всем привет. У меня возникла проблема, может кто то подскажет:
рисую, например, квадрат при помощи OpenGL и мене необходимо по заданным точка(вводятся пользователем, допустим 5 точек) прорисовать движение квадрата по этим точка. Вопрос, как это сделать? Вот сделал я движение квадрата, но здесь я просто увеличиваю координаты X и Y одной точки. Подскажите пожалуйста как реализовать движение,например, по 5 точкам или если не тяжело скажите что мене надо исправить в своем коде. P.S. OpenGL начал учить недавно. Так что не ругайтесь если че не так. Код:
Будь проще и люди к тебе потянутся
|
09.04.2009, 22:20 | #2 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
Народ, ну может подскажите.
Будь проще и люди к тебе потянутся
|
09.04.2009, 22:57 | #3 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
Вам даны точки, следовательно, вы можете передвигать квадрат по отрезку, их соединяющему. Делаете вектор и по чему-то вроде таймера берёте подходящее по длине значение. Потом glTranslatef(X,Y,Z) вашего нового положения перемещает объект. Что конкретно не выходит?
Изобретатель велосипедов
|
09.04.2009, 23:36 | #4 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
Конкретно не получается следующее :
ввожу я координаты X и Y для каждой точки (Z=0), как мене по очереди передать эти координаты в glTranslatef(X,Y,Z). Если пишу подряд Код:
Будь проще и люди к тебе потянутся
|
09.04.2009, 23:44 | #5 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
Каждый вызов glTranslatef домножает текущую матрицу на новую, => рисуете вы там, куда попали после всех преобразований. Последний пост(код) по очереди передвигает объект на все вектора Xn,Yn, не рисуя после каждого раза.
Задайте точки, потом при каждом OnTimer проверяйте текущее положение куба на близость к следующей и при малой дистанции подставляйте след. точку. Код:
Изобретатель велосипедов
Последний раз редактировалось Selestis; 09.04.2009 в 23:47. |
09.04.2009, 23:55 | #6 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
Может я вас не правильно понял, но я просто хочу ввести координаты 5 точек и передвинуть по ним квадрат. Только я не знаю как правильно и сколько раз вызвать glTranslatef(X,Y,0); чтобы квадрат передвинулся по этим 5 точкам. Вот в чем проблема. Он у меня только на одну точку передвигается.
P.S.А нету какого то попроще способа переместить этот квадрат по 5 точкам???
Будь проще и люди к тебе потянутся
|
09.04.2009, 23:57 | #7 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
Что вы подразумеваете под "ввести координаты 5 точек и передвинуть по ним квадрат"? Фраза не совсем однозначная, согласитесь. Поточнее опишите необходимый процесс и тогда я скорее всего смогу помочь
Изобретатель велосипедов
|
10.04.2009, 00:06 | #8 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
Вот смотрите. Ввожу я координаты пяти точек: Point1(X1,Y1) ; Point2(X2,Y2) ; Point3(X3,Y3) ; Point4(X4,Y4) ; Point5(X5,Y5), то есть я ввожу X1,Y1 и так аж до X5,Y5. И мене необходимо прорисовать движение квадрата по этим пяти точкам. Вот, как это все сделать?
Но, когда я для движения пишу код Код:
Если вам не тяжело, напишите код самого этого движения квадрата по этим пяти точка.
Будь проще и люди к тебе потянутся
|
10.04.2009, 00:16 | #9 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
Код:
Изобретатель велосипедов
|
10.04.2009, 01:01 | #10 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
Чето Делфи ругается на обработчик события таймера, мол не знает он что такое Distance, EPSILON, VectorAdd, VectorSubtract.
В чем может быть проблема? З.Ы. Модуль OpenGL в Uses подключен.
Будь проще и люди к тебе потянутся
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
С помощью методов и свойств объекта осуществляется управление терминалом. Имя (идентификатор) объекта | User>lia | Общие вопросы Delphi | 4 | 16.01.2009 16:37 |
Движение объекта на форме по щелчку мыши | Dux | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 1 | 08.12.2008 06:35 |
Движение объекта по синусоиде? | Roberto | Помощь студентам | 10 | 14.05.2008 17:00 |
Движение объекта по кругу | Roberto | Помощь студентам | 2 | 06.05.2008 15:44 |
Движение объекта к точке | frai | Общие вопросы Delphi | 3 | 10.01.2008 00:42 |