日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

processing图片粒子化_个人见到的processing(优质且全的教程,一定看原文)

發布時間:2024/9/19 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 processing图片粒子化_个人见到的processing(优质且全的教程,一定看原文) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這個教程的一個好處是,還會介紹一些常用的庫.

不介紹每個函數, ellipse, box 的參數, 很適合有程序經驗的同學.

多個文件之間,想當于直接把多個文件放在一起執行.

同一個project 里面,不需要import

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

}

}

函數可以寫在函數里面.

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

}

}

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

void bounce() {

if (x>width || x < 0) {

speedX *= -1;

}

if (y >height || y<0) {

speedY *= -1;

}

}

void gravity(){

speedY += 0.2;

}

Ball[] balls = new Ball[20];

for (int i=0;i

balls[i] = new Ball(random(0, width), random(0, height), 5, 5);

}

發現和Java幾乎一樣, 不過Java 幾乎都忘了.

不需要范型. 哈哈:

ArrayList myList;

mylist.add(new Ball(200, 200));

mylist.size();

mylist.get(1);

放在 sketchbook 的libraries 下:

(ENV)ning@ning-laptop ~/idning/langtest/processing/sketchbook/libraries$ ll

total 32K

5022553 drwx------ 5 ning ning 4.0K 2013-03-09 11:29 verletphysics

5022577 drwx------ 5 ning ning 4.0K 2013-03-09 11:29 volumeutils

5022429 drwx------ 5 ning ning 4.0K 2013-03-09 11:29 audioutils

5022441 drwx------ 5 ning ning 4.0K 2013-03-09 11:29 colorutils

5022457 drwx------ 5 ning ning 4.0K 2013-03-09 11:29 datautils

5022470 drwx------ 5 ning ning 4.0K 2013-03-09 11:29 simutils

5022505 drwx------ 5 ning ning 4.0K 2013-03-09 11:29 toxiclibscore

5022495 drwx------ 5 ning ning 4.0K 2013-03-09 11:29 toxiclibs_p5

重啟processing.

我們可以通過 $ cp -r libraries/ libs2 把libraries 當成一個sketch 瀏覽.

看它的例子:

一個 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) ; 不一樣. 產生一個新的vec.

全局變量, 不分文件.

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

PeasyCam

不兼容Processing 2.0

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)

實現鼠標控制的Cam, 很好.

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

提供 滑塊 等元素

這個我在flash 做過.

這個3d圖不錯.

PrintWriter output;

output = createWrite("data/points.csv");

if (keyPressed) {

for (int i=0; i

for (int j=0; j

Vec3D loc = grid[i][j].loc;

output.println(loc.x + "," + loc.y + "," + loc.z);

}

}

output.flush();

output.close();

}

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

這也是我從前用Flash 搞過 .

它用的是 toxi 的VerletPhyiscs 庫.

verlet

VerletParticle. 粒子.

VerletSpring. 彈簧.

GravityBehavior()

比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 環境里面是把所有代碼合在一起包在 PApplet 里面.)

總結

以上是生活随笔為你收集整理的processing图片粒子化_个人见到的processing(优质且全的教程,一定看原文)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。