Показать сообщение отдельно
Старый 26.04.2009, 10:58   #10
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Кротчайшее направление плавного разворота!

Вот функция, плавно смешивает два угла, с учётом цикличности.
Function MergeAngles#(Angle1#,Angle2#,Morph#=.5)
   If Abs(Angle1-Angle2)>180
      If Angle1<Angle2
         Return Angle1-((360-Angle2)+Angle1)*(.5-(Morph-.5))
      Else
         Return Angle2-((360-Angle1)+Angle2)*(.5+(Morph-.5))
      EndIf
   Else
      Return Angle1*(Morph)+Angle2*(1.0-Morph)
   EndIf
End Function
Плавность не постоянная, и чем выше разница углов, тем выше скорость смещения к новому данному. Можно сделать и постоянную, либо любую другую модель смазывания, главное суть функции.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ELIAS (26.04.2009)