国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 丹东市| 昌宁县| 鞍山市| 浦东新区| 新建县| 呈贡县| 宁波市| 长治县| 衡阳县| 凤山市| 文成县| 古田县| 宁明县| 宁都县| 泉州市| 凤阳县| 中山市| 当阳市| 象山县| 广平县| 阿拉尔市| 邮箱| 沐川县| 东光县| 美姑县| 临泉县| 章丘市| 潼南县| 玉山县| 呼玛县| 东明县| 上思县| 尤溪县| 奉化市| 集贤县| 肇源县| 桂平市| 南充市| 屏山县| 和田县| 延边|