混沌分形之朱利亞集(JuliaSet)


      朱利亞集合是一個在復平面上形成分形的點的集合。以法國數學家加斯頓·朱利亞(Gaston Julia)的名字命名。我想任何一個有關分形的資料都不會放過曼德勃羅集和朱利亞集。這里將以點集的方式生成出朱利亞集的圖形。

      關於基類FractalEquation的定義及相關軟件見:混沌與分形

class JuliaSet : public FractalEquation { public: JuliaSet() { m_StartX = 0.0f; m_StartY = 0.0f; m_StartZ = 0.0f; m_ParamA = -0.75f; m_ParamB = 0.01f; } void IterateValue(float x, float y, float z, float& outX, float& outY, float& outZ) const { float wx, wy; float r; float theta; float rnd = yf_rand_real(1.0f); wx = x-m_ParamA; wy = y-m_ParamB; if(wx == 0) theta = PI/2; if(wx > 0) theta = atanf(wy/wx); if(wx < 0) theta = PI-atanf(wy/wx); theta = theta/2; r = sqrtf(wx*wx+wy*wy); if(rnd < 0.5f) r = sqrt(r); else r = -sqrt(r); outX = r*cos(theta); outY = r*sin(theta); outZ = z; } bool IsValidParamA() const {return true;} bool IsValidParamB() const {return true;} };

算法中使用了兩個參數,修改參數值可以看到不同的圖形

 

最后發兩幅相關圖像:

Mandelbrot 圖像

Julia Sets圖像

 

……


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM