日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

混沌分形之逻辑斯蒂(Logistic)映射系统

發布時間:2024/8/24 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 混沌分形之逻辑斯蒂(Logistic)映射系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? 前幾天,有個同事看到我生成的一幅邏輯斯蒂分岔圖像后,問我:“這是咪咪嗎?”我回答:“淫者見淫。”好吧,這里將生成幾種分岔映射圖形,包括邏輯斯蒂映射系統,正弦映射系統和曼德勃羅映射系統。實際上這幾種圖形算不上分形,只不過它與我寫的其他分形對象使用相同的基類,所以也將其列入混沌分形的范疇。

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

(1)邏輯斯蒂映射系統

// 邏輯斯蒂映射系統 class LogisticMap : public FractalEquation { public:LogisticMap(){m_StartX = 0.0f;m_StartY = 0.0f;m_StartZ = 0.0f;m_ParamA = 0.0f;m_ParamB = 4.0f;m_nIterateCount = 100;}void IterateValue(float x, float y, float z, float& outX, float& outY, float& outZ) const{float R = (float)rand()/RAND_MAX;float k = m_ParamA + (m_ParamB - m_ParamA) * R;outX = R*4.0f;outY = (float)rand()/RAND_MAX;for (int i = 0; i < m_nIterateCount; i++){outY = k*outY*(1-outY);}outY *= 2;outZ = z;}bool IsValidParamA() const {return true;}bool IsValidParamB() const {return true;}private:int m_nIterateCount; };

調節下參數后的圖形:

(2)正弦映射系統

// 正弦映射系統 class SinMap : public FractalEquation { public:SinMap(){m_StartX = 0.0f;m_StartY = 0.0f;m_StartZ = 0.0f;m_ParamA = -2*PI;m_ParamB = 2*PI;m_nIterateCount = 64;}void IterateValue(float x, float y, float z, float& outX, float& outY, float& outZ) const{float R = (float)rand()/RAND_MAX;float k = m_ParamA + (m_ParamB - m_ParamA) * R;outX = R*4.0f;outY = (float)rand()/RAND_MAX;for (int i = 0; i < m_nIterateCount; i++){outY = k*sinf(outY);}outY *= 0.5f;outZ = z;}bool IsValidParamA() const {return true;}bool IsValidParamB() const {return true;}private:int m_nIterateCount; };

(3)曼德勃羅映射系統

// 曼德勃羅映射系統 class MandelbrotMap : public FractalEquation { public:MandelbrotMap(){m_StartX = 0.0f;m_StartY = 0.0f;m_StartZ = 0.0f;m_ParamA = -2.0f;m_ParamB = 0.0f;m_nIterateCount = 64;}void IterateValue(float x, float y, float z, float& outX, float& outY, float& outZ) const{float R = (float)rand()/RAND_MAX;float k = m_ParamA + (m_ParamB - m_ParamA) * R;outX = R*4.0f;outY = (float)rand()/RAND_MAX;for (int i = 0; i < m_nIterateCount; i++){outY = outY*outY + k;}outZ = z;}bool IsValidParamA() const {return true;}bool IsValidParamB() const {return true;}private:int m_nIterateCount; };

最后發下被我同事當成MM的邏輯斯蒂分岔圖像:

?之前我還寫過一篇關于邏輯斯蒂的文章:混沌數學之logistic模型

轉載于:https://www.cnblogs.com/WhyEngine/p/4069203.html

總結

以上是生活随笔為你收集整理的混沌分形之逻辑斯蒂(Logistic)映射系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。