Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.02.2014, 00:11
yava вне форума Посмотреть профиль Отправить личное сообщение для yava Найти все сообщения от yava
  № 1  
Ответить с цитированием
yava

Регистрация: Jul 2007
Сообщений: 89
По умолчанию Определить направление движения относительно центра

Привет,
простой вроде вопрос, но никак не выходит...

есть система 2D координат и точка вращается относительно центра.
Есть (x1,y1) - начальное положение и (x2,y2) - конечное положение.
Как определить направление движение было по часовой или против часовой стрелки относительно центра (0,0)?
Какая формула тут сработает?

П.С. все вроде просто но все мои варианты работают плохо в реальном flash-е.

Старый 12.02.2014, 00:28
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 2  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
угол уменьшился против часовой, увеличился по часовой

Добавлено через 19 минут
правда пограничное значение смущает.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 12.02.2014, 01:06
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 3  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Можно попробовать использовать векторное произведение и его знак:
Цитата:
Векторным произведением A×B двух векторов A = (Ax, Ay) и B = (Bx, By) назовем число (!), равное Ax×By − Bx×Ay.

Если сопоставить данное нами определение векторного произведения с тем, которое дается в курсах аналитической геометрии (наше произведение оказывается z-координатой «стандартного»), то ответ на поставленный вопрос очевиден: если A×B > 0, то A надо поворачивать против часовой стрелки, если A×B < 0, то A надо поворачивать по часовой стрелке, если A×B = 0, то векторы либо сонаправлены, либо направлены в противоположные стороны.
Ну, т.е для двух соседних положений вычислять векторное произведение и смотреть на знак, только порядок множителей в произведении соблюдать. Можно также привлечь для проверок базисные вектора (вдоль координатных осей).
В контексте вопроса Ax,Ay - это x1,y1, Bx,By - x2,y2 соответственно.

Старый 12.02.2014, 02:32
yava вне форума Посмотреть профиль Отправить личное сообщение для yava Найти все сообщения от yava
  № 4  
Ответить с цитированием
yava

Регистрация: Jul 2007
Сообщений: 89
СПАСИБО!

Создать новую тему Ответ Часовой пояс GMT +4, время: 15:59.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.