dポイントプレゼントキャンペーン実施中!

javaでリサージュ図形を描きたいのですが、さっぱりソースがわかりません。x=sin(W1 * t) y=sin(w2 * t)で与えられて、w1,w2は自分でテキストフィールドで設定して、tは0から1000までfor文でまわそうと思ってます。

A 回答 (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いじってみるとおもしろいのでテキストボックス等で随時修正が加えられるようになるともっとおもしろそうですね^^
    • good
    • 0
この回答へのお礼

本当にありがとうございます。これから、w1、w2の修正できるようなプログラムを追加してみたいと思います。

お礼日時:2004/09/24 17:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!