| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1180 人关注过本帖
标题:C#关于Mandelbrot图像的问题
取消只看楼主 加入收藏
weikeli19
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2013-2-25
结帖率:40%
收藏
 问题点数:0 回复次数:2 
C#关于Mandelbrot图像的问题
C#关于Mandelbrot图像的问题

书上说图像中的每个位置用参数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.这个过程将一直继续下去,直到给图像中的位置赋一个值,火迭代执行的次数超过指定的次数为止。

这个图像是纯文本字符的形式

我想问的是1)它里面所说的位置是什么意思?
          2)位置值只有0和1吗?位置值会有2,3,4,5......吗?
          3) 程序中 for(imagCoord=1.2;imagCoord>=-1.2 ;imagCoord-=0.05)
                                  {
                                       for(realCoord=-0.6;realCoord<=1.77;realCoord+=0.03)
                                            {
                        请问这里的数字1.2   -1.2   0.05     -0.6    1.77    0.03  这些小数代表什么  这些数字从何而来? 谢谢
这个图像是纯文本字符的形式

程序是这样的:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            double realCoord, imagCoord;
            double realTemp, imagTemp, realTemp2, arg;
            int iterations;
            for (imagCoord = 1.2; imagCoord >= -1.2; imagCoord -= 0.05)
            {
                for (realCoord = -0.6; realCoord <= 1.77; realCoord += 0.03)
                {
                    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("\n");
            }
            Console.ReadKey();


        }
    }
}

[ 本帖最后由 weikeli19 于 2015-5-4 14:16 编辑 ]
搜索更多相关主题的帖子: 平方根 
2015-05-04 14:07
weikeli19
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2013-2-25
收藏
得分:0 
没有人才回复吗?
2015-05-04 15:41
weikeli19
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2013-2-25
收藏
得分:0 
回复 3楼 Maick
你不如在你的vs上运行一下 看看效果就知道了
2015-05-04 17:18
快速回复:C#关于Mandelbrot图像的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017480 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved