- ベストアンサー
リサージュ図形
javaでリサージュ図形を描きたいのですが、さっぱりソースがわかりません。x=sin(W1 * t) y=sin(w2 * t)で与えられて、w1,w2は自分でテキストフィールドで設定して、tは0から1000までfor文でまわそうと思ってます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
まあ、こんな感じでいかがかな^^ /* <applet code="Sample0001.class" width="400" height="400"></applet> */ import java.awt.*; import java.applet.Applet; public class Sample0001 extends Applet { Point pt1=new Point(0,0); int W1=2,W2=4; public void paint (Graphics g) { g.drawString("リサージュを描画する",10,60); for(int i=1;i<1000;i++){ pt1.x=(int)(Math.sin(W1 * i) * 100) ; pt1.y=(int)(Math.sin(W2 * i) * 100) ; g.drawLine(pt1.x + 200,-pt1.y+200,pt1.x + 200,-pt1.y+200); } } } pt1に対する*100は座標への拡大です。 -1<=SIN<=1ですので結果として -100<=pt1<=100になります。 最後のdrawLineで、xに200、yを符号を反転して(マイナスにして)200足しているのは座標原点の移動とY軸の反転を行っています。 W1,W2いじってみるとおもしろいのでテキストボックス等で随時修正が加えられるようになるともっとおもしろそうですね^^
お礼
本当にありがとうございます。これから、w1、w2の修正できるようなプログラムを追加してみたいと思います。