//week13-1-processing-video
import processing.video.*; 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-eye-center-up //電腦圖學繪圖時,會設定camera的相關係數 import processing.video.*; Movie movie; void setup(){ size(720,480,P3D); movie = new Movie(this,"street.mov"); movie.loop();//迴圈播放 } void draw(){ background(128); //processing.org/referce/camera_.html camera(mouseX, mouseY,500,360,240,0,0,1,0);//很多參數 //eyex,eyey,eyez,centerx,centery,centerz,upx,upy,upz //把影片中心點當主角 if (movie.available()) movie.read();//if 有新的變讀入 image(movie,0,0);//放影片,放在(0,0) }---------------------------------------------------------------------------------------------
//week13-3-texture-textureMode-beginShape- vertex-endShape //先教貼圖再把<貼圖>加入 PImage img; void setup(){ size(400,400,P3D); img = loadImage("chessboard.png"); textureMode(NORMAL); } void draw(){ background(128); beginShape();//begin to draw texture(img); vertex(40,80,0,0);//4頂點,裁出2三角形 vertex(320,20,1,0); vertex(380,360,1,1); vertex(160,380,0,1); endShape(); }----------------------------------------------------------------------------------------------//week13-4-camera-chessboard-texture-front-left PImage img; void setup(){ size(400,400,P3D); img = loadImage("chessboard.png"); textureMode(NORMAL); } void draw(){ camera(mouseX,200,mouseY,mouseX,200,mouseY-110,0,1,0);//攝影機【往前方看】左右前後移動 background(128); beginShape();//正前方z座標0 texture(img); vertex(0,0,0,0,0);//x,y,z,u,v vertex(400,0,0,1,0); vertex(400,400,0,1,1); vertex(0,400,0,0,1); endShape(); beginShape();//左方x座標0 texture(img); vertex(0,0,0,0,0);//x,y,z,u,v vertex(0,400,0,1,0); vertex(0,400,400,1,1); vertex(0,0,400,0,1); endShape(); }--------------------------------------------------------------------------------------------//week13-5-camera-keyPressed-keyCod-x-y-z-angle-cos-sin PImage 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(){ //camera(mouseX,200,mouseY,mouseX,200,mouseY-110,0,1,0);//攝影機【往前方看】左右前後移動 if(keyPressed) keyPressed(); camera(x,y,z,x+cos(radians(angle)),y,z+sin(radians(angle)),0,1,0); background(128); beginShape();//正前方z座標0 texture(img); vertex(0,0,0,0,0);//x,y,z,u,v vertex(400,0,0,1,0); vertex(400,400,0,1,1); vertex(0,400,0,0,1); endShape(); beginShape();//左方x座標0 texture(img); vertex(0,0,0,0,0);//x,y,z,u,v vertex(0,400,0,1,0); vertex(0,400,400,1,1); vertex(0,0,400,0,1); endShape(); }
---------------------------------------------------------------------------------------------//week13-6-combine-all-movie-capture-pimage-camera-sin-cos-P3D import processing.video.*; Movie movie; PImage img; void setup(){ size(400,400,P3D); movie = new Movie(this,"street.mov"); movie.loop(); img = loadImage("chessboard.png"); textureMode(NORMAL); // video = new Capture(this,640,480); //video.start(); } //Capture video; 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();//forward wall 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(); translate(0,0,1); image(movie,0,0,360,240); // if(video.available()) video.read(); beginShape(); // texture(video); 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(); }








沒有留言:
張貼留言