(图书介绍:童晶:《Python趣味创意编程》新书预告)
本章我们将实现旋转的圆弧,如图所示。首先学习圆弧的绘制和旋转;接着利用全局变量实现圆弧逐渐变长,学习if选择语句,实现圆弧长度的重复变化;然后学习逻辑运算符,实现圆弧的同时旋转与长度变化;最后实现多层圆弧的动画效果。
4 旋转的圆弧
视频教程:
最终代码:
def setup(): # 初始化函数,仅运行一次
global spanAngle,spanAngleSpeed # 全局变量
size(600, 600) # 设定画面宽度、高度
noFill() # 不填充
strokeWeight(3) # 设置线条粗细
spanAngle = 0 # 圆弧跨越的角度,初始为0
spanAngleSpeed = 0.5 # 圆弧跨越角度变化速度
def draw(): # 绘制函数,每帧重复运行
global spanAngle,spanAngleSpeed # 全局变量
background(255) # 设置白色背景,并覆盖整个画面
# 圆弧终点角度,随着帧率循环变大
endAngle = 2*radians(frameCount % 360)
spanAngle = spanAngle + radians(spanAngleSpeed) # 圆弧跨越角度变化
startAngle = endAngle - spanAngle # 求出圆弧起点角度
if spanAngle > 2*PI or spanAngle < 0: # 当跨越角度达到2PI或0时
spanAngleSpeed = -spanAngleSpeed # 更改跨越角度变化速度的方向
for diam in range(50,width,50): # 圆弧直径从50开始遍历到width
angleShift = radians(360*diam/width) # 不同直径圆弧有个偏移量
arc(width/2,height/2,diam,diam, # 绘制对应的各个圆弧
startAngle+angleShift,endAngle+angleShift)
这一章主要讲解了全局变量、if选择判断、比较大小运算符、逻辑运算符等语法知识,学习了圆弧的绘制。利用这些知识点,绘制了旋转的圆弧。读者也可以利用if选择和for循环,尝试实现理发店标志转灯的效果。
更多推荐
第4章 旋转的圆弧(《Python趣味创意编程》教学视频)
发布评论