2017年6月5日月曜日

three.js

javascriptにもさまざまな、ライブラリがある。
three.jsは、3D表示に特化したライブラリ。
サンプルプログラムに、地球を表示するものがあった。
地球の自転軸は23.4°ほど、公転面の垂直方向に対して傾いているが
このように、回転軸を傾けて動かす方法がなかなかわからなかった。

var axis = new THREE.Vector3(0.3,0.7,0);で、傾いた回転軸のベクトルaxisを決め
group.rotateOnAxis (axis, Math.PI/100); で球体を回転させる
という手順でうまくいった。
ただ、北極、南極を軸にして回転させるまでにはいかなかった。そのためには、もう少し工夫が必要なようだ。

https://rasp.cld9.work/py/earth

※若干、バグがあり、修正2017/6/17
var axis = new THREE.Vector3(0.397,0.918,0);
としました。このベクトルは単位ベクトルにする必要ありました。
そうしないと、回転している間に形がゆがむようでした。


0 件のコメント:

コメントを投稿