Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > BlitzMax > 2D-программирование

Ответ
 
Опции темы
Старый 03.10.2011, 19:50   #1
xmarat
Нуждающийся
 
Регистрация: 11.07.2011
Сообщений: 64
Написано 2 полезных сообщений
(для 2 пользователей)
Движение по прямой

Есть объект со свойствами x, y. Как можно реализовать ему движение из точки A в точку B по прямой? Заранее благодарен...
__________________
OS: Ubuntu Linux 11.04
CPU: Intel® Core™ 2 Quad Q9000 (2.0GHz, 1066MHz, 6Mb)
RAM: DDR2 SODIMM 4096 Мб
Video: NVIDIA® GeForce® GT240M 1024 Мб
(Offline)
 
Ответить с цитированием
Старый 03.10.2011, 20:02   #2
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Движение по прямой

Перемещать объект по х и у со скоростями пропорциональными разнице соответствующих координат начальной и конечной точек маршрута.
__________________
(Offline)
 
Ответить с цитированием
Старый 03.10.2011, 20:19   #3
xmarat
Нуждающийся
 
Регистрация: 11.07.2011
Сообщений: 64
Написано 2 полезных сообщений
(для 2 пользователей)
Ответ: Движение по прямой

Может формула какая нибудь есть для расчета скоростей?
__________________
OS: Ubuntu Linux 11.04
CPU: Intel® Core™ 2 Quad Q9000 (2.0GHz, 1066MHz, 6Mb)
RAM: DDR2 SODIMM 4096 Мб
Video: NVIDIA® GeForce® GT240M 1024 Мб
(Offline)
 
Ответить с цитированием
Старый 03.10.2011, 20:42   #4
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Движение по прямой

скорость=расстояние/время
расстояние=корень из суммы квадратов разностей координат (т. Пифагора).
проекция скоростей = скорость * функцию(угол_наклона_траектории)
функция зависит от способа задания угла, классический вариант: для X - cos, для Y - sin
D=sqr( (x2-x1)^2+(y2-y1)^2)
V=D/T
Vx=V*cos(ang)
Vy=V*sin(ang)

а можно сразу считать в проекциях, тогда последняя строка не нужна, а рассятония - модуль разности между координатами.
Vx=abs(x2-x1)/T
Vy=abs(y2-y1)/T
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
moka (03.10.2011), Randomize (03.10.2011), xmarat (04.10.2011)
Старый 04.10.2011, 22:14   #5
xmarat
Нуждающийся
 
Регистрация: 11.07.2011
Сообщений: 64
Написано 2 полезных сообщений
(для 2 пользователей)
Ответ: Движение по прямой

Спасибо. Это то что нужно!
__________________
OS: Ubuntu Linux 11.04
CPU: Intel® Core™ 2 Quad Q9000 (2.0GHz, 1066MHz, 6Mb)
RAM: DDR2 SODIMM 4096 Мб
Video: NVIDIA® GeForce® GT240M 1024 Мб
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 15:04.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com