辅助粒子效果,展开视频定格图像。
input:
import processing.video.*;
Particle[] particles;
//PImage mount;
Capture mount;
void setup(){
size(600,445);
//mount = loadImage("xueshan600x445.jpg");
mount = new Capture(this,600,445);
mount.start();
particles = new Particle[1000];
for (int i = 0;i < particles.length;i++){
particles[i] = new Particle();
}
background(0);
}
void captureEvent(Capture video){
video.read();
}
void draw(){
//background(0);
for (int i = 0;i < particles.length;i++){
particles[i].display();
particles[i].move();
}
}
input(Particle类):
class Particle{
float x;
float y;
float vx;
float vy;
Particle(){
x = width/2;
y = height/2;
float a = random(TWO_PI);
float speed = random(1,2);
vx = cos(a)*speed;
vy = sin(a)*speed;
}
void display(){
noStroke();
color c = mount.get(int(x),int(y)); //绘制图像像素颜色
fill(c);
ellipse(x,y,3,3); //粒子对象
}
void move(){
x = x + vx;
y = y + vy;
}
}
output: