Показать сообщение отдельно
Старый 22.06.2012, 14:52   #158
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Nex, вроде как FireOwl и Diablo1909 норм написали. Я своими словами допишу. У тебя есть корабль, у корабля есть центр, относительно которого он вращается при повороте. Тебе нужно определить dx dy смещения от центра вращения корабля до двигателей в неповёрнутом положении корабля. Зная их, сможешь найти угол наклона гипотенузы, эта гипотенуза и есть радиус вращения, её тоже найдёшь через дх ду. Получишь набор начальных углов и радиусов - от центра вращения корабля до двигателей. Далее при вращении корабля на такой же угол изменяешь значения начальных углов двигателей. Через углы и радиусы находишь смещения дх и ду - это локальные координаты двигателей относительно центра корабля. Потом при отрисовке прибавляешь к ним координаты центра корабля и получаешь глобальные обычные координаты рисования.
(Offline)
 
Ответить с цитированием