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

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

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

Регистрация: Jan 2014
Сообщений: 6
По умолчанию Тригонометрия. Ошибка в условии изменения дельты угла в радиальной системе координат.

Добрый день!

Проблема в следующем:

В прикрепленном ролике подвижный корабль (ship) летит к синему указателю цели (pointer), который перемещается вокруг неподвижного корабля (target).
Мне нужно, чтобы при значении угла α < 90 градусов (т.е. Math.PI/2) синий указатель менял направление перемещения на противоположное.
Угол α на картинке обозначен.

Вот код функции ответственной за перемещение указателя:

Код AS3:
function MovePointer(ship:Object, targ:Object, point:Object, R:Number, DAngle:Number):Number
{
	var angle = Math.atan2(point.y - targ.y, point.x - targ.x);
 
	if ( Math.abs( Math.PI-( angle - (Math.PI+Math.atan2(ship.y - targ.y, ship.x - targ.x)) ) ) < Math.PI/2 )
	{
		DAngle=-DAngle;
	}
 
	angle += DAngle;
 
 
	point.x = targ.x + R * Math.cos(angle);
	point.y = targ.y + R * Math.sin(angle);
 
	return DAngle;
}
Название: Тригонометрия.png
Просмотров: 473

Размер: 7.9 Кб

StarControl.rar

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

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

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


 


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


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