zoukankan      html  css  js  c++  java
  • MandelbrotSet 分形艺术(C++实现)

    转自 EasyX,不过我重构了代码。

    运行结果:

    源程序:

     1 // MandelbrotSet.cpp
     2 
     3 #include "graphics.h"
     4 #include <conio.h>
     5 
     6 struct Complex
     7 {
     8     double re;
     9     double im;
    10 
    11 public:
    12     Complex operator * (const Complex &other) const
    13     {
    14         Complex c;
    15         c.re = this->re * other.re - this->im * other.im;
    16         c.im = this->im * other.re + this->re * other.im;
    17         return c;
    18     }
    19 
    20     Complex operator + (const Complex &other) const
    21     {
    22         Complex c;
    23         c.re = this->re + other.re;
    24         c.im = this->im + other.im;
    25         return c;
    26     }
    27 };
    28 
    29 void main()
    30 {
    31     // 初始化绘图窗口
    32     initgraph(640, 480);
    33 
    34     /////////////////////////////////////////////////
    35     // 绘制 Mandelbrot Set (曼德布洛特集)
    36     /////////////////////////////////////////////////
    37     Complex z, c;
    38     for(int x = 0; x < 640; x++)
    39     {
    40         c.re = -2.1 + (1.1 - -2.1) * (x / 640.0);
    41         for(int y = 0; y < 480; y++)
    42         {
    43             c.im = -1.2 + (1.2 - -1.2) * (y / 480.0);
    44             z.re = z.im = 0;
    45             int k;
    46             for(k = 0; k < 180; k++)
    47             {
    48                 if ( z.re * z.re + z.im * z.im > 4.0 )    break;
    49                 z = z * z + c;
    50             }
    51             putpixel(x, y, (k >= 180) ? 0 : HSLtoRGB((float)((k << 5) % 360), 1.0, 0.5));
    52         }
    53     }
    54 
    55     // 按任意键退出
    56     _getch();
    57     closegraph();
    58 }
  • 相关阅读:
    NSInvocation的基本使用
    OC和JS代码的互调
    HTTPS的基本使用
    数据安全
    AFN框架
    部分文件的MIMEType
    linux中文件颜色,蓝色,白色等各自代表的含义
    CentOS下mysql常用命令
    mysql 完整备份和恢复
    mysqldump 导出提示Couldn't execute SELECT COLUMN_NAME...
  • 原文地址:https://www.cnblogs.com/jjtx/p/2839456.html
Copyright © 2011-2022 走看看