Himo for GL

作者: 吉村 亮悟 
ry@jyoken.net 

1. 導入 -インストールとか-

 himogl.zipをフォルダに展開することでインストールできます。
 アンインストールする場合はフォルダごと削除してください。
 レジストリの操作はしていません。

 このソフトウェアはGPLライセンスです。ソースつきなので、ほしいところだけ持っていって好きなだけ改造してください。
 また、このソフトウェアを使用したことによる一切の責任を作者は負わないものとします。

2. 特徴 -どんなシミュレータやねん-

 Himo for GLは、ひもの動きをなんとなくシミュレートする物理シミュレータです。
 昔作ったHimo(未公開)をバージョンアップして、OpenGL[1]で表示するようにしました。

3. 操作法 -どうやって使うねん-

4. 技術情報 -中身どないなってんねん-

 以下、どうやって作ったかを好きなだけ説明します。

4.1. ひもの動き

4.2. マウス入力

 画面のマウス座標を3Dのワールド座標に変換します。現状では画面の並行移動をしていないので、回転中心は原点として計算できます。もちろん、平行移動しても基本的には同様の計算で実現できます。
 まず、マウス座標を「カメラから発生するレイ」とみなします。カメラ座標とワールド座標の幾何学的な関係から、レイのベクトルを回転したりしてワールド座標に変換します。
 マウス座標はもともと2次元なので、距離情報はなく、該当する3D上の座標は直線になります。要は、カメラからカーソルの直線がレーザー光線のように伸びている感じです。
   
 そこで、距離情報はマウスカーソルのレーザー光線が ひも に重なったときに、その座標をもとに計算します。
 また、ひもを動かすときは、ドラッグし始めたときの距離情報をできるだけ保存するように移動します。つまり、スクリーンの平面と平行な平面上を動きます。

5. 今後の課題 -これからどないなんねん-

6. 参考文献 -どっからコピペしてん-

[1] OpegGL - The Industry Standard for High Performance Graphics
http://www.opengl.org/


[2] 情報工学研究部
http://jyoken.net/


[3] Kaneko's Software Page
http://homepage1.nifty.com/kaneko/index.htm


吉村 亮悟
ry@jyoken.net