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

首頁 > 學院 > 開發設計 > 正文

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

2019-11-14 12:32:09
字體:
來源:轉載
供稿:網友

朱利亞集合是一個在復平面上形成分形的點的集合。以法國數學家加斯頓·朱利亞(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);	else		return 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:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德阳市| 犍为县| 铜陵市| 泰安市| 罗源县| 宣化县| 章丘市| 大方县| 上思县| 南和县| 永城市| 仲巴县| 新河县| 嘉义市| 武山县| 江永县| 南通市| 克什克腾旗| 九龙坡区| 三原县| 罗江县| 阜南县| 柳林县| 东光县| 绵竹市| 乃东县| 霍林郭勒市| 巧家县| 武清区| 永泰县| 南通市| 图木舒克市| 太和县| 济阳县| 云林县| 威信县| 班玛县| 五台县| 云和县| 临武县| 子洲县|