SceneKit складывает 2 угла Эйлера вместеIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 SceneKit складывает 2 угла Эйлера вместе

Сообщение Anonymous »

Мне нужно сложить 2 угла Эйлера.
Я преобразовал углы Эйлера в матрицу вращения, а затем умножил их вместе.
Однако, в конце концов, чтобы получить окончательные углы Эйлера из матрицы вращения, мне пришлось положиться на фиктивный SCNNode, который кажется немного хакерским.
У меня есть этот код:

Код: Выделить всё

import SceneKit
import Spatial

// A helper function
func eulerToRotation(eulerAngles: SCNVector3) -> SCNVector4 {
let rotation = Rotation3D(eulerAngles: .init(angles: [eulerAngles.x, eulerAngles.y, eulerAngles.z], order: .xyz))
return SCNVector4(
simd_double4(rotation.axis.vector, rotation.angle.radians)
)}

func addEulerAngles(e1: SCNVector3, e2: SCNVector3) -> SCNVector3 {
let r1 = eulerToRotation(eulerAngles: e1), r2 = eulerToRotation(eulerAngles: e2)
let m1 = SCNMatrix4MakeRotation(r1.w, r1.x, r1.y, r1.z), m2 = SCNMatrix4MakeRotation(r2.w, r2.x, r2.y, r2.z)
let m = SCNMatrix4Mult(m1, m2)

// Hacky here
let node = SCNNode()
node.transform = m
return node.eulerAngles
}

Есть ли лучший способ добавить два угла Эйлера без использования этого фиктивного SCNNode?

Подробнее здесь: https://stackoverflow.com/questions/793 ... s-together
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • SceneKit складывает 2 угла Эйлера вместе
    Anonymous » » в форуме IOS
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • SceneKit складывает 2 угла Эйлера вместе
    Anonymous » » в форуме IOS
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • SceneKit складывает 2 угла Эйлера вместе
    Anonymous » » в форуме IOS
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • SceneKit складывает 2 угла Эйлера вместе
    Anonymous » » в форуме IOS
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Как преобразовать углы вращения и углы Эйлера в SceneKit
    Anonymous » » в форуме IOS
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous

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