Changes between Version 3 and Version 4 of misc/processing/setup_ar


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

--

Legend:

Unmodified
Added
Removed
Modified
  • misc/processing/setup_ar

    v3 v4  
    4141   * ファイルの背景を透過GIFに変換して、ローカルフォルダに保存 
    4242      * 現在の例では Documents\Processing\sketch_140807c\data に保存した。 
    43  * プログラムを作成(2つのマーカーに対し、) 
     43 * プログラムを作成(2つのマーカーに対し、別の画像を表示) 
    4444{{{ 
    4545import processing.video.*; 
     
    9696} 
    9797}}} 
    98  *  
     98画像によって位置の微調整が必要。 
    9999 
     100== 自分で読み込んだ画像を表示:3次元の場合 == 
     1013次元ファイル形式のなかで、Wavefront Obj 形式を表示するために、saitoobjloaderを使う 
     102 * https://code.google.com/p/saitoobjloader/ 
     103 * Download ページから OBJLoader.zip version 0.23b をダウンロード 
     104 * NyARToolkitと同様に、Document\Processing\libraries\OBJLoader に展開 
     105 * Processingを再起動し、OBJLoaderが Library のところに表示されていることを確認 
     106 * sketchを名前をつけて保存しなおす。今回は sketch_140807d とした 
     107 * Documents\Processing\libraries\OBJLoader\examples\OBJLoader_Multi_Models_MATTD\data にある cassini.obj, cassini.mtl をスケッチのdataフォルダへコピーする 
    100108 
     109{{{ 
     110import processing.video.*; 
     111import jp.nyatla.nyar4psg.*; 
     112import saito.objloader.*; 
    101113 
     114Capture cam; 
     115MultiMarker nya; 
     116PImage img_jin, img_poni; 
     117OBJModel  model; 
     118 
     119void setup() { 
     120  size(640, 480, P3D); 
     121  String[] cameras = Capture.list(); 
     122 
     123  cam = new Capture(this, cameras[0]); // select cam 0 
     124 
     125  nya = new MultiMarker(this,width,height,"camera_para.dat",NyAR4PsgConfig.CONFIG_PSG); 
     126  nya.addARMarker("patt.hiro", 80); 
     127  nya.addARMarker("patt.kanji", 80);   
     128   
     129  img_jin  = loadImage("data/jin01t.gif"); 
     130  img_poni = loadImage("data/poni01t.gif"); 
     131   
     132  model = new OBJModel(this); 
     133  model.load("data/cassini.obj"); 
     134  model.scale(3.0); 
     135  model.translateToCenter(); 
     136   
     137  cam.start(); // start camera   
     138 
     139} 
     140 
     141void draw() { 
     142  if (cam.available() != true) { 
     143      return; 
     144  } 
     145   
     146  background(0);        // clear (black) backgound 
     147  cam.read();           // read camera image 
     148  nya.detect(cam);  // detect marker 
     149   
     150  nya.drawBackground(cam); // draw background camera image 
     151  if (nya.isExistMarker(0)) { 
     152    nya.beginTransform(0); 
     153    model.draw(); 
     154    nya.endTransform(); 
     155  } 
     156  if (nya.isExistMarker(1)) { 
     157    nya.beginTransform(1); 
     158    scale(0.25); 
     159    rotateX(radians(-90)); 
     160    translate(-200,-400,0); 
     161    image(img_poni, 0, 0);     // show Poni 
     162    nya.endTransform();   
     163  } 
     164  
     165} 
     166}}} 
     167