ww

ww

Processing:图像

1. 载入一张图片: // 申明一个PImage类型的变量, 一个我们可用的存储于p5核心库内的类. PImage img; void setup() { size(320,240); // 通过载入一个图片文件创建一个新的PImage实例 img = loadImage(“fuckyoubaby.jpg”); } void draw() { background(0); //image()函数在一个位置显示图片-本例位于点(0,0). image(img,0,0); } 这里,手贱的我又发现一点:如果你将你的这个sketch命名为PImage的话,点击运行p5会返回你错误:”cannot convert from PImage to PImage”。。。直到你重命名后才能正常运行。 2. 在上例内放入一张比size大的图片,运行,它将以原尺寸从左上角开始显示图片,你的size有多大,他就显示多大,没有缩放。 3. 要显示的图片必须位于本sketch文件夹下的data文件夹内(这也是p5载入外部文件的统一规矩)。 4. 我们需要注意,从硬盘载入图片相对来说是较慢的,因此我们应当确保我们的程序仅执行其一次,因此,应当将它放到setup()而不是draw()里。 5. 一旦图片被载入,它将被image()函数显示出来,这个函数必备三个引数:被显示的图片、x位置和y位置,另外,后边还可接两个备选参数:图像的宽和高(全图缩放)。 6. 让图片动起来:…

Processing.js测试

// Written by Casey Reas and Ben Fry. int xspacing = 8; // How far apart should each horizontal location be spaced int w; // Width of entire wave int maxwaves = 4; // total # of waves to add…

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)…