课程大纲/Lesson 02
绘图基础for 循环

Drawing Basics · 绘图基础

认识 p5.js 的画布坐标与基本图元,理解颜色、描边和填充的作用,并通过随机运动圆点案例学习 for 循环与重复绘制。

01

理解画布坐标原点以及 x、y 的变化方向。

02

认识点、线、矩形、圆和椭圆的绘制方法。

03

区分 circle() 与 ellipse() 的参数特点。

04

理解颜色模式、描边和填充对图形外观的影响。

05

使用 for 循环批量创建和绘制图形。

06

结合案例理解随机位置、随机移动和画面累积。

核心概念
coordinatesshapescolorstroke & fillrandom()for 循环

画布与坐标系

setup() 使用 createCanvas() 创建画布,通过 canvas.parent() 挂载到页面,并用 smooth() 平滑图形边缘。画布左上角是原点,x 向右增加,y 向下增加;width 和 height 表示画布尺寸。

(0, 0) → x 向右 | y 向下

点与线

point() 在指定坐标绘制一个点;line() 使用两个坐标确定线段的起点和终点。

矩形、圆与椭圆

rect() 使用位置、宽度和高度绘制矩形;circle() 使用圆心和直径绘制圆;ellipse() 可以分别控制横向与纵向尺寸,案例使用它绘制运动圆点。

rect(x, y, w, h) | circle(x, y, d) | ellipse(x, y, w, h)

颜色模式

colorMode() 决定颜色参数的含义。RGB 使用红、绿、蓝组合颜色;HSB 使用色相、饱和度和亮度组织颜色。本案例沿用 p5.js 默认颜色设置。

描边与填充

stroke() 和 strokeWeight() 设置轮廓颜色与粗细,fill() 设置内部颜色;noStroke() 和 noFill() 可以分别关闭描边和填充。本案例使用 p5.js 默认样式。

for 循环

for 循环适合重复执行相同操作。案例先批量创建 33 个圆点,再在 draw() 的每一帧依次更新和绘制它们。

for (var i = 0; i < 33; i++)

随机运动与轨迹累积

random(width) 和 random(height) 生成初始位置,random() 每帧改变圆点坐标。由于 draw() 中没有调用 background() 清除画面,圆点会不断叠加形成运动轨迹。

实时运行 · 观察随机坐标、圆点大小与轨迹累积
sketch.js打开源码
正在载入源码…

坐标决定绘制位置

图元通过 x、y 坐标被放置在画布中。

参数决定图元形态

宽度、高度和直径控制矩形、圆与椭圆的尺寸。

样式设置影响后续绘制

颜色、描边和填充共同决定图形外观。

循环组织重复绘制

for 循环可以用少量代码批量处理多个图形。