フラクタルの数値計算例(Java) |
- プログラムソース
乱数を利用してシェルピンスキーギャスケットを描く。
import java.io.*;
class Co
{
static final int n=50000;
}
class Sg
{
public static void main()
{
int i,m;
double a[]={0.0,100.0,100.0},b[]={0.0,0.0,100.0}; //はじめの三角形
double x,y,r;
x=1.0; //はじめの三角形の内部ならどこから始めてもよい
y=2.0;
try
{
FileWriter fw=new FileWriter("output.data");
for(i=0;i<Co.n;i++)
{
r=Math.random(); //0~1の間の乱数を発生
if(r<1.0/3.0) m=0;
else if(r>=1.0/3.0 && r<2.0/3.0) m=1;
else m=2;
x=(x+a[m])/2.0;
y=(y+b[m])/2.0;
fw.write(x + " " + y + "\n");
}
fw.close();
}
catch(Exception e)
{
}
}
}
- GNUPLOT出力結果
|
|
|
|
|
|