九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
個人見到的processing(優(yōu)質(zhì)且全的教程,一定看原文)

介紹

語法可以認為就是Java

運行:

processing-java --output=/tmp/processing-xx --run --force --sketch=/home/ning/soft/processing-2.0b8/modes/java/examples/Demos/Graphics/

基礎

每個sketch( 也就是每個Processing project)在電腦中是以一個 [資料夾]存在,資料夾中存放sketch相關的程式碼(.pde檔)及影音資料(另存放在[data]資料夾中)

變量

區(qū)分大小寫類型:- int 整數(shù) 例:3, 20, -5, 0- float 浮點數(shù) 例:1.2301, -0.02- String 字串 例:"互動程式設計"- boolean 布林值 例:True/False

坐標

X軸是向右漸增, Y軸是向下漸增, Z軸是向外漸增

判斷

< == > != >= <= && || !

Object & Class

3D

pushMatrix();translate(width/2, height/2);rotateX(1);box(150);popMatrix();

這在需要多個坐標系的情況下很有用. 比如地球繞太陽公轉(zhuǎn).

lights(); //在draw里面調(diào)用即可.

看教程

Processing Tutorial 視頻01-24 (7:29:00)

這個教程的一個好處是,還會介紹一些常用的庫.不介紹每個函數(shù), ellipse, box 的參數(shù), 很適合有程序經(jīng)驗的同學.

多個文件之間,想當于直接把多個文件放在一起執(zhí)行.同一個project 里面,不需要import

循環(huán)

for (int i=0;i<20;i++) {  for (int j=0;j<20;j++) {    if (i<10) {      fill(255, 0, 0);    }else{      fill(255, 255, 0);    }    ellipse(i*20, j*20, 20, 20);  }}

函數(shù)

函數(shù)可以寫在函數(shù)里面.

class

Ball myBall;void setup() {  size(600, 600);  background(0);  myBall = new Ball(500, 100);}void draw(){  myBall.display();}class Ball{  int x = 500;  int y = 500;  Ball(int x, int y){    this.x = x;    this.y = y;  }  void display(){    ellipse(x, y, 20, 20);  }}

Ball bounce & gravity 跳躍和重力

這就是我當年在文曲星上寫的啊.. 當時我還加了阻力.

void bounce() {  if (x>width || x < 0) {    speedX *= -1;  }  if (y >height || y<0) {    speedY *= -1;  }}void gravity(){  speedY += 0.2;}

數(shù)組

Ball[] balls = new Ball[20];for (int i=0;i<balls.length;i++){    balls[i] = new Ball(random(0, width), random(0, height), 5, 5);}

ArrayList

發(fā)現(xiàn)和Java幾乎一樣, 不過Java 幾乎都忘了.

不需要范型. 哈哈:

ArrayList myList;mylist.add(new Ball(200, 200));mylist.size();mylist.get(1);

External Libraries

http://processing.org/reference/libraries/

如: http://toxiclibs.org/

放在 sketchbook 的libraries 下:

(ENV)ning@ning-laptop ~/idning/langtest/processing/sketchbook/libraries$ lltotal 32K5022553 drwx------ 5 ning ning 4.0K 2013-03-09 11:29 verletphysics5022577 drwx------ 5 ning ning 4.0K 2013-03-09 11:29 volumeutils5022429 drwx------ 5 ning ning 4.0K 2013-03-09 11:29 audioutils5022441 drwx------ 5 ning ning 4.0K 2013-03-09 11:29 colorutils5022457 drwx------ 5 ning ning 4.0K 2013-03-09 11:29 datautils5022470 drwx------ 5 ning ning 4.0K 2013-03-09 11:29 simutils5022505 drwx------ 5 ning ning 4.0K 2013-03-09 11:29 toxiclibscore5022495 drwx------ 5 ning ning 4.0K 2013-03-09 11:29 toxiclibs_p5

重啟processing.

我們可以通過 $ cp -r libraries/ libs2 把libraries 當成一個sketch 瀏覽.看它的例子:

toxiclib.Vec3d (11-12)

一個 Vec 表示一個點. (有x, y, z)

toxi 庫里面的:

Vec3D loc = new Voc3D(0, 0, 0);ellipse(loc.x, loc.y, 20, 20);Vec3D speed = new Voc3D(1, 0, 0);

可以加減:

loc.addSelf(speed);loc.normalize(); //變成1.loc.scaleSelf(100); //乘以100.注意, 向量加法(平行四邊形)Vec3D newVec = loc.add(speed) ; 不一樣. 產(chǎn)生一個新的vec.

Agents

全局變量, 不分文件.

這是一個稍微復雜的 粒子模型. 可以模擬擴散, 聚合. (應該不是按照物理規(guī)律的.)

3D

PeasyCam

不兼容Processing 2.0

camera()

camera(eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ)

The default values are camera(width/2.0, height/2.0, (height/2.0) / tan(PI*30.0 / 180.0), width/2.0, height/2.0, 0, 0, 1, 0)

PeasyCam

實現(xiàn)鼠標控制的Cam, 很好.

A mouse driven camera-control library for 3D sketches.

UI

提供 滑塊 等元素

Follow Mouse

這個我在flash 做過.

輸出&輸入

這個3d圖不錯.

PrintWriter output;output = createWrite("data/points.csv");if (keyPressed) {  for (int i=0; i<cols; i++) {    for (int j=0; j<cols; j++) {      Vec3D loc = grid[i][j].loc;      output.println(loc.x + "," + loc.y + "," + loc.z);    }  }  output.flush();  output.close();}

注意單引號,雙引號不同.

例子

遞歸(t19, 520)

很簡單, 可以自己實現(xiàn)

實現(xiàn)Spring

這也是我從前用Flash 搞過 .它用的是 toxi 的VerletPhyiscs 庫.

verletVerletParticle. 粒子.VerletSpring. 彈簧.

GravityBehavior()

Eclipse

比Processing 編輯器好.

proclipsing, 它是用java 來的:

package eclipseprocessingprj;import processing.core.PApplet;public class EclipseProcessingPrj extends PApplet {    public void setup() {        size(600, 600);    }    public void draw() {        background(0);        stroke(255, 0, 0);        fill(255);        ellipse(mouseX, mouseY, 15, 15);    }    public static void main(String _args[]) {        PApplet.main(new String[] { eclipseprocessingprj.EclipseProcessingPrj.class.getName() });    }}

原來, size, background, stroke, fill 等等都是PApplet 類的方法.processing 就是一個完整徹底的java, 它每次把寫的代碼包在一個.java 里面去run 就行了.所以在Eclipse 里面能夠有完整的代碼提示. 錯誤檢查不過用Class 的方法略有不同.(在Processing 環(huán)境里面是把所有代碼合在一起包在 PApplet 里面.)

資料

視頻

hello world Processing: http://www.tudou.com/programs/view/ilYm5UpnXMw/

視頻教程:

processing 的下載包中包含了多本書的Demo:

- Getting STarted- Nature of Code- Processing Handbook- Visualizing Data
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Processing 常用技巧合集
迄今最精彩的Processing入門介紹教程
C#做了個多線程網(wǎng)絡通信的例子
內(nèi)核list.h 用戶態(tài)使用
15道java選擇題
圖形圖像處理11.1
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服