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

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

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

2019-11-14 13:07:41
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

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

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

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

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

以下使用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)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 汽车| 茶陵县| 布拖县| 昭觉县| 通渭县| 垦利县| 璧山县| 大庆市| 鲜城| 独山县| 镇平县| 海兴县| 岑溪市| 南汇区| 双江| 霍州市| 鹿泉市| 博客| 临潭县| 托克托县| 广元市| 岗巴县| 莱州市| 富阳市| 黄大仙区| 延津县| 永登县| 敦煌市| 法库县| 榆树市| 连江县| 庄浪县| 祁东县| 安福县| 驻马店市| 三河市| 江都市| 大英县| 丹寨县| 交口县| 漠河县|