http://qiita.com/7of9/items/b8a31f470555fb845cb5
で取得した傾斜計のQuaternion値を理解するため、図示してみた。
- ほぼ水平の時
quat 0.92 0.01 0.01 -0.40
- X軸を持ち上げた時
quat 0.91 0.04 0.17 -0.37
- Y軸正方向を上げた時
quat 0.85 -0.19 0.12 -0.47
- Y軸負方向を上げた時
quat 0.91 0.25 -0.08 -0.32
参考 http://threejs.org/docs/#Reference/Math/Quaternion
参考 http://qiita.com/edo_m18/items/ba2d58f7a0dda4bd8827#2-3
- 赤: ほぼ水平
- 緑: X軸を持ち上げた時
- 青: Y軸正方向を上げた時
- 灰: Y軸負方向を上げた時
どうも思った方向に向いていない気がする。
基準となるベクトルの向き(0,0,2)が間違いなのか。座標の定義がY,Z反対なのか。
これ以外もためしたが、思い描いたような結果は得られていない。
x,y,z,wの値
cubic9さんのUnityコードを見ていると以下のように値を取っている。
if (values[0] == "quat") {
x = float.Parse(values[2]);
y = -float.Parse(values[4]);
z = float.Parse(values[3]);
w = float.Parse(values[1]);
_handQuaternion.Set(x, y, z, w);
}
スケッチからは(w,x,y,z)と出力しているようにあるが、上記ではそれを(w,x,z,-y)と読取っている。