turtle库的图形绘制——紫荆花和黄花菜花

一、紫荆花的简化

 图1 紫荆花照片

紫荆花花瓣可简化为四段圆弧:

花瓣可简化为半径为R的大圆弧,半径为R' = R/2的中圆弧,两个半径为r = R'/2 = R/4的小圆弧组成(见图2)。由于中圆弧与小圆弧是外切连接,故圆弧的端点都须在一条直线上,因此中圆弧与两小圆弧的圆弧角应该相同,大圆弧与小圆弧的转角和各圆弧的圆弧角可通过几何关系用数学方法求得(如图2所示),也可在编程时先预估再修改调整,直至四段圆弧闭合。

图2 紫荆花花瓣的艺术性简化图 

二、紫荆花的绘制

由于turtle绘制圆弧时是不需要求坐标的,只需要定一个起始方向角度,圆半径、画圆方向和圆弧的角度即可绘制,除起始方向角度外都是相对的,故可以先预估一个差不多的圆弧角,绘制后再根据误差修改调整即可。如中圆弧和小圆弧的圆弧角为130°时,大圆弧的圆弧角为132°、大圆弧转小圆弧右转179.5°时,由四段圆弧组成的紫荆花花瓣轮廓线基本闭合。

将绘制一片花瓣的程序设计成一个可接收一个起始角的函数,在绘制n片花瓣时,只需传递一个每瓣增加360/n的起始角就可以绘制出一朵n片花瓣的花。紫荆花为5片花瓣。

绘制程序如下:

执行结果:(见图3)

图3 turtle绘制的紫荆花图 

三、修改参数绘制黄花菜花

图4 黄花菜花照片

如将花名改为“黄花菜花”,笔尖颜色(花瓣边缘色)为goldenrod(浓黄色)、填充颜色为tomato(蕃茄色)、花瓣数n=6,则执行结果:(见图5)

 

图5 turtle绘制的黄花菜花图

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值