加速度計の動きを適切な値に変換して、SceneKitオブジェクトを回転させる必要があります。ラジアンに生X、Y、Z値を変換するための私のコードは次のとおり加速度を3D回転で変換する
let theta : Float = atan2(x, sqrtf(powf(y, 2)+powf(z, 2)))
let psi : Float = atan2(y, sqrtf(powf(x, 2)+powf(z, 2)))
let phi : Float = atan2(sqrtf(powf(x, 2)+powf(y, 2)), z)
私は、オブジェクトを回転させるために360度の角度にこれを変換するために苦しみました。
助けが必要ですか?
あなたはX、Y、Zのオイラー角を直接使用することができますSceneKitで
を? 360度の角度が必要な場合は、何を周りにしたいですか?現実世界では、3Dで360度から180度までです。 –
こんにちは、私の数学と物理学は非常に古いので、私の説明はちょっとだけかもしれません。私は、X軸とY軸に加速度計の位置(BLEで受け取ったデータ)に相対的に回転させたいSceneKitオブジェクトを持っています。 Scenekitオブジェクトの中心質量に比例します。だから、私はxとyに360度の完全な角度が必要だと仮定します。 – user5308141