请输入您要查询的百科知识:

 

词条 mandelbrot图像
释义

“Mandelbrot图像中的每个位置都对应于公式N=x+y*i中的一个复数。其实数部分是x,虚数部分是y,i是-1的平方根。图像中各个位置的x和y坐标对应于虚数的x和y部分。

图像中的每个位置用参数N来表示,它是x*x+y*y的平方根。如果这个值大于或等于2,则这个数字对应的位置值是0。如果参数N的值小于2,就把N的值改为N*N-N(N=(x*x-y*y-x)+(2*x*y-y)*i)),并再次测试这个新N值。如果这个值大于或等于2,则这个数字对应的位置值是1。这个过程一直继续下去,直到我们给图像中的位置赋一个值,或迭代执行的次数多于指定的次数为止。”

l利用C#控制台程序编写代码如下:

static void Main(string[] args)

{

double realCoord, imagCoord;

double realMax = 1.77;

double realMin = -0.6;

double imagMax = -1.2;

double imagMin = 1.2;

double realStep;

double imagStep;

double realTemp, imagTemp, realTemp2, arg;

int iterations;

while (true)

{

realStep = (realMax - realMin) / 79;

imagStep = (imagMax - imagMin) / 48;

for (imagCoord = imagMin; imagCoord >= imagMax;

imagCoord += imagStep)

{

for (realCoord = realMin; realCoord <= realMax;

realCoord += realStep)

{

iterations = 0;

realTemp = realCoord;

imagTemp = imagCoord;

arg = (realCoord * realCoord) + (imagCoord *

imagCoord);

while ((arg < 4) && (iterations < 40))

{

realTemp2 = (realTemp * realTemp) - (imagTemp *

imagTemp)

- realCoord;

imagTemp = (2 * realTemp * imagTemp) - imagCoord;

realTemp = realTemp2;

arg = (realTemp * realTemp) + (imagTemp *

imagTemp);

iterations += 1;

}

switch (iterations % 4)

{

case 0:

Console.Write("."); break;

case 1:

Console.Write("o");

break;

case 2:

Console.Write("O");

break;

case 3:

Console.Write("@");

break;

}

}

Console.Write("\");

}

Console.WriteLine("Current limits:");

Console.WriteLine("realCoord: from {0} to {1}", realMin,

realMax);

Console.WriteLine("imagCoord: from {0} to {1}", imagMin,

imagMax);

Console.WriteLine("Enter new limits:");

Console.WriteLine("realCoord: from:");

realMin = Convert.ToDouble(Console.ReadLine());

Console.WriteLine("realCoord: to:");

realMax = Convert.ToDouble(Console.ReadLine());

Console.WriteLine("imagCoord: from:");

imagMin = Convert.ToDouble(Console.ReadLine());

Console.WriteLine("imagCoord: to:");

imagMax = Convert.ToDouble(Console.ReadLine());

}

}

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/25 13:06:30