2025年5月15日 星期四

12750272_陳昱瑄,week13

 import processing.video.*;

//Capture video;//

Movie movie;//

void setup(){

  size(640,960);

  //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,480);

  if(movie.available())movie.read();

  image(movie,0,0);

}

//week13-2-camera-movie-eye-center-up
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, 560, 360, 240, 0,  0, 1, 0);
  
  if(movie.available()) movie.read();
  image(movie, 0, 0);
}

PImage img;
void setup(){
  size(400,400,P3D);//要加 P3D 才有OpenGL 3D 功能
  img = loadImage("chessboard.png"); // 記得把圖檔拉進來
  textureMode(NORMAL);//有很多種貼圖模式
}//先用最簡單NORMAL來畫 2個三角形 不像是3D透視的效果
void draw(){
  background(128);//灰背景
  beginShape();//開始畫
  texture(img);//把圖片 當貼圖
  vertex(40, 80, 0, 0);//四個頂點vertex的四邊形
  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-10, 0, 1, 0);
  background(128);
  beginShape();//開始畫
    texture(img);
    vertex(0, 0, 0, 0, 0);//四個頂點vertex的四邊形
    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的四邊形
    vertex(0, 400, 0, 1, 0);
    vertex(0, 400, 400, 1, 1);
    vertex(0, 0, 400, 0, 1);
  endShape();
}
//week13-5-camera-keyCode-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(){
  if(keyPressed) keyPressed();
  //camera(mouseX, 200, mouseY, mouseX, 200, mouseY-10, 0, 1, 0);
  camera(x,y,z, x+ cos(radians(angle)), y, z+sin(radians(angle)), 0, 1, 0);
  background(128);
  beginShape();//開始畫
    texture(img);
    vertex(0, 0, 0, 0, 0);//四個頂點vertex的四邊形
    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的四邊形
    vertex(0, 400, 0, 1, 0);
    vertex(0, 400, 400, 1, 1);
    vertex(0, 0, 400, 0, 1);
  endShape();
}
//week13-6-
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();//開始畫
    texture(img);
    vertex(0, 0, 0, 0, 0);//四個頂點vertex的四邊形
    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的四邊形
    vertex(0, 400, 0, 1, 0);
    vertex(0, 400, 400, 1, 1);
    vertex(0, 400, 0, 0, 1);
  endShape();
}























沒有留言:

張貼留言