朱利亚集合是一个在复平面上形成分形的点的集合。以法国数学家加斯顿·朱利亚(Gaston Julia)的名字命名。

朱利亚集合可以由下式进行反复迭代得到:

对于固定的复数c,取某一z值(如z = z0),可以得到序列

这一序列可能反散于无穷大或始终处于某一范围之内并收敛于某一值。我们将使其不扩散的z值的集合称为朱利亚集合。

以下使用OpenCV编码绘制Julia集图形:

#include <Windows.h>
#include<highgui/highgui.hpp>using namespace cv;const int icount = 200;     //迭代次数const float c = -0.85;       //实部
const float d = 0.088;      //虚部
double m_real, m_image;     //Mandelbro集class ComplexClass
{
public:double real;double image;ComplexClass(double r = 0, double i = 0) { real = r, image = i; }
};ComplexClass operator+(const ComplexClass& a, const ComplexClass &b)
{ComplexClass c;c.real = a.real + b.real;c.image = a.image + b.image;return c;
}ComplexClass operator*(const ComplexClass& a, const ComplexClass &b)
{ComplexClass c;c.real = a.real * b.real - a.image * b.image;c.image = a.image * b.real + a.real * b.image;return c;
}double Model(ComplexClass a)
{return sqrtf(a.real * a.real + a.image * a.image);
}double Iteration(ComplexClass a, int n)
{if (n == 0)return Model(a);else{ComplexClass temp = a*a;temp.real += c;temp.image += d;//    temp.real += m_real;  把这两句代替前面的两句就是mandelbrot集了//    temp.image += m_image;return Iteration(temp, n - 1);}
}Vec3b dye(double dist)
{if (dist < 1000000 && dist>-1000000)return Vec3b(255, 0, 0);elsereturn Vec3b(0, 0, 0);   //Julia集之外的区域置为黑色
}int main()
{Mat image = Mat(Size(500, 500), CV_8UC3, Scalar::all(10));for (int Y = 0; Y < image.rows; Y++){for (int X = 0; X < image.cols; X++){float x = (X - image.cols / 2) / 200.0;float y = (Y - image.rows / 2) / 200.0;m_real = x;m_image = y;ComplexClass a(x, y);float dist = Iteration(a, icount);image.at<Vec3b>(Y, X) = dye(dist);}}//namedWindow("OpenCV For Julia", 0);imshow("OpenCV For Julia | c = -0.85  d = 0.088", image);waitKey();
}

改变实部c和虚数b的值可以得到不同的图形,很漂亮。

c=-0.576   d=0.456:

c=-0.8 d=0.156:

c=0.285 d=0.02:

c=-0.85 d=0.088:

OpenCV绘制朱利亚(Julia)集合图形相关推荐

  1. Python实现朱利亚集算法及完整源码

    Python实现朱利亚集算法及完整源码 朱利亚集是一种数学图形,它的形态多变,美丽而神秘.在计算机绘图领域,朱利亚集被广泛应用,并因此成为了数字艺术的重要组成部分. 在本文中,我将向大家介绍如何使用P ...

  2. python opencv 绘制简单图形

    09-python opencv 绘制简单图形 09-python opencv 绘制简单图形 概述 实现过程 引用与创建空图 绘制直线 绘制矩形 绘制圆 绘制椭圆 添加文字 显示图像 源代码 运行结 ...

  3. 使用Python,OpenCV对图像进行亚像素点检测,并拟合椭圆进行绘制

    这篇博客将介绍如何使用Python,OpenCV对图像进行亚像素检测,并对亚像素点进行椭圆拟合绘制. 1. 效果图 原始图上绘制拟合椭圆 VS 原始图上绘制拟合椭圆及亚像素点绘制随机半径及颜色的圆 V ...

  4. [Python从零到壹] 三十五.图像处理基础篇之OpenCV绘制各类几何图形

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  5. 详解用OpenCV绘制各类几何图形

    本文分享自华为云社区<[Python从零到壹] 三十五.图像处理基础篇之OpenCV绘制各类几何图形>,作者:eastmount. 一.绘制直线 在OpenCV中,绘制直线需要获取直线的起 ...

  6. NBA名人堂之-朱利叶斯·欧文|埃尔文·海耶斯|多尔夫·谢伊斯|鲍勃·佩蒂特|戴夫·冰

    朱利叶斯·欧文 英文名:Julius Erving 出生:1950年2月22日 身高:2.01米 NBA生涯:1976-1983年 司职:前锋 主要荣誉: ①1983年获NBA总冠军: ②5次入选NB ...

  7. OpenCv绘制简单的几何图形

    opencv常用绘制方法 前言 1.直线line line的函数原型如下 使用方法 2.箭头arrowedLine arrowedLine的函数原型如下 使用方法 3.矩形rectangle. rec ...

  8. 如何使用OpenCV绘制简单的几何图形?

    要使用OpenCV绘制图形,除了cv2库之外,我们还需要便于进行矩阵操作的numpy库: import cv2 as cv import numpy as np 空白窗口 先展示代码: blank = ...

  9. python更改图片中物体的颜色_Python Opencv提取图片中某种颜色组成的图形的方法...

    Python Opencv提取图片中某种颜色组成的图形的方法 主要目标识别图中红色的裂缝,尝试了几种不同的方法,最后发现比较每一点的RGB差值可以很好的解决这个问题,也就是提取图片中的红色相关信息.处 ...

  10. 使用Python,Opencv绘制调色板及圆形来模拟霓虹的渐变效果

    使用Python,Opencv绘制调色板及圆形来模拟霓虹的渐变效果 1. 效果图 2. 源码 参考 这篇博客将使用python,opencv绘制调色板及圆形来模拟霓虹的渐变效果. 1. 效果图 可以构 ...

最新文章

  1. vue的post请求data可以传两个参吗_我知道的HTTP请求
  2. GDI 绘制圆角矩形
  3. 7、MySQL数据类型的选择
  4. python自带的Mock模块使用
  5. higher likelyhood that where your key is
  6. ubuntu14.04上安装Mysql-5.7.11
  7. codeforces #274 C. Riding in a Lift dp+前缀和优化
  8. spring 自定义日志_Spring和Hibernate的自定义审核日志
  9. HT中特殊字符φ的显示问题
  10. Element ui 中的Upload用法
  11. python登录交换机执行命令_如何用Python脚本登录到交换机上修改配置?
  12. ValidateInput(false)与this.ValidateRequest = false无效的解决方案
  13. Volatile(理解)
  14. CCNA培训课总结笔记--静态路由实现负载均衡(四)
  15. 软考高级 真题 2016年上半年 信息系统项目管理师 综合知识
  16. linux端口快速释放,Linux 快速释放端口与释放内存缓存,linux释放端口缓存
  17. java下载文件未能加载资源_Java Web start – 无法加载资源
  18. IOS开发之——图片裁剪(82)
  19. 计算机导论论文对课程的思考,计算机导论课浅析论文
  20. Java程序员编程学习之路资源合集

热门文章

  1. 联想微型计算机开机黑屏什么原因,联想笔记本电源键亮但黑屏怎么办
  2. 安装CAD显示计算机丢失SETUPUI,彻底解决CAD2012不能安装问题.docx
  3. 计算机中的没有文件怎么处理方法,电脑重启后桌面上文件没有了怎么办
  4. 近日,百度《互联网从业人员单身情况调查报告》新鲜出炉,调查人群是日前火了一把的西二旗互联网从业者(转载)
  5. psd导出jpg太大_Adobe Photoshop CC2017保存技巧 (PS)导出文件过大问题解决
  6. python no such file or directory_python No such file or Directory
  7. can例程 ecu_汽车CAN数据分析ECU通信OBD接口
  8. sap 双计量单位_SAP基本计量单位
  9. 不确定性推理——主观贝叶斯方法matlab实现
  10. 重新定义软件定义安全