以下是部分代码预览。
""" 海龟画图原理类Pointer类, 本程序提供Pointer类,它的移动方式和海龟一样, 这个程序抽象出Python海龟画图最基本的原理以肆读者。 """ __author__ = '李兴球' __date__ = '2020/03/30' __blog__ = 'www.lixingqiu.com' import math class Pointer: def __init__(self,pos=(0,0),angle=0): """ 初始化方法,pos:坐标,angle:角度 """ self._angle = angle # 朝向,也就是和x轴的夹角angle self._pos = pos # 初始坐标 def setheading(self,angle): """设置朝向""" self._angle = angle def heading(self): """返回朝向""" return self._angle def right(self,dangle): """右转dangle度""" self._angle -= dangle self.setheading(self._angle) def left(self,dangle): """左转dangle度""" self.right(-dangle) def position(self): """返回坐标""" return self._pos def goto(self,x,y=None): """到某坐标""" if y == None: self._pos = x[0],x[1] else: self._pos = x,y 以下代码省略...... def main(): """主要执行函数""" n = 6 pos = (100,100) angle = 0 t = Pointer(pos,angle) # 实例化一个指针 points = [] # 收集坐标点的列表 for _ in range(n): points.append(t.position()) # 把指针当前坐标加到列表 t.forward(100) # 指针前进100个单位 t.left(360/n) # 指针左转360/n度 print(points) # 下面新建海龟把每个坐标点都打印出来 x = Turtle() x.penup() for p in points: x.goto(p) x.dot(10) x.screen.mainloop() if __name__ == "__main__": from turtle import * main()
下载完整源代码与素材,请
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)