使用python绘制万花尺
关键词:python 、 万花尺 、 turtle 、 fractions 模块 、 math 模块
开发环境:PyCharm
版本:python 3.9.5
前言
小时候我们使用设计工具,以落点为原点,沿外层工具大小画出不规则的图案,即为万花尺
万花尺
原理
大小齿轮的齿数之比,约为最简分数时,其分母就是小齿轮沿大齿轮的公转数,分子就是花瓣数,分子和分母的差就是小齿轮的自转数
公式
效果图
效果1
效果2
效果3
关键代码 # 初始化光标参数 def setparams(self, xc,yc,col,R,r,l): # 设置相关轴线、角度、步长、颜色等 self.xc = xc self.yc = yc self.R = int(R) self.r = int(r) self.l = l self.col = col # 计算最小公约数 gcdVal = math.gcd(self.r, self.R) self.nRot = self.r # 得到半径比例 self.k = r / float(R) # 设置颜色 self.t.color(*col) # 初始化角度 self.a = 0# 绘画线条 def draw(self): # 循环画出其余线条 R,k,l = self.R,self.k, self.l for i in range(0, int(360 * self.nRot + l), self.step): a = math.radians(i) x = R * ((l-k) * math.cos(a) + l * k * math.cos((l-k) * a / k)) y = R * ((l-k) * math.sin(a) - l * k * math.sin((l-k) * a / k)) self.t.setpos(self.xc + x, self.yc + y) # 绘画完成后隐藏光标 self.t.hideturtle()# 根据步长进行更新坐标 def update(self): # 判断绘画是否完成,是则跳过 if self.drawingComplete: return # 增加描绘角度 self.a += self.step # 根据步长绘制 R,k,l = self.R, self.k, self.l # 设置角度 a = math.radians(self.a) # 根据如上公式进行计算 x = self.R * ((l - k) * math.cos(a) + l * k * math.cos((l - k) * a / k)) y = self.R * ((l - k) * math.sin(a) - l * k * math.sin((l - k) * a / k)) self.t.setpos(self.xc + x, self.yc + y) # 如果绘画完成,则标记 if self.a >= 360 * self.nRot: self.drawingComplete = True # 绘画完成后隐藏光标 self.t.hideturtle()
https://pan.baidu.com/s/1ly15zaPWr-L2guKJGk6VmQ
提取码: 62wj 复制这段内容后打开百度网盘手机App,操作更方便哦
你当像鸟飞往你的山我们都有成就自己的那份勇敢你当像鸟飞往你的山天啊,塔拉的家庭太不可思议了Ohmygod,他们一家能够幸存下来简直太不可思议了。我想,读过此书的人,难免不发出这样的感叹。但任由自己的思想信马由缰之后,我却产生
怀孕书籍推荐怀孕一天一页,40周陪伴宝妈度过孕期太阳概括4周像芝麻6周像绿豆8周像花生12周像草莓16周像橙子20周像牛油果24周像芒果30周像南瓜40周像西瓜。1(14周)卵子发育成熟卵子与精子相遇胚胎着床胚胎分化成胎盘和胎儿
傈僳火把节傈僳族的火把节是怎么来的有什么特色傈僳族火把节文化在每个民族都有着自己民族特色的传统节日,火把节是傈僳族古老而重要的传统节日,它有着深厚的民俗文化。在火把节这一天当地人民聚在一起通
在花海民宿,邂逅夏日里的美好惬意阡陌里剑山居花海民宿厌倦了都市的喧嚣总想追寻一处静谧之所在快节奏生活的间隙忙里偷闲享受一次惬意的生活那就来双旗美村在阡陌里剑山居小住吧清晨叫醒你的不再是闹铃而是轻柔的缕缕清风伴随着
探寻诗词中的绝美风景自古以来,欣赏过天池美景的文人墨客都会被它的美景所折服,留下传唱千古的诗句。让我们一起走进诗中天池,感受文人墨客眼里如诗如画的天池美景!天山雪歌送萧治归京唐代岑参天山雪云常不开,千
仙剑玩家多年疑惑十里坡剑神真存在吗,为什么总有人傻傻练级?这是老男孩游戏盒的第333篇原创,作者小雷十里坡剑神是仙剑奇侠传的一个非常著名的游戏梗,起源于2005年11月一则发布在PTT论坛的帖子,发帖人bill7437说自己做完仙剑1余杭
暗黑破坏神手游再创新成绩,适度简化赢麻了,新老玩家都叫好暗黑破坏神手游自上线以来佳绩不断,本月初上线时更是空降海外收入榜第三名,迅速登顶美国英国德国和日本等多个市场ios手游下载榜榜首。公测前,网友和老玩家对这款暗黑破坏神ip的衍生作品
虽败犹荣!大家没有摆烂!王者荣耀匹配机制并没有支配玩家最近开黑,好像格外顺利,好几次拿下了五杀,队友也很给力,完全没有出现摆烂的情况!莫非王者荣耀的匹配机制有变?前两天按照惯例组队开黑,不过开局阵容没选好,前期中期都不敌对方,而且中段
游戏玩家买手机2000元以下我推荐四款随着手机技术的不断发展,高性能手机不再是贵的代名词,很多千元机也拥有不错的游戏实力,对于预算较低又想购买游戏手机的朋友可以说是个好消息,今天就为大家推荐几款高性价比的游戏手机。一加
微软废弃大作扫雷居然是中国玩家玩的?如果说有什么Windows游戏让大家印象深刻的话,那么扫雷的地位应该是不可动摇的。Windows菜单里加载的这个小游戏和纸牌空当接龙应该算是穷朋友们真实的童年回忆吧。今年恰逢扫雷3
这才是骨灰级手机玩家!二十年用过18台手机,每一款都是经典如果是经历过功能机时代的人,肯定对诺基亚索尼爱立信以及摩托罗拉情有独钟,但大部分人此前用过的手机早已损坏或丢失。今天给大家带来一位骨灰级手机玩家的收藏,这是他过去二十年使用过的18