[Processing]3d始めました。

Written by uechoco 2月 26
このエントリをはてなブックマークに追加[Processing]3d始めました。のはてなブックマーク被リンク数このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをBuzzurl(バザール)に追加

いよいよProcessingの3Dに入りました。こないだまで教科書だった「Built with Processing」は入門書なので、3Dはほとんど載っていないので、これからはサンプルとネット上の数少ない資料で頑張るしかないです。

手始めに球体を衛星に見立てて、原点の周りを回らせてみました。真新しい命令といえばshpere()とcamara()くらいなので、3Dも(現時点では)それほど難しくはないですね!

Processing:
  1. float angle;
  2. float omega = 5;
  3. float radius = 100;
  4.  
  5.   size (400, 400, P3D);
  6.   colorMode(RGB, 100);
  7.   background(90);
  8.   frameRate(15);
  9.   angle = 0;
  10. }
  11.  
  12.   lights();
  13.   background(90);
  14.   // cameraPos, targetPos, upVector
  15.   camera(-100, -50, 250, 0, 0, 0, 0, 1, 0);
  16.  
  17.   drawAxis(100);
  18.  
  19.   noStroke();
  20.   fill(100);
  21.   float x = cos(radians(angle)) * radius;
  22.   float y = -x;
  23.   float z = sin(radians(angle)) * radius;
  24.   translate(x, y, z);
  25.   sphere(10);
  26.   popMatrix();
  27.   angle = (angle + omega) % 360;
  28. }
  29.  
  30. void line(float x1, float y1, float z1, float x2, float y2, float z2) {
  31.   beginShape(LINES);
  32.   vertex(x1, y1, z1);
  33.   vertex(x2, y2, z2);
  34.   endShape();
  35. }
  36.  
  37. void drawAxis(float length) {
  38.   stroke(100, 0, 0);
  39.   line(0, 0, 0, length, 0, 0);
  40.   stroke(0, 100, 0);
  41.   line(0, 0, 0, 0, -length, 0);
  42.   stroke(0, 0, 100);
  43.   line(0, 0, 0, 0, 0, -length);
  44. }

※衛星の静止画

processing_satelliteSphere.jpg

※衛星軌道

processing_satelliteSphereOrbit.jpg

3Dデビューはあっさりですね。この調子でがんばります!

このエントリをはてなブックマークに追加[Processing]3d始めました。のはてなブックマーク被リンク数このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをBuzzurl(バザール)に追加

No Responses to “[Processing]3d始めました。”

コメントはまだありません。

Comments RSS rss うえちょこ@ぼろぐ TrackBack Identifier URI rss うえちょこ@ぼろぐ

コメントをどうぞ