大家好,欢迎来到IT知识分享网。
Scratch画分形几何图系列52:IFS画十字修正谢氏三角
前面我们在系列48和50用IFS画过皇冠和枯树林,其中演示了IFS数据的采集过程。
本例我们用IFS迭代函数系统来画出一个谢尔宾斯基三角的变形——十字修正谢氏三角,再次呈现IFS数据采集的方法。
(1)使用标准仿射变换函数系统:x1=xRcosθ-yRsinθ+e,y1=xRsinθ+yRcosθ+f
难点在于生成IFS数据,根据生成皇冠的基本图形:
IFS部分数据S、θ、e、f 的示意图
它的最初基本形态是由6个全等的正三角形组成,它们与大三角形的伸缩比(相似比)为1/3,旋转角θ=0,从示意图中可见,以6个正三角形的左下角为起点,它们的横纵平移量e,f也比较好取得
e值各是0,1/6,1/3,1/2和2/3这5个值之一,f值则是0,sin60/3和2sin60/3这3个值中之一。
十字修正谢尔宾斯基三角的IFS数据:
|
n |
R |
θ |
e |
f |
p |
|
1 |
1/3 |
0 |
0 |
0 |
1/6 |
|
2 |
1/3 |
0 |
1/3 |
0 |
1/6 |
|
3 |
1/3 |
0 |
2/3 |
0 |
1/6 |
|
4 |
1/3 |
0 |
1/6 |
Sin60/3 |
1/6 |
|
5 |
1/3 |
0 |
1/2 |
Sin60/3 |
1/6 |
|
6 |
1/3 |
0 |
1/3 |
Sin60/1.5 |
1/6 |
根据IFS数据给出有概率决定变换模式的控制子程序,由于6个概率P相同为1/6,故取1~6之间的随机数更简洁:
混沌游戏控制程序截图1
混沌游戏控制程序截图2
画十字修正谢尔宾斯基三角的描图程序:
十字修正谢尔宾斯基三角分形图:
拓展:你能使用L系统递归算法编出Scratch程序,画出这类变异的谢尔宾斯基三角分形图吗?
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/94710.html