国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

OpenCV繪制朱利亞(Julia)集合圖形

2019-11-14 12:31:57
字體:
供稿:網(wǎng)友

朱利亞集合是一個(gè)在復(fù)平面上形成分形的點(diǎn)的集合。以法國(guó)數(shù)學(xué)家加斯頓·朱利亞(Gaston Julia)的名字命名。

朱利亞集合可以由下式進(jìn)行反復(fù)迭代得到:

對(duì)于固定的復(fù)數(shù)c,取某一z值(如z = z0),可以得到序列 

這一序列可能反散于無窮大或始終處于某一范圍之內(nèi)并收斂于某一值。我們將使其不擴(kuò)散的z值的集合稱為朱利亞集合。

以下使用OpenCV編碼繪制Julia集圖形:

#include <Windows.h>#include<highgui/highgui.hpp>using namespace cv;const int icount = 200;     //迭代次數(shù)const float c = -0.85;       //實(shí)部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);	else		return Vec3b(0, 0, 0);   //Julia集之外的區(qū)域置為黑色}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();}改變實(shí)部c和虛數(shù)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:


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 会昌县| 报价| 济阳县| 衡山县| 甘谷县| 临城县| 迭部县| 彩票| 黄浦区| 盘山县| 抚州市| 龙江县| 丽水市| 青田县| 金平| 安徽省| 武山县| 恩施市| 和静县| 白河县| 海安县| 永宁县| 儋州市| 龙江县| 松江区| 静安区| 弋阳县| 青田县| 萍乡市| 壤塘县| 旺苍县| 新竹县| 宾川县| 拉孜县| 绥德县| 西峡县| 宝鸡市| 东乡族自治县| 绍兴县| 来凤县| 阳新县|