#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();
}

 

 

 

【笔记】Opencv 绘制朱利亚(Julia)集合图形相关推荐

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

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

  2. python用函数绘制椭圆_Python学习笔记——opencv绘制椭圆

    在Python环境下使用opencv绘制椭圆,需要用到cv2.ellipse() 函数. 下面一段示例程序就是用该函数在黑色背景下,绘制一个圆心在(260,240).长轴170.短轴130.线宽为3的 ...

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

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

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

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

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

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

  6. 计算机视觉开源库OpenCV绘制轮廓,并将轮廓排序~

    计算机视觉开源库OpenCV绘制轮廓,并将轮廓排序~示例效果如下: 原图: 示例代码如下: #!/usr/bin/env python3import cv2def sort_contours(cnts ...

  7. OpenCV绘制等高线Contours的实例(附完整代码)

    OpenCV绘制等高线Contour的实例 OpenCV绘制等高线Contour的实例 OpenCV绘制等高线Contour的实例 #include "opencv2/imgproc.hpp ...

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

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

  9. 中班机器人教室设计方案_奇思妙想一起玩,机器人来了安格利亚东郡生态幼儿园亲子活动...

    奇思妙想一起玩 机器人总动员亲子活动 课程起源 有一天午休起床几个小女生正排队梳辫子,因为需要等待,孩子们比较无聊就在看教室的摆件,突然小朋友们就用机器人的语调开始对话,我听到后感觉很有意思也用机器人 ...

  10. 变量命名 – 匈利亚命名法则 - C语言零基础入门教程

    目录 1.属性部分 2.类型部分 3.描述部分 4.MFC.句柄.控件及结构的命名规范 5.变量命名规范 6.库标识符命名法 7.举例 8.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ ...

最新文章

  1. oracle导入与导出,oracle导入与导出
  2. Linq表达式、Lambda表达式你更喜欢哪个?
  3. android adb wifi
  4. SPFA的两个优化:SLF与LLL
  5. matplotlib的颜色和控制条
  6. 你可真行呀的飞鸽传书
  7. chrome 63 android分类,Chrome 63 Beta新特性介绍
  8. php数据库密码查询,php数据库查询及密码匹配的功能
  9. 服务器bios 虚拟化,hp服务器bios开启虚拟化(hp主板开启虚拟化)
  10. Markdown中设置图片尺寸及添加图注
  11. [乐意黎原创]PHP 老司机指南
  12. 学习日志之synthesis and optimization(7)——Heuristic optimization
  13. 怎样下载网页上的视屏到本地
  14. unity3D中导出webgl并使用js进行交互
  15. 什么是GPU,GPU怎么工作的,什么是图形的渲染,渲染怎么完成的。
  16. arduino nano 蓝牙_ESP32模拟无线蓝牙鼠标自制翻页笔神器
  17. java中的文件存储_File存储 - 文件存储
  18. java u盘_Java检测Windows的U盘插入详解
  19. Python 练习实例100例—5
  20. EmguCV的配置和获取摄像头画面

热门文章

  1. (源码)在LibVLC中增加录制接口libvlc_media_player_recorder_start
  2. 《嵌入式 - STM32开发指南》手把手教你搭建STM32开发环境 [Linux版 - 3]
  3. 增量式光电编码器原理及其结构
  4. SQL Server维护计划自动备份数据库
  5. 整理一下vue 移动端模板框架搭建
  6. java 错误: 无法将类 Customer中的构造器 Customer应用到给定类型
  7. Word文档自动生成目录方法,一看就会!还会自动更新
  8. Android 音视频采集那些事
  9. 说一说科大讯飞Windows版本唤醒功能10102功能的问题
  10. iOS 开发 Provisioning Profile(描述文件) 详解