朱利亚集合是一个在复平面上形成分形的点的集合。以法国数学家加斯顿·朱利亚(Gaston Julia)的名字命名。我想任何一个有关分形的资料都不会放过曼德勃罗集和朱利亚集。这里将以点集的方式生成出朱利亚集的图形。

关于基类FractalEquation的定义及相关软件见:混沌与分形

class JuliaSet : public FractalEquation
{
public:
JuliaSet()
{
m_StartX = 0.0f;
m_StartY = 0.0f;
m_StartZ = 0.0f; m_ParamA = -0.75f;
m_ParamB = 0.01f;
} void IterateValue(float x, float y, float z, float& outX, float& outY, float& outZ) const
{
float wx, wy;
float r;
float theta; float rnd = yf_rand_real(1.0f); wx = x-m_ParamA;
wy = y-m_ParamB;
if(wx == )
theta = PI/;
if(wx > )
theta = atanf(wy/wx);
if(wx < )
theta = PI-atanf(wy/wx); theta = theta/;
r = sqrtf(wx*wx+wy*wy); if(rnd < 0.5f)
r = sqrt(r);
else
r = -sqrt(r); outX = r*cos(theta);
outY = r*sin(theta);
outZ = z;
} bool IsValidParamA() const {return true;}
bool IsValidParamB() const {return true;}
};

算法中使用了两个参数,修改参数值可以看到不同的图形

最后发两幅相关图像:

Mandelbrot 图像

Julia Sets图像

……

混沌分形之朱利亚集(JuliaSet)的更多相关文章

  1. OpenCV绘制朱利亚(Julia)集合图形

    朱利亚集合是一个在复平面上形成分形的点的集合.以法国数学家加斯顿·朱利亚(Gaston Julia)的名字命名. 朱利亚集合可以由下式进行反复迭代得到: 对于固定的复数c,取某一z值(如z = z0) ...

  2. CUDA+OpenCV 绘制朱利亚(Julia)集合图形

    Julia集中的元素都是经过简单的迭代计算得到的,很适合用CUDA进行加速.对一个600*600的图像,需要进行360000次迭代计算,所以在CUDA中创建了600*600个线程块(block),每个 ...

  3. 混沌分形之逻辑斯蒂(Logistic)映射系统

    前几天,有个同事看到我生成的一幅逻辑斯蒂分岔图像后,问我:“这是咪咪吗?”我回答:“淫者见淫.”好吧,这里将生成几种分岔映射图形,包括逻辑斯蒂映射系统,正弦映射系统和曼德勃罗映射系统.实际上这几种图形 ...

  4. [CTF]维吉尼亚密码(维基利亚密码)

    [CTF]维吉尼亚密码(维基利亚密码) ----------------------百度百科 https://baike.baidu.com/item/维吉尼亚密码/4905472?fr=aladdi ...

  5. 混沌分形之迭代函数系统(IFS)

    IFS是分形的重要分支.它是分形图像处理中最富生命力而且最具有广阔应用前景的领域之一.这一工作最早可以追溯到Hutchinson于1981年对自相似集的研究.美国科学家M.F.Barnsley于198 ...

  6. 混沌分形之马丁(Martin)迭代

    我不记得从什么地方看到的这种分形图形生成方式,再到网上找竟然一时没查到任何相关资料.没关系,总之这种图形也很漂亮多变,并且其算法比较简单.只是我最后生成的图像有点瘆人,密集恐惧症患者慎入. 相关代码如 ...

  7. 混沌分形之谢尔宾斯基(Sierpinski)

    本文以使用混沌方法生成若干种谢尔宾斯基相关的分形图形. (1)谢尔宾斯基三角形 给三角形的3个顶点,和一个当前点,然后以以下的方式进行迭代处理: a.随机选择三角形的某一个顶点,计算出它与当前点的中点 ...

  8. 使用OpenGL进行Mandelbrot集的可视化

    Mandelbrot集是哪一集?? Mandelbrot集不是哪一集!! 啊不对-- Mandelbrot集是哪一集!! 好像也不对-- Mandelbrot集是数集!! 所以--他不是一集而是数集? ...

  9. 天气预报API(二):全球城市、景点代码列表(“旧编码”)

    说明 2016-12-10 补充 (后来)偶然发现中国天气网已经有城市ID列表的网页...还发现城市编码有两种,暂且称中国天气网这些编码为旧标准"旧编码"的特征是 9个字符长度; ...

随机推荐

  1. shiro xml标准配置

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  2. Qt编译好的oracle驱动下载

    在上文,我累赘了一大堆,给大家写了一篇Qt如何编译OCI驱动,在这里自然就不再累赘了,直接附上编译好的文件供大家下载: <Qt5.3.1+OCI驱动下载地址> 有经济来源的请传送:http ...

  3. Ubuntu服务器的anaconda环境修复办法(自动进入base环境怎么办?)

    某天在服务器上更新了conda的版本,不知怎么回事我的python3.6就变成python2.7了,而且一进入服务器就会自动进入base环境(我的conda只装了base环境) 仔细研究了半天,才发现 ...

  4. [python]接口签名

    一个主机中的数据要通过外网发送数据给另外一个主机,为了保证接口安全,需要对接口进行签名,由于重放攻击貌似对这种接口无效,所以没有加入时间戳 直接放代码: #!/usr/bin/env python # ...

  5. AFO 我的oi生涯 大结局

    今儿个哥几个一屋子退役了,这两天也许会写一个生涯大结局留作纪念吧. 今天就写了吧. 由于在机房的原因比一般同学获得的知识更多一些.进来总是看新闻,感慨颇多.自从两会开的第一天起,我就对我们政府采取的一 ...

  6. Gym 100646 Problem C: LCR 模拟题

    Problem C: LCR 题目连接: http://codeforces.com/gym/100646/attachments Description LCR is a simple game f ...

  7. slf4j 和 log4j合用的(Maven)配置

    简述: 添加logger的日志输出,下面是配置信息供备忘   步骤: 1. 在Maven的porn.xml 文件中添加dependency如下 <dependency> <group ...

  8. Unity IOC容器通过配置实现类型映射的几种基本使用方法

    网上关于Unity IOC容器使用的方法已很多,但未能做一个总结,故我这里总结一下,方便大家选择. 首先讲一下通过代码来进行类型映射,很简单,代码如下 unityContainer = new Uni ...

  9. 《Go语言实战》摘录:6.3 并发 - 竞争状态

    6.3 并发 - 竞争状态

  10. TWebSocketClient

    TWebSocketClient 支持WEBSOCKET通讯协议的客户端控件. 连接WEBSOCKET SERVER的代码演示: WebSocketClient1.HostName := '88.19 ...