Повернуть 3D модель WPF c # - PullRequest
       3

Повернуть 3D модель WPF c #

0 голосов
/ 14 ноября 2018

Я пытаюсь повернуть объект в проекте WPF.У меня есть вопрос, есть ли функция, как в Unity, например: shape.transform.rotation = q.ToUnityQuaternion(); Где все, что вам нужно, это поместить вычисленный кватернион в функцию.Я рассчитал кватернион вращения, используя эту формулу: формула изображения и в моем коде это выглядит так:

    Quat qx = new Quat(Mathf.Cos(inputX / 2), 0, 0, Mathf.Sin(inputX / 2));
    //0,1,0
    Quat qy = new Quat(Mathf.Cos(inputY / 2), 0, Mathf.Sin(inputY / 2), 0);
    //1,0,0
    Quat qz = new Quat(Mathf.Cos(inputZ / 2), Mathf.Sin(inputZ / 2), 0, 0);


    q = Multiply(qx, q);
    q = Multiply(qy, q);
    q = Multiply(qz, q);

Функция умножения выглядит следующим образом:

    q.w = q1w * q2w - q1x * q2x - q1y * q2y - q1z * q2z;
    q.x = q1w * q2x + q1x * q2w + q1y * q2z - q1z * q2y;
    q.y = q1w * q2y + q1y * q2w - q1x * q2z + q1z * q2x;
    q.z = q1w * q2z + q1z * q2w + q1x * q2y - q1y * q2x;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...