Learning Processing 系列课程主题全景导读:从像素绘制到面向对象编程
教程文档示例工程【免费下载链接】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),仅供参考

相关新闻

5 分钟装好 REA 命令:curl 一行脚本与 npm 全局安装完整指南

5 分钟装好 REA 命令:curl 一行脚本与 npm 全局安装完整指南

5 分钟装好 REA 命令:curl 一行脚本与 npm 全局安装完整指南 【免费下载链接】rea Reverse engineer anything with agents, from app behavior down to native binaries. 项目地址: https://gitcode.com/GitHub_Trending/rea2/rea REA(Reverse E…

2026/10/13 3:00:43 阅读更多 →
aiogram 编辑 Checklist 消息:EditMessageChecklist 方法深度解析与实践指南

aiogram 编辑 Checklist 消息:EditMessageChecklist 方法深度解析与实践指南

后端即时通讯API设计 【免费下载链接】aiogram aiogram is a modern and fully asynchronous framework for Telegram Bot API written in Python using asyncio 项目地址: https://gitcode.com/gh_mirrors/ai/aiogram 点击查看 免费下载 本文围绕 aiogram 框架中编…

2026/10/13 3:00:43 阅读更多 →
实验中心器材管理系统设计与实现:从需求分析到答辩全记录

实验中心器材管理系统设计与实现:从需求分析到答辩全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 2:59:42 阅读更多 →

最新新闻

缠中说禅博客评论数据清洗与全文检索实战:从HTML到SQLite FTS5

缠中说禅博客评论数据清洗与全文检索实战:从HTML到SQLite FTS5

简介:这份资源是缠中说禅博客的完整归档压缩包,面向对缠论与股票、期货技术分析感兴趣的投资者及研究者,尤其适合希望系统研读原文、结合评论理解理论脉络的中高级学习者。包内共约2000个文件,以html网页存档为主体,辅…

2026/10/13 4:23:05 阅读更多 →
柔性上料盘选型指南:从技术原理到市场趋势与避坑实战

柔性上料盘选型指南:从技术原理到市场趋势与避坑实战

简介:这是一份由QYResearch出品的《全球与中国柔性上料盘市场现状及未来发展趋势(2024版)》行业研究报告,面向智能制造、工业自动化领域的市场研究人员、企业战略决策者及投资分析师,可用于掌握柔性上料盘细分赛道的市…

2026/10/13 4:23:05 阅读更多 →
iOS上架全流程:AppUploader与Xcode证书配置实战指南

iOS上架全流程:AppUploader与Xcode证书配置实战指南

做了几年 iOS 发包,我最深的感触是:第一次把项目跑到上架阶段时,最让人血压升高的往往不是崩溃的代码,而是那一堆证书页面、描述文件选项、以及构建导出的各种弹窗。很多开发者把精力放在功能开发上,结果到了最后一步才…

2026/10/13 4:23:05 阅读更多 →
多语言微服务消息幂等与重试机制的最佳实践

多语言微服务消息幂等与重试机制的最佳实践

做过多语言微服务的人应该都有体会:消息幂等性和重试机制单独拎出来写都能出一本书,可一旦把它们放进多语言环境里,问题就会变得非常拧巴。Java服务写好的幂等逻辑,换到Go服务里可能就跑不通;消息队列里明明没重复&…

2026/10/13 4:23:05 阅读更多 →
安立MT8821C综测仪实操指南:从手机射频测试到产线自动化

安立MT8821C综测仪实操指南:从手机射频测试到产线自动化

手机从产线下来之前,总有一台仪器要在背后默默把关——安立 MT8821C 无线电通信分析仪,也就是射频工程师口里的“综测仪”。这台设备既能当基站把手机拉进网络,又能直接掰开射频链路看发射和接收的每一项指标。做手机研发、产线测试或者终端维…

2026/10/13 4:23:05 阅读更多 →
手写通用状态机,终结订单状态流转的if-else噩梦

手写通用状态机,终结订单状态流转的if-else噩梦

接手过几个订单系统的同学应该都有同感:状态流转这块代码,刚开始写if-else还挺顺手的,等业务跑起来、需求迭代几个月之后,就会变成一个到处打补丁的“面条锅”。今天我用订单场景做例子,从零手写一个通用状态机&#x…

2026/10/13 4:22:04 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →