C言語)マンデルブロー集合
1.マンデルブロー集合の計算する。
2.発散するまでの計算回数を2次元配列にいれる。
3.計算回数に応じて色分けして画像ファイルを作る
という流れのプログラムに挑戦しているのですが
1は何とかできたのですが2.の2次元配列に入れることができなくて悩んでいます。
#include <stdio.h>
#define MAX 20
int main()
{
double tlx=-1.6, tly=1.2, brx=0.9, bry=-1.2;/*複素数座標の入力用*/
double cr, ci, zr, zi, zrp, zip;/*漸化式の計算用*/
double x, y;
int k;/*計算回数記録用*/
for(y=tly; y>=bry; y-=0.1)/*虚数軸*/
{
cr=y;
for(x=tlx; x<=brx; x+=0.1)/*実数軸*/
{
ci=x;
zip=zrp=0;
for(k=1; k<MAX; k++)
{
zr=zrp*zrp-zip*zip+ci;/*漸化式・実数部*/
zi=2*zrp*zip+cr;/*漸化式・虚数部*/
if((zr*zr+zi*zi)>4) /*発散の判定*/
break;
zrp=zr;
zip=zi;
}
printf("%3d",k);
}
printf("\n");
}
return 0;
}
これが現在のソースなのですが、助言などいただけないでしょうか?
とりあえず25x25の2次元配列にいれてみようとおもっています。
お礼
大変参考になりました、やってみます!ありがとうございました。