みその計算物理学
ホーム はじめに リンク集
フラクタルの数値計算例(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出力結果