学习笔记

Processing:文本

1. 本课我们要学一个新的类,称为字符串(string)。对我们来说,这并不是一个全新的概念,之前我们也曾接触过它们: println(“printing some text to the message window!”); // 列印一个字符串 PImage img = loadImage(“filename.jpg”); // 为文件名使用一个字符串 这样看起来,我们似乎可以简单的将字符串理解为“在双引号内的内容”。 2. 字符串的核心其实是储存字母数组,如果没有string类,那么我们要写一行字的代码可能会变成: char[] sometext = { ‘H’, ‘e’, ‘l’, ‘l’ , ‘o’ , ‘ ‘, ‘W’ , ‘o’ , ‘r’, ‘l’ ,…

Processing:视频

1. 本章的学习需要一个外部摄像头(如果你使用PC则还需安装版本7或以上的QuickTime播放机,并在自定义安装时勾选”QuickTime for Java“。另外,你还需安装vdig(数字视频转换机)在Win系统内捕捉视频)的参与配合。具体安装方式请查阅你自己的摄像头使用帮助。 2. 是的,现在你会发现比起PC,Mac真是轻松许多。Mac的本子自带iSight摄像头,预装QuickTime,Mac用户无需进行任何恼人步骤便可轻松进入下一步。 3. 要在p5内使用视频,遵循以下步骤: ◎ 导入video库: import processing.video.*; ◎ 申明一个捕捉对象: Capture video; ◎ 初始化捕捉对象: video = new Capture(this,320,240,30); ※ this — 自参考指令(self-referential statement),原书唧唧歪歪扯一大堆,暂不考试,记得这里放this就OK。 ※ 320 — 摄像头捕捉视频的宽度 ※ 240 — 摄像头捕捉视频的高度 ※ 30 — 帧速率 ◎…

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…