这篇文章主要讲解了“Python怎么实现谢尔宾斯基三角形”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么实现谢尔宾斯基三角形”吧!
谢尔宾斯基三角形
谢尔宾斯基(sierpinskr)三角形也是一种分形构造,平面称之为谢尔宾斯基三角形,立体的叫做谢尔宾斯基金字塔
谢尔宾斯基三角形从理解上就是给定一个三角形,以“品”字形在里面堆叠三角形,每一层(degree)的三角形边长都是原三角形一半
白色部分:空白
黑色部分:拼接的sierpinskr三角形
degree:程度,堆叠的次数
本文由“壹伴编辑器”提供技术支持
谢尔宾斯基三角形作图思路
根据自相似性,谢尔宾斯基三角形是由3个尺寸减半的sierpinskr三角形按“品”字形拼叠成的
在degree有限(堆叠次数有限)的情况下,degree=n的三角形是由三个degree=n-1的三角形按“品”字形堆叠的。同时这三个degree=n-1的三角形边长均为degree=n的三角形的一半。当degree=0时,则无法再堆叠了
规模减小:degree=n-1的三角形边长是degree=n的三角形的一半
基本结束条件:degree=0(不能再拼接了)
函数参数设置:
points = { 'left': (x, y), 'top': (x, y), 'right': (x, y) }
points是一个字典,存储三角形三个点的坐标。每个坐标又是一个元组
绘图顺序:
先画左三角形
再画上三角形
最后画右边三角形
三角形绘图顺序:
先描三角形左点 left
再描三角形顶点 top
最后描三角形右点 right
本文由“壹伴编辑器”提供技术支持
代码
运行结果:
递归的理解
递归在理解上可以理解为循环,如果递归调用的后面还有程序则可以理解为循环的嵌套。当前递归循环结束时,程序会跳转到基本结束条件的上一层循环继续执行后面的程序
感谢各位的阅读,以上就是“Python怎么实现谢尔宾斯基三角形”的内容了,经过本文的学习后,相信大家对Python怎么实现谢尔宾斯基三角形这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。