恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
Learning Processing 系列课程主题全景导读:从像素绘制到面向对象编程
首页
资讯中心
/
Learning Processing 系列课程主题全景导读:从像素绘制到面向对象编程
Learning Processing 系列课程主题全景导读:从像素绘制到面向对象编程
发布时间:2026/10/13 3:00:45
教程文档示例工程【免费下载链接】website-archiveArchive of the Coding Train website (first version)项目地址https://gitcode.com/gh_mirrors/we/website-archive点击查看免费下载导读本文以 Learning Processing 课程 第 0 章“主题总览”Overview of Topics为核心骨架梳理 Daniel Shiffman 在该系列视频课程中规划的全部教学主题并结合本仓库中的课程文档与 Processing 源码示例为读者呈现一份可直接对照学习的完整知识地图。读完本文你将清楚掌握 Learning Processing 系列覆盖的十大主题板块、每个板块的核心知识点、各章节之间的递进关系以及如何在 Coding Train 仓库中找到配套的源码练习。系列背景视频课程与《Learning Processing》教材本文对应的视频是 Learning Processing 系列的第 6 支video_number: 6发布于 2015-07-18它的作用是总览整个系列将要覆盖的主题清单。正如 0.6-overview-topics.md 中所写This video summarizes the list of topics that I plan to cover in the entire video series. This loosely follows the table of contents from the Learning Processing book.也就是说整支系列的编排松散地遵循《Learning Processing》教材的目录结构该教材由 Daniel Shiffman 编写Processing Foundation 支持。因此这份主题总览既是本系列视频的地图也是教材章节的镜像。课程主页在 _Courses/index.md 中说明这是 Shiffman 讲授的系列课程之一。整个系列从 2015 年 7 月开播第 0 支视频 0.0-introduction.md 发布于 2015-07-10每支视频对应教材中的一个章节小节并由仓库中对应的 Markdown 文档承载结构化元信息标题、视频编号、发布日期、视频 ID、相关链接。第 0 章引言Introduction引言章0-introduction/index.md是整个系列的起点回答为什么学编程、编程是什么等元问题共 7 支视频视频主题对应文档0.0系列开场Processing 是什么0.0-introduction.md0.1学习者与讲授者是谁0.1-who-are-you-who-am-i.md0.2如何以及为何学习编程0.2-why-learn-processing.md0.3什么是编程0.3-what-is-programming.md0.4有哪些编程语言0.4-what-programming-lang.md0.5Processing 自带示例与库0.5-processing-examples.md0.6全系列主题总览本文0.6-overview-topics.md第 0.4 支视频在 Creative Coding创意编程语境下横向对比了多种编程语言文档中列出的相关链接包括 Cinder、openFrameworks、Processing、MaxMSP、Pure Data说明这一章意在帮助初学者理解 Processing 在整个创意编程生态中的位置。第 0.5 支视频则演示 Processing 自带示例的浏览方式、库libraries的加载方式并展示用 Processing 完成的项目。主题 1像素与绘制Pixels / Drawing进入正题后的第一个主题是像素。1.1-drawing-with-pixels.md视频 1.1讲解计算机图形学坐标系的基础知识以及如何在 Processing 窗口中写下第一批绘制代码。像素主题是理解屏幕是什么的起点Processing 窗口本质是一个由像素构成的网格坐标系原点 (0, 0) 位于左上角x 轴向右、y 轴向下。这一章的结论将贯穿后续所有章节——无论是绘制图形、操作颜色还是最终逐像素处理图像都建立在对坐标系和像素的理解之上。主题 2Processing 环境与 RGB 颜色Processing Environment第 2 章2-processing-environment/index.md包含两大部分使用 Processing IDE2.1-how-to-use-processing.md演示如何在 Processing IDE 中编写并运行第一批代码涉及编辑器、运行按钮、消息区等基本工作流。RGB 颜色2.2-rgb-color.md讲解 Processing 中 RGB 颜色的基础重点覆盖三个最常用的颜色函数background()—— 设置窗口背景色stroke()—— 设置描边颜色用于点、线、形状轮廓fill()—— 设置填充颜色用于形状内部。这三个函数构成了 Processing 一切视觉输出的颜料盒后续所有章节的示例都会反复用到它们。主题 3交互Interaction交互是让静态画面活起来的关键第 3 章3-interaction/index.md由三支视频组成程序的运行流程3.1-flow.md通过setup()与draw()两个函数讲解 Processing 草图的运行流程。setup()在程序启动时执行一次用于初始化draw()则被反复调用构成动画循环。内置变量 mouseX / mouseY3.2-built-in-variables.mdProcessing 内置mouseX与mouseY变量可直接在鼠标位置绘制形状实现最基本的交互反馈。事件机制3.3-flow.md演示主动画循环如何被事件打断例如mousePressed()与keyPressed()。这为后续事件驱动编程打下基础。主题 4变量Variables第 4 章4-variables/index.md讲解编程的核心概念——变量4.1-variables.md引入变量概念讲解在 Processing 草图中使用变量的完整步骤声明、初始化、使用4.2-Incrementing-variable.md演示如何在每轮draw()循环后递增变量值这是动画运动感的来源4.3-using-random.md在给变量赋值的语境下演示random()函数如random(a, b)返回 [a, b) 区间的随机浮点数4.4-using-println.md演示用println()将变量值输出到消息控制台这是最朴素也最有效的调试手段。主题 5条件判断Conditionals第 5 章5-conditionals/index.md让程序拥有决策能力5.1-boolean-expressions.md条件语句与布尔表达式的基础、、等比较运算5.2-if-elseif-else.mdif、else if、else分支结构5.3-logical-operators.md逻辑与、逻辑或||组合条件5.4-boolean-variables.md布尔变量本身boolean类型5.5-bouncing-ball.md综合运用条件语句让圆球在窗口边缘反弹——这是本章的经典综合练习也是后续大量物理模拟示例的雏形。主题 6循环Loops第 6 章6-loops/index.md讲解重复这一编程基本概念6.1-while-loop.mdwhile循环6.2-two-loops.md用两个循环一个横向、一个纵向在屏幕上生成网格图案6.3-for-loop.mdfor循环及其三部分语法初始化、条件、迭代6.4-variable-scope.md变量作用域6.5-loop-vs-draw.md讨论draw()本身也是循环——何时应在draw()内使用for/while循环何时应直接利用draw()自身的循环特性6.6-nested-loops.md嵌套循环循环套循环。其中 6.5 的辨析非常关键draw()以帧率默认约 60 帧/秒反复执行本身就是一个时间循环而for/while是在一帧之内完成的一次性空间循环。理解二者的边界是写出高效动画逻辑的前提。主题 7函数Functions第 7 章7-functions/index.md从写代码走向组织代码7.1-intro-functions-objects.md函数与对象的前瞻性引入7.2-functions-basics.md在 ProcessingJava中定义与调用函数的基础7.3-modularity-with-functions.md用函数实现模块化7.4-reusability-with-functions.md函数的可复用性——把重复代码抽象为可带参数调用的函数。主题 8面向对象编程Object-Oriented Programming第 8 章8-object-oriented-programming/index.md是系列中承上启下的关键一章8.1-what-is-oop.md面向对象编程的基础理论辨析类class与对象实例object instance的区别8.2-defining-class-pt1.md定义类的第一部分——变量、构造函数、方法8.3-defining-class-pt2.md定义类的第二部分8.4-constructor-arguments.md构造函数参数8.5-more-on-objects.md对象的更多用法8.6-pass-value-pass-reference.md按值传递 vs 按引用传递——这是理解 Java/Processing 内存模型的重要一环。主题 9数组Arrays第 9 章9-arrays/index.md讲解如何管理大量数据是面向对象之后的自然延伸9.1-what-is-an-array.md数组的概念与必要性9.2-array-syntax.md数组的声明、初始化与使用语法9.3-array-of-objects.md对象数组——把第 8 章的对象与本章的数组结合9.4-arrays-and-loops.md数组与循环的组合用法for遍历数组9.5-flexible-arrays.md只使用数组的一部分来模拟可变长度数组文中同时指向append()函数与ArrayList参考文档。仓库配套源码对象数组与可变长度数组第 9 章的 9.3-array-of-objects.md 与 9.5-flexible-arrays.md 在元数据中注明了仓库内的配套示例目录repository: Tutorials/Processing/9.3-array-of-objects与repository: Tutorials/Processing/9.5-flexible-arrays可直接对照运行对象数组示例sketch_9_3_Array_of_Objects.pdeBubble[] bubbles new Bubble[2]; void setup() { size(640, 360); bubbles[0] new Bubble(64); bubbles[1] new Bubble(64); } void draw() { background(255); for (int i 0; i bubbles.length; i) { bubbles[i].ascend(); bubbles[i].display(); bubbles[i].top(); } }对应的 Bubble.pde 定义了冒泡对象构造函数接收直径参数ascend()让气泡上升并左右漂移display()绘制半透明圆top()在气泡移出屏幕顶部后重置回底部形成循环动画。可变长度数组示例sketch_9_5_Flexible_Arrays.pde则演示只用数组的一部分Bubble[] bubbles new Bubble[100]; int total 0; void setup() { size(640, 360); for (int i 0; i bubbles.length; i) { bubbles[i] new Bubble(random(20, 40)); } } void mousePressed() { total total 1; } void keyPressed() { total total - 1; } void draw() { background(255); for (int i 0; i total; i) { bubbles[i].ascend(); bubbles[i].display(); bubbles[i].top(); } }这里的技巧是预先分配一个容量为 100 的数组但用total计数器控制实际生效的元素数量——鼠标点击增加total按键减少totaldraw()只遍历前total个元素。这正是教材中flexible sized array可变长度数组的朴素实现方式也是后续引入ArrayList的前置铺垫。视频文档 9.5 还额外关联了 Nature of Code 中关于 ArrayLists 的归档视频可作为延伸学习。主题地图课程主线与递进逻辑综合第 0 章主题总览与整个 Learning Processing 课程目录整条学习主线可以概括为一条清晰的递进链条理解画布坐标系与像素主题 1掌握工具IDE 工作流与 RGB 颜色主题 2让画面响应setup()/draw()流程、内置变量、事件主题 3让数值变化变量、随机数、调试输出主题 4让程序决策布尔表达式与条件分支主题 5让程序重复while/for/嵌套循环以及draw()与循环的分工主题 6让代码可复用函数的定义、模块化与复用主题 7让数据成物类与对象、构造函数、传值语义主题 8让对象成群数组、数组与循环、对象数组、可变长度数组主题 9。每一个主题都建立在前一个主题之上变量让数值动起来条件让运动有边界如反弹球循环让操作批量执行函数让逻辑复用对象把数据与行为封装数组把对象组织成群体。学完这九大主题你已经具备用 Processing 写出具有一定交互性与复杂度的视觉程序所需的全部核心语法基础可以自然过渡到仓库中更进阶的内容例如 Nature of Code物理模拟与智能体或 Programming with Text文本与数据处理系列。学习路径建议按序观看系列视频编号与文档目录严格对应建议从 0.0-introduction.md 顺序推进先通读本文梳理的九大主题地图再逐章对照学习边看边写每支视频对应的小节都可在本地 Processing IDE 中复现第 9 章起配合 Tutorials/Processing 目录下的配套示例如 9.3 与 9.5 的 Bubble 示例运行对比善用调试从第 4 章起养成用println()观察变量值的习惯关注衔接章节6.5-loop-vs-draw.md 与 8.6-pass-value-pass-reference.md 属于想清楚再写代码的关键辨析值得反复理解。这份主题总览的意义在于它把长达九章的课程浓缩成一张可预期的学习路线图——无论你是零基础初学者还是想系统补全 Processing 语法体系的学习者都可以按图索骥稳步前进。赞分享教程文档示例工程【免费下载链接】website-archiveArchive of the Coding Train website (first version)项目地址https://gitcode.com/gh_mirrors/we/website-archive点击查看免费下载相关推荐OpenClaw Mastery Day 4用 cron 打造每日反思定时任务让 Claw 第一次主动找你OpenClaw Mastery Day 4用 cron 打造每日反思定时任务让 Claw 第一次主动找你 导读 Day 4 是 OpenClaw Mast教程文档示例工程Coding Train《Learning Processing》开篇导读用 Processing 从零迈入创意编程Coding Train《Learning Processing》开篇导读用 Processing 从零迈入创意编程 本文围绕 Coding Train 网站教程文档示例工程Processing 面向对象编程构造器参数Constructor Arguments从入门到实战Processing 面向对象编程构造器参数Constructor Arguments从入门到实战 导读 本文围绕 Learning Processing教程文档示例工程上一篇如何用 RyzenAdj 解锁 Ryzen 笔记本功耗墙一份免费的免安装调优指南下一篇如何 10 分钟用 SMU Debug Tool 完成 Ryzen 逐核调优新手完整指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考