★★ Java の宿題ここで答えます Part 63 ★★at TECH
★★ Java の宿題ここで答えます Part 63 ★★ - 暇つぶし2ch352:デフォルトの名無しさん
07/10/23 16:13:49
>>351のプログラムです
/*<applet code="S1curve.class" width="300" heigth="200"> </applet>*/
import java.applet.Applet;
import java.awt.*;
public class S1curve extends Applet{
double r0,r1,r2,x1,y1,x2,y2,delta;
double sinji,cosji,sind,cosd;
int N=100,X0,Y0,i=2,j=3; double Pi=Math.PI;
public void init(){
r0=80.; X0=150; Y0=100;
delta=2.*Pi/N;
sinji=Math.sin(j*delta/i);
cosji=Math.cos(j*delta/i);
sind =Math.sin(delta);
cosd =Math.cos(delta);
r1=r0*Math.sin(j*delta/i/10.);//r1=0を避ける
x1=r1*Math.cos(delta/10.);
y1=r1*Math.sin(delta/10.);
}
public void paint(Graphics g){
g.drawString("i="+i+", j="+j,20,20);
for(int k=0;k<N*i;k++){
r2=r1*cosji+Math.sqrt(r0*r0-r1)*sinji;
x2=(x1*cosd-y1*sind)*r2/r1;
y2=(x1*cosd-y1*sind)*r2/r1;
g.drawLine(X(x1),Y(y1),X(x2),Y(y2));
r1=r2; x1=x2; y1=y2;
}
}
int X(double x){return (int)x+X0;}
int Y(double y){return Y0-(int)y;}
}


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch