(图书介绍:童晶:《Python趣味创意编程》新书预告)

本章我们将实现旋转的圆弧,如图所示。首先学习圆弧的绘制和旋转;接着利用全局变量实现圆弧逐渐变长,学习if选择语句,实现圆弧长度的重复变化;然后学习逻辑运算符,实现圆弧的同时旋转与长度变化;最后实现多层圆弧的动画效果。

知乎视频​www.zhihu.com

视频教程:

知乎视频​www.zhihu.com

知乎视频​www.zhihu.com

知乎视频​www.zhihu.com

最终代码:

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开始遍历到widthangleShift = radians(360*diam/width) # 不同直径圆弧有个偏移量arc(width/2,height/2,diam,diam,  # 绘制对应的各个圆弧startAngle+angleShift,endAngle+angleShift)  

这一章主要讲解了全局变量、if选择判断、比较大小运算符、逻辑运算符等语法知识,学习了圆弧的绘制。利用这些知识点,绘制了旋转的圆弧。读者也可以利用if选择和for循环,尝试实现理发店标志转灯的效果。

background 旋转_第4章 旋转的圆弧(《Python趣味创意编程》教学视频)相关推荐

  1. 第6章 旋转的方块(《Python趣味创意编程》教学视频)

    (图书介绍:童晶:<Python趣味创意编程>新书预告) 本章我们将实现旋转的方块,如图所示.首先实现方块的绘制,学习坐标系的平移.旋转与缩放:接着实现一行方块的绘制,学习坐标系的保存与恢 ...

  2. 第4章 旋转的圆弧(《Python趣味创意编程》教学视频)

    (图书介绍:童晶:<Python趣味创意编程>新书预告) 本章我们将实现旋转的圆弧,如图所示.首先学习圆弧的绘制和旋转:接着利用全局变量实现圆弧逐渐变长,学习if选择语句,实现圆弧长度的重 ...

  3. opencv python 生成画布_第16章 坚持一百秒(《Python趣味创意编程》教学视频)

    (图书介绍:童晶:<Python趣味创意编程>新书预告) 本章我们将实现坚持一百秒的游戏,玩家通过移动人脸控制飞碟躲避越来越多的反弹子弹,效果如图所示.首先利用面向对象的知识,实现了一个鼠 ...

  4. 第15章 音乐可视化(《Python趣味创意编程》教学视频)

    (图书介绍:童晶:<Python趣味创意编程>新书预告) 15 音乐可视化 本章我们将实现音乐可视化的效果,如图所示.首先学习Minim库的下载配置,并利用Minim库播放音乐文件.绘制音 ...

  5. 第14章 定制字符画(《Python趣味创意编程》教学视频)

    (图书介绍:童晶:<Python趣味创意编程>新书预告) 本章我们将实现定制字符画的效果,如图所示.首先对图片均匀采样.显示字符:然后对字符串的元素进行遍历,实现一段文字的替换显示:最后根 ...

  6. 第13章 图像像素采样(《Python趣味创意编程》教学视频)

    (图书介绍:童晶:<Python趣味创意编程>新书预告) 本章我们将实现图像像素采样的绘制效果,如图所示.首先学习图像文件的读取与显示,获取像素颜色:然后生成马赛克效果,并实现随机采样画圆 ...

  7. 第11章 递归分形树(《Python趣味创意编程》教学视频)

    (图书介绍:童晶:<Python趣味创意编程>新书预告) 本章我们将绘制递归分形树,如图所示.首先学习递归的概念,并学习if-elif-else语句:接着学习分形的概念,并利用递归调用绘制 ...

  8. 第10章 随机山水画(《Python趣味创意编程》教学视频)

    (图书介绍:童晶:<Python趣味创意编程>新书预告) 本章我们将绘制随机山水画,如图所示.首先学习HSB颜色模型,并实现天空颜色渐变的效果:接着利用柏林噪声,实现云朵和山脉的绘制:然后 ...

  9. 第9章 互相作用的圆球 (《Python趣味创意编程》教学视频)

    (图书介绍:童晶:<Python趣味创意编程>新书预告) 本章我们将实现互相作用的圆球,如图所示.首先实现多个随机的圆球,为圆球之间增加作用力,使其均匀分布到一个大圆内:然后实现鼠标交互, ...

最新文章

  1. C# WINFORM 自定义窗体 皮肤[转]
  2. 李德毅院士:智能时代的农机驾驶——人工智能一百年
  3. 计算机存储的大小端模式解析
  4. 窗体控件随窗体大小改变(仍有不足)
  5. 数据结构03栈和队列
  6. 严格对角占优矩阵特征值_盖尔金圆定理及严格对角占优矩阵(SDD)
  7. 面试题 10.01. 合并排序的数组
  8. Cover Protocol更新赔偿计划 新增三个新COVER代币获赔方
  9. 错误处理与调试[下]
  10. 数值积分方法的c语言实现,编程实现数值积分的几种--方法 c语言.doc
  11. VB编辑器之代码颜色修改
  12. i3能装Linux虚拟机,使用i3wm重新安装Ubuntu
  13. labview 上位机报警提示,报警记录,txt文档存储
  14. 微信小程序测试需要考虑哪些方面?一分钟快速掌握(小白必看!)
  15. HTTP状态码:415
  16. linux网卡驱动重新安装,LINUX网卡驱动重新安装
  17. 业余草尚硅谷Java视频教程_SpringBoot视频教程免费下载
  18. 简单的卷积神经网络,实现手写英文字母识别
  19. Android 面试之20个常见 APP 架构常见面试题~
  20. python发票二维码条码识别_Python实现二维码、条形码识别

热门文章

  1. DevOps/.NET 微服务 秋季分享会领优惠门票
  2. Steeltoe之Config客户端篇
  3. Asp.net core与golang web简单对比测试
  4. MySQL - 视图
  5. Nginx使用upstream实现动静分离
  6. sql将html转成excel,使用SQL*PLUS,构建完美excel或html输出
  7. java 接口防刷_java轻量级接口限流/防刷插件
  8. 拆分备份(还原)比较大的数据库为多个bak文件
  9. 【PhotoScan精品教程】任务二:刺像控点,平差,质量报告精度检查,像控点POS权重调配
  10. T-SQL编程基础之三:游标(Cursor)编程