Вращение 3D-вектора вокруг оси и градусовC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Вращение 3D-вектора вокруг оси и градусов

Сообщение Anonymous »

Я пытаюсь повернуть вектор (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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»