第3章 催眠的同心圆(《Python趣味创意编程》教学视频)
(图书介绍:童晶:《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趣味创意编程》教学视频)相关推荐
- 第12章 粒子同心圆(《Python趣味创意编程》教学视频)
(图书介绍:童晶:<Python趣味创意编程>新书预告) 本章我们将实现粒子同心圆,如图所示.首先学习面向对象编程的知识,为粒子类添加成员变量与成员函数:然后实现一个面向对象版本的运动粒子 ...
- background 旋转_第4章 旋转的圆弧(《Python趣味创意编程》教学视频)
(图书介绍:童晶:<Python趣味创意编程>新书预告) 本章我们将实现旋转的圆弧,如图所示.首先学习圆弧的绘制和旋转:接着利用全局变量实现圆弧逐渐变长,学习if选择语句,实现圆弧长度的重 ...
- 第15章 音乐可视化(《Python趣味创意编程》教学视频)
(图书介绍:童晶:<Python趣味创意编程>新书预告) 15 音乐可视化 本章我们将实现音乐可视化的效果,如图所示.首先学习Minim库的下载配置,并利用Minim库播放音乐文件.绘制音 ...
- 第14章 定制字符画(《Python趣味创意编程》教学视频)
(图书介绍:童晶:<Python趣味创意编程>新书预告) 本章我们将实现定制字符画的效果,如图所示.首先对图片均匀采样.显示字符:然后对字符串的元素进行遍历,实现一段文字的替换显示:最后根 ...
- 第13章 图像像素采样(《Python趣味创意编程》教学视频)
(图书介绍:童晶:<Python趣味创意编程>新书预告) 本章我们将实现图像像素采样的绘制效果,如图所示.首先学习图像文件的读取与显示,获取像素颜色:然后生成马赛克效果,并实现随机采样画圆 ...
- 第11章 递归分形树(《Python趣味创意编程》教学视频)
(图书介绍:童晶:<Python趣味创意编程>新书预告) 本章我们将绘制递归分形树,如图所示.首先学习递归的概念,并学习if-elif-else语句:接着学习分形的概念,并利用递归调用绘制 ...
- 第10章 随机山水画(《Python趣味创意编程》教学视频)
(图书介绍:童晶:<Python趣味创意编程>新书预告) 本章我们将绘制随机山水画,如图所示.首先学习HSB颜色模型,并实现天空颜色渐变的效果:接着利用柏林噪声,实现云朵和山脉的绘制:然后 ...
- 第9章 互相作用的圆球 (《Python趣味创意编程》教学视频)
(图书介绍:童晶:<Python趣味创意编程>新书预告) 本章我们将实现互相作用的圆球,如图所示.首先实现多个随机的圆球,为圆球之间增加作用力,使其均匀分布到一个大圆内:然后实现鼠标交互, ...
- 第8章 随风飘动的粒子 (《Python趣味创意编程》教学视频)
(图书介绍:童晶:<Python趣味创意编程>新书预告) 本章我们将实现随风飘动的粒子,如图所示.首先绘制逐渐消失的轨迹,实现随机运动的圆点:然后学习列表的概念,利用列表实现多个运动粒子: ...
最新文章
- Jmeter输出完美报告
- 基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(五)
- 工业互联网的两种极端想法和两点反思
- ros自带package在哪里_ROS Kinetic中自带的OpenCV使用
- 【Python】shutil内置模块复制和重命名文件
- CentOS7安装火狐flash插件看网页视频
- python测量镜头到目标距离_摄像头单目测距原理及实现
- Eclipse的设置、调优、使用(解决启动卡顿等问题)
- Android 建立Menu选单onOptionsItemSelected (转)
- python能做什么-python都能干什么用
- scala Basic 第三课
- 熬之滴水穿石:Spring--精简的J2EE(5)
- 如何知道是哪个进程造成死锁?如何把这个进程杀掉?
- 图书管理系统C++程序源代码
- 求一元硬币兑换成1分、2分、5分的硬币的兑换方案
- 上海哪里打印比较便宜?
- 安全之路 —— 利用端口复用技术隐藏后门端口
- Apache ShenYu源码阅读系列-基于ZooKeeper的数据同步
- docker 安装及部署
- Windows下通过VNC访问Linux服务器(可视化界面)
热门文章
- 网易伏羲AI虚拟人技术赋能网易云音乐虚拟偶像“乐灵”正式出道
- 小程序记录场景值的方法,以及场景值对应的最新数据列表
- 如何架设svn服务器
- 京东商城副总裁李曦:大数据和电子商务_行业信息化_IT商业新闻网
- 可切割的ADC连接物DBCO-NHS,DBCO-NHS ester,1353016-71-3,DBCO-NHS酯是一种胺反应性构件,用于有机介质中含胺分子的改性。
- 股指期货买卖规则(股指期货交易规则详解)
- 致MonoCats社群的一封信:邀请您与我们在以太坊开启新篇章
- 商业地图 | 成都人有多爱喝茶--茶馆地图
- 如何写好个人简历,求职简历,什么样的简历模板最合适?
- Java异常处理实验