巴恩斯利蕨C++实现
Long Space 凡之域-探索奥秘的地方
简单介绍一下巴恩斯利蕨算法,学过计算机图形学的都应该听说过巴恩斯利蕨算法,这个变形算法,是通过概率分布的不同经过若干次迭代过程,实现分型,最终得到我们所说的巴恩斯利蕨(一种蕨类植物)这里不妨先贴出最终的效果图。
巴恩斯利蕨利用了四个公式如下表
| 公式序号 |a|b|c|d|e|f|P(概率)
| --|—| —|---| —|---| —|
| 1 | 0| 0 |0|0.16|0|0|0.01
| 2 | 0.85| 0.04 |-0.04|0.85|0|1.6|0.85
| 3 | 0.2| -0.26 |0.23|0.22|0|1.6|0.07
| 3 | -0.15| 0.28 |0.26|0.24|0|0.44|0.07
x’ = ax+by+e
y’ = cx+dy+f
下面用C++实现,这里老书都是介绍graphics,但这个TC库很老了,都已经被淘汰了,which has been eliminated now, so let us use something new, OpenGL. OpenGL