前几天,有个同事看到我生成的一幅逻辑斯蒂分岔图像后,问我:“这是咪咪吗?”我回答:“淫者见淫。”好吧,这里将生成几种分岔映射图形,包括逻辑斯蒂映射系统,正弦映射系统和曼德勃罗映射系统。实际上这几种图形算不上分形,只不过它与我写的其他分形对象使用相同的基类,所以也将其列入混沌分形的范畴。

关于基类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 = ;
} 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 = ; i < m_nIterateCount; i++)
{
outY = k*outY*(-outY);
}
outY *= ; 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 = -*PI;
m_ParamB = *PI; m_nIterateCount = ;
} 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 = ; 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 = ;
} 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 = ; 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模型

混沌分形之逻辑斯蒂(Logistic)映射系统的更多相关文章

  1. 【转】机器学习笔记之(3)——Logistic回归(逻辑斯蒂回归)

    原文链接:https://blog.csdn.net/gwplovekimi/article/details/80288964 本博文为逻辑斯特回归的学习笔记.由于仅仅是学习笔记,水平有限,还望广大读 ...

  2. 机器学习之LinearRegression与Logistic Regression逻辑斯蒂回归(三)

    一 评价尺度 sklearn包含四种评价尺度 1 均方差(mean-squared-error) 2 平均绝对值误差(mean_absolute_error) 3 可释方差得分(explained_v ...

  3. python机器学习实现逻辑斯蒂回归

    逻辑斯蒂回归 关注公众号"轻松学编程"了解更多. [关键词]Logistics函数,最大似然估计,梯度下降法 1.Logistics回归的原理 利用Logistics回归进行分类的 ...

  4. 【分类器】感知机+线性回归+逻辑斯蒂回归+softmax回归

    一.感知机     详细参考:https://blog.csdn.net/wodeai1235/article/details/54755735 1.模型和图像: 2.数学定义推导和优化: 3.流程 ...

  5. spark机器学习从0到1逻辑斯蒂回归之(四)

      逻辑斯蒂回归 一.概念 逻辑斯蒂回归(logistic regression)是统计学习中的经典分类方法,属于对数线性模型.logistic回归的因变量可以是二分类的,也可以是多分类的.logis ...

  6. [置顶] 局部加权回归、最小二乘的概率解释、逻辑斯蒂回归、感知器算法——斯坦福ML公开课笔记3

    转载请注明:http://blog.csdn.net/xinzhangyanxiang/article/details/9113681 最近在看Ng的机器学习公开课,Ng的讲法循循善诱,感觉提高了不少 ...

  7. 【项目实战】pytorch实现逻辑斯蒂回归

    视频指导:https://www.bilibili.com/video/BV1Y7411d7Ys?p=6 一些数据集 在pytorch框架下,里面面有配套的数据集,pytorch里面有一个torchv ...

  8. 逻辑斯蒂(logistic)回归深入理解、阐述与实现

    第一节中说了,logistic 回归和线性回归的区别是:线性回归是根据样本X各个维度的Xi的线性叠加(线性叠加的权重系数wi就是模型的参数)来得到预测值的Y,然后最小化所有的样本预测值Y与真实值y'的 ...

  9. 逻辑斯蒂回归VS决策树VS随机森林

    LR 与SVM 不同 1.logistic regression适合需要得到一个分类概率的场景,SVM则没有分类概率 2.LR其实同样可以使用kernel,但是LR没有support vector在计 ...

随机推荐

  1. [转]KMP算法

    KMP算法应该是每一本<数据结构>书都会讲的,算是知名度最高的算法之一了,但很可惜,我大二那年压根就没看懂过~~~ 之后也在很多地方也都经常看到讲解KMP算法的文章,看久了好像也知道是怎么 ...

  2. iOS技术篇:sizeToFit 和 sizeThatFits 区别

    sizeToFit:会计算出最优的 size 而且会改变自己的size UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(, , , ...

  3. 20172308《Java软件结构与数据结构》第二周学习总结

    教材学习内容总结 第 3 章 集合概述--栈 集合:一种聚集.组织了其他对象的对象 软件系统中的另一个类或对象通过集合预定的方式与该集合进行交互来使用这些集合 多年以来软件开发和研究人员定义了一些特定 ...

  4. 使用 Spring 2.5 注释驱动的 IoC 功能(转)

    基于注释(Annotation)的配置有越来越流行的趋势,Spring 2.5 顺应这种趋势,提供了完全基于注释配置 Bean.装配 Bean 的功能,您可以使用基于注释的 Spring IoC 替换 ...

  5. STM32 TIMER REGISTER

  6. USB设备的插入和弹出的监听以及软弹出可移动媒体(如Windows的移除USB设备) .

    一.监听USB设备的插入和弹出 当USB设备插入或者弹出时,Windows会产生一条全局消息:WM_DEVICECHANGE 我们需要做的是,获得这条消息的wParam参数,如果为DBT_DEVICE ...

  7. 微信公众号 JSSDK 提示:invalid signature

    要命的invalid signature.其实腾讯的文档已经写了,只能怪我自己理解能力太差,掉了好几次坑. 签名要用到的jsapi_ticket需要保存的,2小时有效期.如果在2小时内出现问题需要删除 ...

  8. Git 代码更新:git fetch 和 git pull 的区别

    Git 从远程的分支获取最新的版本到本地有这样 2 个命令: 1. git fetch:相当于是从远程获取最新版本到本地,但不会自动 merge git fetch origin master git ...

  9. Revit API画垂直于风管的风管

    start /// <summary> /// 选择风管与风管外一点,画与风管垂直的风管. /// </summary> [Transaction(TransactionMod ...

  10. MySQL主从复制的原理及配置方法(比较详细)

    MySQL 的数据库的高可用性的架构大概有以下几种:集群,读写分离,主备.而后面两种都是通过复制来实现的.下面将简单介绍复制的原理及配置,以及一些常见的问题 一.复制的原理 MySQL 复制基于主服务 ...