Processingであそぼう!(1)

プログラミング

こんにちは。過去のフォルダを探していたらProcessingのプログラムを見つけました。ちなみにタイムスタンプは2016年6月8日17時43分でした。

Processing2.2.1で動作確認をしています。

プログラム

今回は、プログラムだけです。箱の大きさが変わります。視点も動きます。光も動きます。

実行したらb,s,l,j,i,m,スペースキー,n,4,6,8,2,0,.のいずれかのキーを押してみてください。

bとsは箱の大きさが変わります。

l,j,i,m,スペースキー,nは視点が動きます。

4,6,8,2,0,.は光が移動します。

それでも結局、タイトルをつけるなら「箱」です。という訳でアイキャッチ画像は「箱」です。

(なぜかシンタックスハイライトがうまく動作しないので、言語名をJavaにしています)

int size = 150;
int pos_x=200;
int pos_y=0;
int pos_z=0;

int l_x=250;
int l_y=-250;
int l_z=250;

void setup(){
 size(500,500,P3D); 
}

void draw(){
  background(0);
  translate(size/2,size/2,size/2);
  camera(pos_x,pos_y,pos_z,0,0,0,0,1,0);
  pointLight(255,255,0,l_x,l_y,l_z);
  stroke(255,0,0);
  line(-size/2,-size/2,-size/2,500,-size/2,-size/2);
  stroke(0,255,0);
  line(-size/2,-size/2,-size/2,-size/2,500,-size/2);
  stroke(0,0,255);
  line(-size/2,-size/2,-size/2,-size/2,-size/2,500);
  stroke(255,255,0);
  line(l_x,l_y,l_z,0,0,0);
  noStroke();
  box(size);
  println("size:"+size);
  println("pos_x:"+pos_x+"pos_y:"+pos_y+"pos_z:"+pos_z);
  println("l_x:"+l_x+"l_y:"+l_y+"l_z:"+l_z);
}

void keyPressed(){
  if(key=='b') size++;
  if(key=='s') size--;

  if(key=='l') pos_x+=5;
  if(key=='j') pos_x-=5;

  if(key=='i') pos_y-=5;
  if(key=='m') pos_y+=5;

  if(key==' ') pos_z-=5;
  if(key=='n') pos_z+=5;

  if(key=='4') l_x-=5;
  if(key=='6') l_x+=5;

  if(key=='8') l_y-=5;
  if(key=='2') l_y+=5;

  if(key=='0') l_z+=5;
  if(key=='.') l_z-=5;

}

今回はここまで。それではまた。

Posted by 春日井 優