Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.04.2010, 01:33
Интересующийся
Отправить личное сообщение для Sub-zerro Посмотреть профиль Найти все сообщения от Sub-zerro
 
Регистрация: 25.03.2010
Сообщений: 25

Движение по прямой
Подскажите, пожалуйсто, как сделать движение по прямой, если есть две точки начало и конец, с координатами (x1,y1) и (x2,y2).
Я делал так: 1вариант - k=(x1-x2)/(y1-y2) - то есть отношение сторон, дальше k раз x++, после 1 раз y++, или наоборот, но это только в том случае если k целое.
2вариант - вычислял уравнение прямой, пришлось вспомнить алгебру, получалось чтото типа y=kx+b, целые числа тоже не получались, но с огруглениями до целых более или менее работало, далее x++ и считался y. Главная проблема вот в чем что при таком варианте количество вычесленных точек на прямой под углом и на горизонтальной прямой получается одиноковым, и объект двигается одиноково, а под углом объект должен двигаться медленнее, тоже не получается.
Подскажите может быть есть какойто удобный способ, спасибо.

Последний раз редактировалось Sub-zerro, 14.04.2010 в 01:36.
Ответить с цитированием
  #2 (permalink)  
Старый 14.04.2010, 01:52
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

используйте параметрическое задание прямой, и будет вам счастье
Ответить с цитированием
  #3 (permalink)  
Старый 14.04.2010, 06:39
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от Sub-zerro
а под углом объект должен двигаться медленнее, тоже не получается.
Сделайте, например, sin(fi/2) + 1/sqrt(2) (здесь рассмотрена только первая четверть) коэффициентом торможения анимации. Т.е. умножать его на задержку кадра. По горизонтальной прямой будем двигаться с задержкой time/sqrt(2), а по вертикальной - time*sqrt(2).
Где fi - угол наклона прямой (от 0 до pi/2)
time - задержка следующего кадра.
Ответить с цитированием
  #4 (permalink)  
Старый 14.04.2010, 13:53
Интересующийся
Отправить личное сообщение для Sub-zerro Посмотреть профиль Найти все сообщения от Sub-zerro
 
Регистрация: 25.03.2010
Сообщений: 25

Gvozd, B@rmaley.e><e, спасибо, попробую
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Движение объектов. SergeiAzarov Общие вопросы Javascript 14 18.04.2010 17:12
движение объекта lammeR Общие вопросы Javascript 5 08.03.2010 01:04
анимация движения объекта по прямой YISHIMITSY Элементы интерфейса 6 04.03.2010 15:47
Движение скроллинга окна по направлению миши bobus123 Events/DOM/Window 0 02.09.2009 15:17
Движение обЪекта Rusel6 Элементы интерфейса 2 14.08.2009 14:49