混沌分形之逻辑斯蒂(Logistic)映射系统
生活随笔
收集整理的這篇文章主要介紹了
混沌分形之逻辑斯蒂(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)映射系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UNIX环境编程学习笔记(25)——信号
- 下一篇: 大型网站系统架构实践(五)深入探讨web