Я пытаюсь повернуть вектор (0,0,-1) вокруг оси (Y) (0,1,0) на определенные градусы (90°), используя библиотеку System.Numerics из .NET
Моя проблема в том, что я получаю неправильный вывод и не понимаю проблемы.
Вывод кода:
Исходный вектор:
повернутый вектор:
Если я поверну вектор (0,0,-1) вокруг (0,1,0) с помощью При повороте на 990 градусов результат должен быть (-1,0,0)
using System.Numerics;
class Program
{
static void Main()
{
Vector3 vector = new Vector3(0,0,-1);
Vector3 rotateAxis = new Vector3(0,1,0);
float angle = 90;
//Create Radians
float radians = (float)(angle *Math.PI/180);
Quaternion rotation = Quaternion.CreateFromAxisAngle(rotateAxis, radians);
// Rotate Vector
Vector3 rotatedVector = Vector3.Transform(vector,rotation);
Console.WriteLine($"Original vector: {vector}");
Console.WriteLine($"rotated vector: {rotatedVector}");
}
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... nd-degrees
Вращение 3D-вектора вокруг оси и градусов ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Почему вращение оттенка на +180 градусов и -180 градусов не дает исходного цвета?
Anonymous » » в форуме CSS - 0 Ответы
- 25 Просмотры
-
Последнее сообщение Anonymous
-