绘制谢尔平斯基三角形(python)

阅读: 评论:0

绘制谢尔平斯基三角形(python)

绘制谢尔平斯基三角形(python)

绘制谢尔平斯基三角形(python)

2021-07-26
在看递归的时候,谢尔平斯基三角形是具有自相似性的分形图。
谢尔平斯基三角形展示了三路递归算法。手动绘制谢尔平斯基三角形的过程十分简单:从一个大三角形开始,通过连接每条边的中点将它分割成四个新的三角形;忽略中间的三角形,利用同样的方法分割其余三个三角形。每一次创建一个新三角形集合,都递归地分割三个三角形。如果笔尖足够细,可以无限地重复这一分割过程。

turtle — 海龟绘图

# -*- coding: utf-8 -*-
"""
Created on Mon Jul 26 16:09:58 2021@author: hasee
"""
import turtle
def drawTriangle(points,color,myTurtle):myTurtle.fillcolor(color)myTurtle.up()(points[0][0],points[0][1])myTurtle.down()myTurtle.begin_fill()(points[1][0],points[1][1])(points[2][0],points[2][1])(points[0][0],points[0][1])d_fill()
def getMid(p1,p2):return((p1[0]+p2[0])/2,(p1[1]+ p2[1])/2)
def sierpinski(points,degree,myTurtle):colormap =['yellow','orange','blue','red','blue','violet','green','red','white']drawTriangle(points,colormap[degree],myTurtle)if degree >0:sierpinski([points[0],getMid(points[0], points[1]),getMid(points[0], points[2])],degree-1, myTurtle)sierpinski([points[1],getMid(points[0], points[1]),getMid(points[1], points[2])],degree-1, myTurtle)sierpinski([points[2],getMid(points[2], points[1]),getMid(points[0], points[2])],degree-1, myTurtle)
def main():myTurtle = turtle.Turtle()myWin = turtle.Screen()myPoints =[[-500,-250],[0,500],[500,-250]]sierpinski(myPoints,5,itonclick()
main()

本文发布于:2024-01-30 01:15:50,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170654855418193.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:角形   斯基   谢尔   python
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23