Преобразование локальных координат в глобальные или наоборот
При написании своей игры, столкнулся с одной задачкой которую не могу решить.
Нам известно координаты 2-ух точек и углы наклона машинки:
1 точка - турель установленная на машине и состоящая из 2-ох сегментов, один крутится только по оси Y, а второй только по оси Z.
(Сегмент орудия что крутится по оси Z крепится к сегменту башенке что крутится по оси Y, башня крепится к машине)
2 точка - точка на которую наводится турель.
Мне нужно как то определить угол на который нужно повернуть все сегменты турели так чтобы не нарушать заданных правил.
У меня была мысли развернуть систему координат так чтобы ось X проходила через первую и вторую точку, тогда легко вычислить углы, но я не знаю как преобразовать координаты из локальной системы в глобальную и наоборот. Уже много всего прогуглил, ничего толкового не нашло.
Видел правда что это вроде как то через матрицы делается, но так и не разобрался как.
Если есть другие предложения как это можно сделать или вы знаете ответ на мой вопрос, пожалуйста помогите! Заранее спасибо!
|