JavaScript で加速度センサーの値を取ってみる
JavaScript で加速度センサーの値を取ってみる
motiondevice
のイベントで取れる加速度センサーの値を取ってみました。
サンプル
加速度センサーを持っているモバイル端末などでアクセスして下さい。通常のPC では 0 と表示されます。
iPhone4s で試した結果を以下に。
コード
motiondevice で取得できる accelerationIncludingGravity(生 ...
コード解説
X, Y, Z軸
それぞれ X, Y, Z 軸の値が取れるのですが、軸がどうなっているか調べてました。以下の図はW3C からの引用です。
X 軸は、デバイスに対しての水平方向、Y 軸は奥行き方向、Z 軸は高さ(垂直)方向のようです。
motiondevice
のイベントでは、加速度2種類 (accelerationIncludingGravity, accelaration)、回転速度(rotationRate) が取れるようです。
加速度
重力加速度を含んだ生の加速度と、それを除いた加速度があるようです。
単位は [m / s] です。
accelerationIncludingGravity
(生の加速度)
[引用] https://developer.mozilla.org/en-US/docs/Web/Events/devicemotion
accelerationIncludingGravity
は重力加速度を含んだ生の加速度で、加速度センサをもったデバイスであれば取得できる値のようです。
accelaration
(重力加速度を除いた加速度)
acceleration
は、ハード側で重力加速度部分を除いて計算して出力する値のようです。ハード側が重力加速度の計算を備えていないなら取得できないようです。
精度はわかりませんが、iPhone4s では取得できました。
回転速度
単位は [ degree / s ]のようです。
rotationRate
(回転速度)
alpha
はZ軸周りの回転、beta
はX軸周りの回転、gamma
はY軸周りの回転のようです。
参考リンク