課堂作業1
//week13_1_processing_video //sketch-library-manage library... import processing.video.*; //Capture video;//有鏡頭 Movie movie;//無鏡頭 void setup() { size(640, 480); //video = new Capture(this, 640, 480); //video.start();//open video movie = new Movie(this, "street.mov");//讀檔 movie.loop(); } void draw() { //if(video.available()) video.read(); //image(video, 0, 480); if(movie.available()) movie.read(); image(movie, 0, 0); }
課堂作業2//week13_2_camera_movie_eye_center_up //電腦圖學繪圖時,會設定camera的相關係數 import processing.video.*; Movie movie; void setup() { size(600, 400, P3D); movie = new Movie(this, "street.mov"); movie.loop();//迴圈播放 } void draw() { background(128); camera(mouseX, mouseY, 120, 300, 200, 0, 0, 1, 0); //eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ 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); camera(mouseX, mouseY, 500, 360, 240, 0, 0, 1, 0); //eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ //把影片中心點當主角 if(movie.available()) movie.read(); image(movie, 0, 0); }
課堂作業3//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(); texture(img); vertex(40, 80, 0, 0); vertex(320, 20, 1, 0); vertex(380, 360, 1, 1); vertex(160, 380, 0, 1); endShape(); }課堂作業4//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 - 10, 0, 1, 0); background(128); beginShape();//正前方,z皆為0 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();//left,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(); }
課堂作業5//week13_5_camera_keyPressed_keyCode_x_y_z_cos_sin //改自week13_4//利用方向鍵移動 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 - 10, 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); vertex(400, 0, 0, 1, 0); vertex(400, 400, 0, 1, 1); vertex(0, 400, 0, 0, 1); endShape(); beginShape();//left,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(); }
課堂作業6//week13_6_combine_all_Movie_Capture_PImage_camera_sin_cos_P3D //把今天教得全加入 //street.mov 及 chessboard.png 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();//正前方,z皆為0 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();//left,x皆為0 texture(video); 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(); }






沒有留言:
張貼留言