不知道大家是否听说过Sierpinski三角形的噪声,谢尔宾斯基三角形是一种分形,由波兰数学家谢尔宾斯基在1915年提出。它是自相似集的例子。
最近一直在读《深奥的简洁》,里面有一章介绍了几种使用噪声产生分形图的方法,感觉很有意思,于是尝试使用计算机模拟了一下,效果还不错(噪声法比传统迭代法在编程上好实现一些,后来发现这类算法还不少,搜索chaosgame可以找到更多)。
[Sierpinski三角形的噪声产生法]
在这些噪声游戏中,Sierpinski(谢尔宾斯基)三角形的生成规则可谓是最简单的:
1.在平面上选取三个点,标记为1、2、3,作为大三角形的顶点。
2.选择其中一点,作为“当前点”(比如选择1号)。
3.产生1~3的随机数,在该数表达的顶点与“当前点”的中点绘制一个新点,并将新点作为“当前点”。
4.重复步骤3,即可逼近图案。
*.注意随机数最好不要使用以时间作为种子的产生方式。
实现代码:
运行效果图:
在B键按下时
从去年到现在,我根据市场技术栈的需求,录制了一套最新的Java精讲视频教程,如果大家在入门学习Java的过程当中缺乏系统的学习教程,可以加我的Java3000人交流群:494801931,免费领取,群文件还有我这几年整理的Java学习手册,面试题,开发工具,PDF文档教程,大家可以自行去下载。