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

本章我们将实现旋转的方块,如图所示。首先实现方块的绘制,学习坐标系的平移、旋转与缩放;接着实现一行方块的绘制,学习坐标系的保存与恢复;然后利用循环嵌套实现方块阵列的绘制;最后学习中文字符串的处理,实现文字表情包的制作。

6 旋转的方块

视频教程:

最终代码:

 def setup(): size(500, 500) # 设定画布大小noFill()  # 不要填充颜色strokeWeight(2)  # 制定边框线条粗细stroke(50) # 设定线条颜色为淡灰色,0为纯黑、255为纯白def draw(): background(255)   # 纯白背景speed = radians(frameCount)for x in range(100,401,30):  # 对x遍历for y in range(100,401,30):  # 对y遍历 rectMode(CENTER)   # 矩形模式中心定位pushMatrix() # 保存之前的坐标系translate(x, y)  # 将坐标系原点移动到画面中心位置rotate(speed) # 绕着坐标系原点旋转# 当前缩放比例currentScale = map(sin(speed-x*49-y*2),-1,1,-35,35)  square(0, 0, 10*currentScale) # 在坐标系原点画一个矩形popMatrix()  # 恢复到之前保存的坐标系

进一步,也可以生成各种文字表情包:

这一章主要讲解了循环嵌套的语法知识,学习了方块的绘制、坐标系的变换、中文字符串的处理。利用这些知识点,实现了旋转的方块。读者也可以尝试用圆、圆弧、直线等元素或元素组合,修改元素的宽度、高度、位置、旋转、明暗等参数,实现更多有趣的效果。

第6章 旋转的方块(《Python趣味创意编程》教学视频)相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. Linux 虚拟内存和物理内存的理解【转】
  2. 超级挂载 实现过程-代码
  3. 若依管理系统源码分析-分页的实现以及post请求时的分页
  4. Python:年轻人,不会正则表达式你睡得着觉?有点出息没有?
  5. 使用IDEA在引入Schema空间时报错URI is not registered解决方法
  6. java代码对比工具_代码比较工具(Diffuse)
  7. IIS 6 元数据库与IIS 6 配置的兼容性 解决方案
  8. Linux | Shell脚本从入门到实战
  9. 机器学习教程 之 Boosting 与 bagging:集成学习框架
  10. 【生物信息】影像组学入门实践成长营(14天)
  11. centos格式化优盘命令_Centos7 格式化分区并挂载
  12. java faker_Java 生成测试字符串的库:Java Faker
  13. 描写火车站场景_优美段落:描写车站的经典美文摘抄
  14. 如何使用python画一个爱心
  15. kettle案例21-将字段值设置为常量
  16. Oracle HR 样例用户的建立 10g,11g均可
  17. 李宏毅language课程Speach Recongition
  18. 中国强大的希望-浙江大学郑强演讲 转载
  19. PR 2022 最新重大更新 离线语音转文本教程
  20. FreeRTOS-ARM架构深入理解

热门文章

  1. struct与typedef 结构体定义
  2. MySQL学习记录 (一) ----- 有关数据库的基本概念和MySQL常用命令
  3. mysql中 for update 使用
  4. springboot启动报错:Error starting ApplicationContext. To display the conditions report re-run your appl
  5. 【语义分割】评价指标代码函数:np.sum()、np.nansum()、np.nanmean()、np.diag()、np.bincount()
  6. 写在这一年实习的总结
  7. JS正则表达式的分组匹配
  8. 02_HBase集群部署
  9. cocos2dx 3.x 快速创建项目
  10. 车辆违章演示示例代码