快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

Python怎么实现谢尔宾斯基三角形

这篇文章主要讲解了“Python怎么实现谢尔宾斯基三角形”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么实现谢尔宾斯基三角形”吧!

创新互联专注于五峰企业网站建设,成都响应式网站建设公司,成都商城网站开发。五峰网站建设公司,为五峰等地区提供建站服务。全流程按需开发,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务


 

谢尔宾斯基三角形

谢尔宾斯基(sierpinskr)三角形也是一种分形构造,平面称之为谢尔宾斯基三角形,立体的叫做谢尔宾斯基金字塔

Python怎么实现谢尔宾斯基三角形

谢尔宾斯基三角形从理解上就是给定一个三角形,以“品”字形在里面堆叠三角形,每一层(degree)的三角形边长都是原三角形一半

  • 白色部分:空白

  • 黑色部分:拼接的sierpinskr三角形

  • degree:程度,堆叠的次数

Python怎么实现谢尔宾斯基三角形

本文由“壹伴编辑器”提供技术支持

 

谢尔宾斯基三角形作图思路

根据自相似性,谢尔宾斯基三角形是由3个尺寸减半的sierpinskr三角形按“品”字形拼叠成的

Python怎么实现谢尔宾斯基三角形

在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是一个字典,存储三角形三个点的坐标。每个坐标又是一个元组

Python怎么实现谢尔宾斯基三角形

绘图顺序:

  1. 先画左三角形

  2. 再画上三角形

  3. 最后画右边三角形

三角形绘图顺序:

  1. 先描三角形左点 left

  2. 再描三角形顶点 top

  3. 最后描三角形右点 right


       

本文由“壹伴编辑器”提供技术支持

 

代码

Python怎么实现谢尔宾斯基三角形

运行结果:

Python怎么实现谢尔宾斯基三角形

 

递归的理解

递归在理解上可以理解为循环,如果递归调用的后面还有程序则可以理解为循环的嵌套。当前递归循环结束时,程序会跳转到基本结束条件的上一层循环继续执行后面的程序

感谢各位的阅读,以上就是“Python怎么实现谢尔宾斯基三角形”的内容了,经过本文的学习后,相信大家对Python怎么实现谢尔宾斯基三角形这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


当前标题:Python怎么实现谢尔宾斯基三角形
分享链接:http://6mz.cn/article/pdigip.html

其他资讯