Добрый день!
Я программирую космический корабль. Ему можно задавать скорости по x, y, z. ( Его локальная система координат )
Т. е. он может летать налево-направо от себя, вперед-назад, вверх-вниз.
Когда его система координат совпадает с мировой - я просто задаю эти скорости и он двигается вверх вниз и т. д. все очень хорошо.
Но стоит мне его чуточку повернуть, по оси x, или y (повернуть его систему координат), то у него оси тоже смещаются и вот уже вместо того, чтобы лететь направо ( в мировых координатах ) он летит вниз и т. д.
Как я понял, можно решить задачу, научившись переводить вектора из одной системы координат в другую.
У корабля я могу получить матрицу переходов.
Вот это я нашел в википедии:
Цитата:
При умножении матрицы, обратной к матрице перехода, на столбец, составленный из коэффициентов разложения вектора по базису
, мы получаем тот же вектор, выраженный через базис
.
Я не очень четко представляю как это делается.