Вопрос по кватернионам

Статус
В этой теме нельзя размещать новые ответы.

Ulong

Диванный критик
Автор темы
Проверенный
63
362
Версия MoonLoader
Другое
ку всем, как можно установить нужный поворот персонажу через кватернион зная только угол на который его нужно повернуть?

допустим у нас есть рассчитанный поворот на 267.1 градус, как это значение можно преобразовать в значения для кватерниона?
помогите лучшие умы МГУ. Меня очень сильно пугают синусы, косинусы, тангенсы, арктангесы, круги Эйлера и прочие непонятные слова 😥😥😥😥
 
  • Нравится
Реакции: Yuriy Code
Решение
Привет, вот образец кода из дамагера от @MrCreepTon.
Пробуй.
angle - в данном случае угол, на который повернуть хочешь.
Lua:
                local b = 0 * math.pi / 360.0
                local h = 0 * math.pi / 360.0
                local angle = getHeadingFromVector2d(x - mx, y - my)
                local a = angle * math.pi / 360.0

                local c1, c2, c3 = math.cos(h), math.cos(a), math.cos(b)
                local s1, s2, s3 = math.sin(h), math.sin(a), math.sin(b)
              
                data.quaternion[0] = c1 * c2 * c3 - s1 * s2 * s3
                data.quaternion[3] = -( c1 * s2 * c3 - s1 * c2 * s3 )

Yuriy Code

Известный
753
928
Привет, вот образец кода из дамагера от @MrCreepTon.
Пробуй.
angle - в данном случае угол, на который повернуть хочешь.
Lua:
                local b = 0 * math.pi / 360.0
                local h = 0 * math.pi / 360.0
                local angle = getHeadingFromVector2d(x - mx, y - my)
                local a = angle * math.pi / 360.0

                local c1, c2, c3 = math.cos(h), math.cos(a), math.cos(b)
                local s1, s2, s3 = math.sin(h), math.sin(a), math.sin(b)
              
                data.quaternion[0] = c1 * c2 * c3 - s1 * s2 * s3
                data.quaternion[3] = -( c1 * s2 * c3 - s1 * c2 * s3 )
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.