import processing.video.*;
//week13-1 //java使用外掛的匯入 //Capture video;//有視訊鏡頭的用這格版本 Movie movie;//沒有鏡頭用這個版本 void setup(){ size(640,480); //video=new Capture(this,640,480); //video.start(); movie=new Movie(this,"street.mov"); movie.loop(); } void draw(){ //if(video.available()) video.read(); //image(video,0,0);//若沒有視訊就註解掉 if(movie.available()) movie.read(); image(movie,0,0); }
//week13-2-camera-movie-center-up//電腦圖學在繪圖時 會設定camera的相關係數import processing.video.*;//要使用影片外掛Movie movie;void setup(){size(600,400,P3D);//要記得加上p3d才能有opengl 3d功能movie=new Movie(this,"street.mov");movie.loop();}void draw(){background(128);camera(mouseX,mouseY,120,300,200,0,0,1,0);//很多參數if(movie.available())movie.read();image(movie,0,0);}
//week13-3//再把貼圖加進去PImage img;void setup(){size(400,400,P3D);img=loadImage("chessboard.png");textureMode(NORMAL);}void draw(){background(128);//灰背景beginShape();//開始畫texture(img);//把圖片當貼圖vertex(40,80,0,0);//4個頂點vertex的四邊形 會裁出2個三絞刑vertex(320,20,1,0);vertex(380,360,1,1);vertex(160,380,0,1);endShape();}
//week13-4PImage img;void setup(){size(400,400,P3D);img=loadImage("chessboard.png");textureMode(NORMAL);}void draw(){camera(mouseX,200,mouseY,mouseX,200,mouseY-10,0,1,0);background(128);beginShape();texture(img);vertex(0,0,0,0,0);vertex(400,0,0,1,0);vertex(400,400,0,1,1);vertex(0,400,0,0,1);endShape();beginShape();texture(img);vertex(0,0,0,0,0);vertex(0.400,0,1,0);vertex(0,400,400,1,1);vertex(0,0,400,0,1);endShape();}
//week13-5PImage img;void setup(){size(400,400,P3D);img=loadImage("chessboard.png");textureMode(NORMAL);}float x=200, y=200, z=200, angle=180;void keyPressed(){if(keyCode==LEFT) angle--;if(keyCode==RIGHT) angle++;if(keyCode==UP){x+=cos(radians(angle));z+=sin(radians(angle));}if(keyCode==DOWN){x-=cos(radians(angle));z-=sin(radians(angle));}}void draw(){if(keyPressed) keyPressed();camera(x,y,z,x+cos(radians(angle)),y,z+sin(radians(angle)),0,1,0);//camera(mouseX,200,mouseY,mouseX,200,mouseY-10,0,1,0);background(128);beginShape(); //正前方Z座標對放0texture(img);vertex(0,0,0,0);vertex(400,0,0,1,0);vertex(400,400,0,1,1);vertex(0,400,0,0,1);endShape();beginShape(); //左方,X座標對放0texture(img);vertex(0,0,0,0);vertex(0,400,0,0,1);vertex(0,400,400,1,1);vertex(0,0,400,1,0);endShape();}import processing.video.*;PImage img;Movie movie;void setup(){size(400, 400, P3D);movie = new Movie(this, "street.mov"); // 720x480movie.loop(); // 記得要把視訊「循環播放」img = loadImage("chessboard.png");textureMode(NORMAL);video = new Capture(this, 640, 480); // 建立攝影機物件video.start(); // 要記得「開始播放」}void draw() {camera(200,200,200,200+cos(radians(frameCount)),200,200+sin(radians(frameCount)),0,1,0);background(128);if (movie.available()) {movie.read();}beginShape();texture(img);vertex(0, 0, 0, 0, 0);vertex(400, 0, 0, 1, 0);vertex(400, 400, 0, 1, 1);vertex(0, 400, 0, 0, 1);endShape();image(movie, 0, 0, 360, 240);if (video.available()) {video.read();}beginShape();texture(video); // 使用攝影機畫面作為貼圖vertex(0, 0, 0, 0, 0);vertex(0, 400, 0, 0, 1);vertex(0, 400, 400, 1, 1);vertex(0, 0, 400, 1, 0);endShape();}






沒有留言:
張貼留言