Processing

Processing:平移和旋转

1. z轴指任意一点的深度。这貌似很抽象,这么理解吧,x轴和y轴分别代表萤幕的宽和高,那么z轴就位于你萤幕的背后(负值)或之前(正值)。 2. 用二维的方式也可以做出三维的效果,比如下例展示一个由小变大的矩形,看起来就像它从远处向我们走来: float r = 8; void setup() { size(200,200); } void draw() { background(255); // 在萤幕中央显示一个矩形 stroke(0); fill(175); rectMode(CENTER); rect(width/2,height/2,r,r); // 增大矩形 r++ ; // 反复开启矩形的动态 if (r > width) { r = 0; } } 3.…

Processing:数学(下)

14. 我们直觉上习惯以度数来考虑角。但Processing却要求我们用弧度来制作一个角。 角度、弧度转换公式: 弧度 = 2 * PI * (角度/360) 幸运的是,若我们习惯了以角度来考虑角而又必须以弧度写代码,Processing为我们提供了radians()函数自动将角度值转化为弧度值。另外,常数PI和TWO_PI也可以现成使用(分别等于180 ° 和 360 ° )。以下代码将使形状旋转60 ° 。 float angle = radians(60); rotate(angle); 15. 复习一下,数学常数PI (或 π )是圆周与其直径的比率(围绕圆周的距离)。它的值约等于3.14159。 16. Sohcahtoa,貌似无意义而且奇怪的词,确实巨大部分计算机图形工作的基础。当你要计算一个角,决定点间距,除了圆形或弧形等等等等的时候,你会发现三角学的重要性。sohcahtoa是记忆三角学基础,正弦、余弦和正切的助记符。 ◎ soh : sine = 对边/斜边 ◎ cah : cosine…

Minim:可播放的(Playable)

[ javadoc | 在线实例 ] 很简单,就是CD唱机的功能。 播放与暂停 手册原文说了一大堆,基本都是废话(其实我早发现这哥们废话多了),播放与暂停是什么玩意,没有不懂的吧? 示范代码(在线实例) import ddf.minim.*; Minim minim; AudioPlayer groove; WaveformRenderer waveform; void setup() { size(512, 200, P3D); minim = new Minim(this); groove = minim.loadFile(“groove.mp3”, 2048); waveform = new WaveformRenderer(); // see the example Recordable…

Processing:数学(上)

1. “如果你不相信数学有多简单,是你还没有认识到生活有多复杂——John von Neumann” 2. 模数(Modulus):20 模(modulo,也就是除以,用百分号表示) 6 等于 2 或者写为 20 % 6 = 2。如果A = B % C,那么A永远不可能大于C(当然。。)。因此,模 可以用在你需要将一个计数器变量循环至0的情况。下列代码: x = x + 1; if (x >= limit){ x = 0; } 可以被替换为: x = (x + 1)…

Processing:库

1. 在计算机科学领域,一个库指的是一个“帮助者”代码的集合。一个库可能包含函数、变量和对象。 2. 在绝大多数汇编语言中,你都会被要求在代码之初便指定你要用到的库。 3. 这么着导入:import processing.core.*; “ Import ”表明我们将使用一个库,准备使用的库是 “processing.core.”。 “ .* ”是通配符,意味着我们将使用库里的所有东西。以后还会更多的接触这类东西,现在,我们仅需要知道“ processing.core ”是库的名字。 4. 你可以到这里下载pr的众多第三方库。 5. 通过Sketch -> Import Library导入你想使用的库。 6. 安装:将下载到的库文件夹放入你的sketchbook文件夹(在偏好里设置)下的libraries文件夹(如果不存在,则自己创建一个)内。重启Processing,安装成功并可以开始使用。

Processing:除错 调试

1. 小窍门#1:休息一下 我没有开玩笑。离开你的电脑。睡一觉。出去慢跑一圈。吃个橘子。玩一下拼字游戏。总之,做一些除了日代码之外的事。我无法告诉你究竟有多少次我盯着代码数小时而无法搞定那些bug,然后第二天一早醒来五分钟就解决了战斗。 2. 小窍门#2:让他人介入 把你的问题讲给你的朋友,将你展示代码的流程讲给一个程序员(甚至是非程序员)并且顺着过一遍它的逻辑,这往往能揭示问题所在。在很多情况下,因为你是如此熟悉你的代码,因此便看不到很多很明显的东西。通过你将其阐述给第二人的过程,会促使你更慢的将你的代码重新过一遍。如果你身边暂时没有朋友,你同样可以将这个流程大声的告诉你自己。是的,看起来像傻逼,但却很有帮助的。 3. 小窍门#3:简化 在上一章(算法),我们学会了分部分块的完成程序的方法,分得越细,最后出错的机率便越小。这么做的方法之一,是将程序中的某些部分“评论(comment)”掉。 4. 小窍门#4: println( )是你的朋友 运用信息窗口显示变量的值可以说事非常有用。如果一个对象完全从萤幕消失了并且你想知道为什么,你可以打印出它位置变量的值。它看起来可能像这样: println( “x:” + thing.x + “y:” + thing.y); 如果结果是: x: 9000000 y: – 900000 x: 9000116 y: – 901843 x: 9000184 y: – 902235 x: 9000299…