立方体を自由回転させる

立方体を自由回転させる

前に立方体を3D表示して、マウスドラッグでグリグリ回すというのを作りました。
加えて表と裏を表現するように改良もしました。
これをそのまま利用して、マウスでグリグリ回すのに加えて、自動で勝手に回るように改良したいと思います。

 現状は、立方体をグリグリ回すために、GFrame.javaの中で、マウスの動きの差を角度の変化にしています。この角度の変化を自動で勝手に作って同じように描画処理すれば回転表示できます。
そこで、スレッドという割り込み処理を加えます。
mainのなかに、gframe.Stat();という処理を加えて、GFrame.javaに飛ばします。
GFrame.javaでは、


		public void Stat() {
			changeThread Chg=new changeThread();
			Chg.setGcan(GCan);
			ChgT=new Thread(Chg);
			ChgT.start();
		}

というメソッドを追加しています。
これで、changeThreadというファイルに割り込みが発生し、run()というメソッドが呼ばれます。
ファイルchangeThread.javaのなかにrun()メソッドがあり、while()文で無限ループとなっています。この無限ループ内で、回転角度を作ってその都度変化させ、GCan.repaintで、 DrawGraphiのなかのDraw()メソッドで立方体を表示させています。



 実行すると右図のようになります。
勝手に回転しますし、マウスグリグリもできます。





今回のプログラム一式を添付しておきましょう。
スマートじゃないし、素人丸出しですけどね。