Changes between Initial Version and Version 1 of misc/processing/setup_3D


Ignore:
Timestamp:
08/19/14 18:51:57 (10 years ago)
Author:
obina
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • misc/processing/setup_3D

    v1 v1  
     1== 自分で読み込んだ画像を表示:3次元の場合 == 
     23次元ファイル形式のなかで、Wavefront Obj 形式を表示するために、saitoobjloaderを使う 
     3 * https://code.google.com/p/saitoobjloader/ 
     4[[Image(wiki:misc/processing/file:processing_installObjLoader1.png)]] 
     5 * Download ページから OBJLoader.zip version 0.23b をダウンロード 
     6 * NyARToolkitと同様に、Document\Processing\libraries\OBJLoader に展開 
     7[[Image(wiki:misc/processing/file:processing_installObjLoader2.png, 500px)]] 
     8 * Processingを再起動し、OBJLoaderが Library のところに表示されていることを確認 
     9[[Image(wiki:misc/processing/file:processing_installObjLoader3.png, 350px)]] 
     10 * sketchを名前をつけて保存しなおす。今回は sketch_140807d とした 
     11 * Documents\Processing\libraries\OBJLoader\examples\OBJLoader_Multi_Models_MATTD\data にある cassini.obj, cassini.mtl をスケッチのdataフォルダへコピーして、以下のコードを入力。 
     12 
     13{{{ 
     14import processing.video.*; 
     15import jp.nyatla.nyar4psg.*; 
     16import saito.objloader.*; 
     17 
     18Capture cam; 
     19MultiMarker nya; 
     20PImage img_jin, img_poni; 
     21OBJModel  model; 
     22 
     23void setup() { 
     24  size(640, 480, P3D); 
     25 
     26  // setup camera 
     27  String[] cameras = Capture.list(); 
     28  cam = new Capture(this, cameras[0]); // select cam 0 
     29 
     30  // load AR marker information 
     31  nya = new MultiMarker(this,width,height,"camera_para.dat",NyAR4PsgConfig.CONFIG_PSG); 
     32  nya.addARMarker("patt.hiro", 80); 
     33  nya.addARMarker("patt.kanji", 80);   
     34   
     35  // load 2D image file 
     36  img_jin  = loadImage("data/jin01t.gif"); 
     37  img_poni = loadImage("data/poni01t.gif"); 
     38   
     39  // load 3D object model 
     40  model = new OBJModel(this); 
     41  model.load("data/cassini.obj"); 
     42  model.scale(3.0); 
     43  model.translateToCenter(); 
     44   
     45  cam.start(); // start camera   
     46 
     47} 
     48 
     49void draw() { 
     50  if (cam.available() != true) { 
     51      return; 
     52  } 
     53   
     54  background(0);        // clear (black) backgound 
     55  cam.read();           // read camera image 
     56  nya.detect(cam);  // detect marker 
     57   
     58  nya.drawBackground(cam); // draw background camera image 
     59  if (nya.isExistMarker(0)) { 
     60    nya.beginTransform(0); 
     61    model.draw();            // show 3D Obj(Cassini) 
     62    nya.endTransform(); 
     63  } 
     64  if (nya.isExistMarker(1)) { 
     65    nya.beginTransform(1); 
     66    scale(0.25); 
     67    rotateX(radians(-90)); 
     68    translate(-200,-400,0); 
     69    image(img_poni, 0, 0);     // show Poni 
     70    nya.endTransform();   
     71  } 
     72  
     73} 
     74}}} 
     75[[Image(wiki:misc/processing/file:processing_installObjLoader4.png, 400px)]]