Changes between Version 6 and Version 7 of misc/processing/setup_ar


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

--

Legend:

Unmodified
Added
Removed
Modified
  • misc/processing/setup_ar

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