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

本章我们将实现催眠的同心圆,如图所示。盯着逐渐变大消失的同心圆中心一段时间,再看其他物体会有收缩变形的错觉。

3 催眠的同心圆

首先利用帧数实现逐渐变大的圆圈,并利用取余实现圆圈重复变大的效果;接着学习for循环语句,改进同心圆的绘制方法;最后实现同心圆逐渐变大、淡化消失的动画效果。

视频教程:

最终代码:

def setup():  # 初始化函数,仅运行一次size(600, 600)  # 设定画面宽度、高度strokeWeight(3) # 设置线条粗细noFill() # 不填充frameRate(30) # 设置帧率def draw():  # 绘制函数,每帧重复运行background(255) # 设置白色背景,并覆盖整个画面for diam in range(5, width+1, 20): # 直径从小遍历到画面宽度d = (diam+2*frameCount) % width # 当前圆圈的直径stroke(map(d,0,width,0,255)) # 设置当前圆圈线条颜色circle(300, 300, d) # 绘制圆心在画面中心,直径为d的圆圈

这一章主要讲解了整除、取余、for循环等语法知识,学习了帧数帧率、设置线条等用法。利用这些知识点,绘制了催眠的同心圆。读者也可以搜索其他错觉艺术形式(比如大小错觉),尝试编写代码实现。

第3章 催眠的同心圆(《Python趣味创意编程》教学视频)相关推荐

  1. 第12章 粒子同心圆(《Python趣味创意编程》教学视频)

    (图书介绍:童晶:<Python趣味创意编程>新书预告) 本章我们将实现粒子同心圆,如图所示.首先学习面向对象编程的知识,为粒子类添加成员变量与成员函数:然后实现一个面向对象版本的运动粒子 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. 第8章 随风飘动的粒子 (《Python趣味创意编程》教学视频)

    (图书介绍:童晶:<Python趣味创意编程>新书预告) 本章我们将实现随风飘动的粒子,如图所示.首先绘制逐渐消失的轨迹,实现随机运动的圆点:然后学习列表的概念,利用列表实现多个运动粒子: ...

最新文章

  1. Jmeter输出完美报告
  2. 基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(五)
  3. 工业互联网的两种极端想法和两点反思
  4. ros自带package在哪里_ROS Kinetic中自带的OpenCV使用
  5. 【Python】shutil内置模块复制和重命名文件
  6. CentOS7安装火狐flash插件看网页视频
  7. python测量镜头到目标距离_摄像头单目测距原理及实现
  8. Eclipse的设置、调优、使用(解决启动卡顿等问题)
  9. Android 建立Menu选单onOptionsItemSelected (转)
  10. python能做什么-python都能干什么用
  11. scala Basic 第三课
  12. 熬之滴水穿石:Spring--精简的J2EE(5)
  13. 如何知道是哪个进程造成死锁?如何把这个进程杀掉?
  14. 图书管理系统C++程序源代码
  15. 求一元硬币兑换成1分、2分、5分的硬币的兑换方案
  16. 上海哪里打印比较便宜?
  17. 安全之路 —— 利用端口复用技术隐藏后门端口
  18. Apache ShenYu源码阅读系列-基于ZooKeeper的数据同步
  19. docker 安装及部署
  20. Windows下通过VNC访问Linux服务器(可视化界面)

热门文章

  1. 网易伏羲AI虚拟人技术赋能网易云音乐虚拟偶像“乐灵”正式出道
  2. 小程序记录场景值的方法,以及场景值对应的最新数据列表
  3. 如何架设svn服务器
  4. 京东商城副总裁李曦:大数据和电子商务_行业信息化_IT商业新闻网
  5. 可切割的ADC连接物DBCO-NHS,DBCO-NHS ester,1353016-71-3,DBCO-NHS酯是一种胺反应性构件,用于有机介质中含胺分子的改性。
  6. 股指期货买卖规则(股指期货交易规则详解)
  7. 致MonoCats社群的一封信:邀请您与我们在以太坊开启新篇章
  8. 商业地图 | 成都人有多爱喝茶--茶馆地图
  9. 如何写好个人简历,求职简历,什么样的简历模板最合适?
  10. Java异常处理实验