Поворот системы координат на угол
Автор Дмитрий Автонов задал вопрос в разделе Наука, Техника, Языки
Поворот осей и получил лучший ответ
Ответ от Вячеслав Галкин[гуру]
X` = x*cosA + y*sinA
Y` = x*sinA + y*cosA
Ответ от Ёергей Фетисов[гуру]
Вообще, такие вещи всё же удобно считать не в виде формул, а в виде матриц. Которые называются матрицы поворота на углы Эйлера (поворот вокруг осей) . Формулы очень не сложно вывести при помощи перевода одной системы координат в другую (см. афинные приобразования, векторная алгебра) . Вот формулы поворота: Вокруг оси OX: Result.Y = Pt.Y*Cos(Angle)-Pt.Z*Sin(Angle); Result.Z = Pt.Y*Sin(Angle)+Pt.Z*Cos(Angle); X - не меняется Вокруг оси OY: Result.X:=Pt.X*Cos(Angle)+Pt.Z*Sin(Angle); Result.Z:=Pt.Z*Cos(Angle)-Pt.X*Sin(Angle); Y - не меняется Вокруг оси OZ: Result.X:=Pt.X*Cos(Angle)-Pt.Y*Sin(Angle); Result.Y:=Pt.X*Sin(Angle)+Pt.Y*Cos(Angle); Z - не меняется Эти повороты соответствуют положительному направлению поворорота правой тройке векторов базиса. Ещё тебе может пригодиться когда-нибудь кватернионы. Это упрощённая матрица поворота. Для неё удобны простые действия над углами. Если что - пиши.
Вообще, такие вещи всё же удобно считать не в виде формул, а в виде матриц. Которые называются матрицы поворота на углы Эйлера (поворот вокруг осей) . Формулы очень не сложно вывести при помощи перевода одной системы координат в другую (см. афинные приобразования, векторная алгебра) . Вот формулы поворота: Вокруг оси OX: Result.Y = Pt.Y*Cos(Angle)-Pt.Z*Sin(Angle); Result.Z = Pt.Y*Sin(Angle)+Pt.Z*Cos(Angle); X - не меняется Вокруг оси OY: Result.X:=Pt.X*Cos(Angle)+Pt.Z*Sin(Angle); Result.Z:=Pt.Z*Cos(Angle)-Pt.X*Sin(Angle); Y - не меняется Вокруг оси OZ: Result.X:=Pt.X*Cos(Angle)-Pt.Y*Sin(Angle); Result.Y:=Pt.X*Sin(Angle)+Pt.Y*Cos(Angle); Z - не меняется Эти повороты соответствуют положительному направлению поворорота правой тройке векторов базиса. Ещё тебе может пригодиться когда-нибудь кватернионы. Это упрощённая матрица поворота. Для неё удобны простые действия над углами. Если что - пиши.
Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Поворот осей