<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/mypad/">
    <title>自作パッドのススメ</title>
    <link>http://w.atwiki.jp/mypad/</link>
    <atom:link href="https://w.atwiki.jp/mypad/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>自作パッドのススメ</description>

    <dc:language>ja</dc:language>
    <dc:date>2014-06-04T23:46:41+09:00</dc:date>
    <utime>1401893201</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/mypad/pages/42.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/mypad/pages/41.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/mypad/pages/40.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/mypad/pages/39.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/mypad/pages/38.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/mypad/pages/37.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/mypad/pages/36.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/mypad/pages/35.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/mypad/pages/34.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/mypad/pages/33.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/mypad/pages/42.html">
    <title>3Dプリンタ作ったる</title>
    <link>https://w.atwiki.jp/mypad/pages/42.html</link>
    <description>
      -ハード
ホットエンド
https://www.hotends.com/index.php?route=product/product&amp;product_id=88
頼んだのは
フィラメント直径0.75mm
出力直径0.4mm
6000円くらい

モータードライバなど
ArduinoMEGAのシールドRAMPS1.4
http://www.aliexpress.com/item/1pcs-Mega-2560-R3-1pcs-RAMPS-1-4-Controller-5pcs-A4988-Stepper-Driver-Module-1pcs-2004/1487027133.html
5000円くらい

ケーブル類
http://www.aliexpress.com/snapshot/6111625296.html
1500円くらい

リニアベアリング10個内径12mm
http://www.aliexpress.com/snapshot/6111625297.html
1000円くらい

カプトンテープ（耐熱テープ、ホットエンド固定用）
http://www.aliexpress.com/snapshot/6111625299.html
500円くらい

-ファームウェア＝ArduinoMEGAに書き込むやつ
Marlin
ここ
https://github.com/ErikZalm/Marlin/tags
からダウンロードして
Marlinフォルダの中にある
Configuration.h
ボーレートは250000になってるか確認
をArduinoで開いて書き込む

-ホストソフト＝PCにインストールするやつ
Repetier-Host Mac
ここから
http://www.repetier.com/download/
インストールして
PrinterSettingをひらいて、
ポートをusbに
ボーレートを250000
にあわせる。    </description>
    <dc:date>2014-06-04T23:46:41+09:00</dc:date>
    <utime>1401893201</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/mypad/pages/41.html">
    <title>開発再開</title>
    <link>https://w.atwiki.jp/mypad/pages/41.html</link>
    <description>
      一週間近くたって再稼働。原発再稼働反対。オープンソース万歳。
最近寒くなってきました。
その間kinect用のアプリとphpのプログラムをざっくり完成させ、ARTK再開である。
さて、ofxARToolKitPlusを使ってタグらしき場所の取得はできるようになった。
この次である。コンフィデンス（マーカーらしさ）の判定ができていないのだ。
ARTKPlusの基本的なタグ操作の流れは、こんな感じだ。

 tracker = new ARToolKitPlus::TrackerSingleMarkerImpl&lt;6,6,6, ARToolKitPlus::PIXEL_FORMAT_LUM, 10&gt;(width,height);
	const char* description = tracker-&gt;getDescription();
	printf(&quot;ARToolKitPlus compile-time information:\n%s\n\n&quot;, description);
	tracker-&gt;setLogger(&amp;logger);
	tracker-&gt;setPixelFormat(ARToolKitPlus::PIXEL_FORMAT_LUM);	
	if( !tracker-&gt;init((const char *)ofToDataPath(camParamFile).c_str(), 1.0f, 5000.0f))	{
		printf(&quot;ERROR: init() failed\n&quot;);
		delete tracker;
		return;
	}
 tracker-&gt;setBorderWidth(useBCH ? 0.125f : 0.250f);
 tracker-&gt;setThreshold(85);
 tracker-&gt;setUndistortionMode(ARToolKitPlus::UNDIST_LUT);
 tracker-&gt;setPoseEstimator(ARToolKitPlus::POSE_ESTIMATOR_RPP);
 tracker-&gt;setMarkerMode(useBCH ? ARToolKitPlus::MARKER_ID_BCH : ARToolKitPlus::MARKER_ID_SI    </description>
    <dc:date>2012-11-20T14:19:27+09:00</dc:date>
    <utime>1353388767</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/mypad/pages/40.html">
    <title>３日の調査の末</title>
    <link>https://w.atwiki.jp/mypad/pages/40.html</link>
    <description>
      前回は惨敗。なんでかっていうとOFのフォーラムになんか使えそうな記事を発見
http://forum.openframeworks.cc/index.php?topic=5031.msg25335#msg25335
ofxARToolKitPlusに触ることなく解決しようと思ったが、クラスの継承がよくわかんなくて惨敗。まあ、作品を作る限定的なことなので、[[ofxARToolkitPlus]].cppをいじってしまおうと決断。ラッパーを作るのがめんどくさいけど。

 class TrackerSingleMarker : public Tracker

とあるので、TrackerSingleMarkerとTrackerMultiMarkerはTrackerクラスを継承しているとわかる。C++のクラスについてよくわかっていないので、勉強する。

http://www.geocities.jp/ky_webid/cpp/language/012.html
より
&quot;new演算子を使うとメモリの動的確保が行え、delete演算子によって解放することができます。ここで注意して ほしいのですが、newとdeleteは演算子です。mallocやfreeは関数です。この違いには重要な意味があるのです&quot;

うーんおもろい。

でも問題はnewできないんだけどな。少なくともTrackerSingleMarkerクラスなど派生クラスにはデストラクタしかない。コンストラクタは、Trackerにあるのか見てみる。ないな。
TrackerMultiMarkerImpl.hあった。TrackerSingleMarkerImpl.hこっちもあった。
TrackerSingleMarkerImplはTrackerSingleMarkerを継承しているクラスである。

 TrackerSingleMarkerImpl(int nWidth=DEF_CAMWIDTH, int nHeight=DEF_CAMHEIGHT);

ということなので、引数を２個入れればnewできるっぽい。無理。「こういうのインターフェースクラスっていうんだよ、バカ」って、機械に教えられたので調べる。

http://www.geocities.jp/ky_webid/cpp/lang    </description>
    <dc:date>2012-11-20T13:58:37+09:00</dc:date>
    <utime>1353387517</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/mypad/pages/39.html">
    <title>Plusにオリジナルマーカーを登録する</title>
    <link>https://w.atwiki.jp/mypad/pages/39.html</link>
    <description>
      *成功せず
オリジナルマーカーを登録する

前回の調査でPlusのマルチマーカーの処理の流れはわかった。
最後はofにARMarkerInfoクラスとして渡せればいい。

ARToolkitではパターンファイルを読み込むときに
char*patt_nameというポインタアドレスにファイル名を入れ、double patt_widthでパターン幅を定義する。それからarLoadPatt(patt_name)メソッドで読み込むというのが流れ。
Plusでもこれができればよい。
TrackerSingleMarkerImpl.hヘッダーファイルに

 int arLoadPatt(char *filename)  {  return AR_TEMPL_TRACKER::arLoadPatt(filename);  }

というインターフェース(ラッパークラス？)がある。

実体はcore/arGetCode.cxxの中に

 AR_TEMPL_FUNC int
 AR_TEMPL_TRACKER::arLoadPatt(char *filename)

これっぽい。charで渡せば使えそう。戻り値がintということだが何が返ってくるのか、、、。

 return( patno );

とのこと。処理内容をみると、パターンファイルを開いて、認識したらマーカーをパターンとして登録したらIDをふってintで返しつつ、同時にいくつあるかを数えてるっぽい。まずは使うタグを登録ってことで。

ここまでで何となく[[ofxARToolkitPlus]].cppを改造してみる



カメラパラメータはparamFile.cxxにある、

 AR_TEMPL_FUNC int
 AR_TEMPL_TRACKER::arParamLoadDouble( char *filename, int num, ARParamDouble *param, ...)

が使えそう。

でも今回はシングルマーカーを複数使う必要がありそうなので調査。
使えそうなのは2つのファイル
 TrackerSingleMarker.h
TrackerSingleMarkerImpl.h

はじめにシングルマーカー用のトラッカークラスを作    </description>
    <dc:date>2012-11-16T10:56:19+09:00</dc:date>
    <utime>1353030979</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/mypad/pages/38.html">
    <title>ARtoolkitの概念を学ぶ１</title>
    <link>https://w.atwiki.jp/mypad/pages/38.html</link>
    <description>
      この中ではにたような言葉が使われますので、手元にダウンロードして違いを理解してから読んでください。
-ARtoolkit(=ARTK＝本家)→[[hp&gt;http://www.hitl.washington.edu/artoolkit/]]
-ARtoolkitPlus（=Plus＝発展系亜種）→[[hp&gt;http://handheldar.icg.tugraz.at/artoolkitplus.php]]
-ofxARToolkitPlusExample(example=ofxをつかったxcodeのofサンプル)→[[hp&gt;http://310tetsuji.ddo.jp/download/00_of_preRelease_v0061_osxSL_FAT.zip]]→[[hp2&gt;http://interactivefabrication.com/misc/ofxARToolkitPlus.zip]]
-ofxARtoolkitPlus（ofx=openframeworksアドオン上のに入ってるやつ）
ちなみに環境はosx10.7,xcode3,openframeworks61です。

----

ARtoolkitの概念をまず勉強する。
ARtoolkitではまずカメラの補正と、マーカータグの登録を行います。
カメラの補正は動けばいいやってことで、適当にしがちですが、[[ディスプレイ]]環境とか複数マーカー環境ではやっておくべきでしょう。これって、web環境ではカメラデバイスの補正値を最初に取得させるんでしょうかね、、、。それともメーカーの型番とかから判定するのかな、、、。

ofで[[ofxARToolkitPlus]] artk;というラッパークラスをつかって作ると、ofからPlusが使えるようになります。artkはofxARToolkitPlusオブジェクトです。artk.setup()で内部的にはカメラパラメーターを取得します。addon/ofxARToolkitPlus/ofxARToolkitPlus.cppとヘッダファイルをみると

 void ofxARToolkitPlus::setup(int w, int h) {
	// load std. ARToolKit camera file	
	// These n    </description>
    <dc:date>2012-11-15T14:29:20+09:00</dc:date>
    <utime>1352957360</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/mypad/pages/37.html">
    <title>独自マーカーを使いたい</title>
    <link>https://w.atwiki.jp/mypad/pages/37.html</link>
    <description>
      [[ofxARToolkitPlus]]をつかって独自マーカーを使えるようにしたい。

いま、作品の開発を行っているんですけど、ofxARToolkitPlusを使って独自マーカーを使えるようにしたいと思っています。「なんで，遅くなる方法をさがすの？」と不可解に思われるかもしれませんが、どうしてもオリジナルイラストをマーカーに使いたいという需要があるのです。で、調べていくとたぶん使えそうなことがわかってきました。

ofxARToolkitPlusというアドオンは事実上ARtoolkitPlusのラッパー（ofからアドオンとして使えるようにインターフェイスを作ったもの、ofxはofのアドオンであることの接頭辞）です。しかしこのARtoolkitPlusの日本語情報はあまりないので、まとめておこうという次第です。自分用のメモですので誤りがあるかもしれません。引用などしてフォローいただければありがたいです。
まず、日本語情報をざっと集めてわかったことと、わからないことをかいてみます。

日本語情報
[[こちらのサイト&gt;http://oshiro.bpe.es.osaka-u.ac.jp/people/staff/imura/computer/OpenGL/artp/disp_content]]をみるとARToolKitPlusはオープンソースであり、開発は2006年6月で終了しています。つまり、コード自体はもう6年も前の環境なんですね。なので、ofのアドオンもそれ以降（おそらくofの61くらい）に作られましたが、ofのバージョンはあがっていくので、サンプル動かないというものが増えています。これは、ARToolKitPlusのせいではなく、アドオンが依存しているofファイルがどんどん新しくなるので、整合性がとれなくなっているためと考えられます。

ofxARToolkitPlusのアドオンはMac環境ではxcode10.5でofのバージョン61-62あたりで動くことを確認しています。この辺の詳細は[[こちら&gt;http://www43.atwiki.jp/mypad/pages/36.html]]に書いておきました。

ofxARToolkitPlusはofのバージョンによって仕様が乱立しているようで、いま2012年11月、新しい環境で動くものは探し    </description>
    <dc:date>2012-11-15T09:58:59+09:00</dc:date>
    <utime>1352941139</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/mypad/pages/36.html">
    <title>10.7でofxARToolkitPlusを動かす</title>
    <link>https://w.atwiki.jp/mypad/pages/36.html</link>
    <description>
      *おすすめ記事
osをmacの10.7lionにしたらxcode4になったのでの開発対象が10.6以降になってしまって、そのきになって、openframeworksのバージョンも72とかにあげたら[[ofxARToolkitPlus]]が動かなくなりました。

で、そのまま放置していたんですね。

でも、けっこう[[前のページ&gt;http://www43.atwiki.jp/mypad/pages/20.html]]の注目度が高くてうれしいのと、作品つくるのに必要になったこともあって、もう10.7での実行環境を一度整理しておこうと思います。助かる人もいるかも知れないので。
まず、前に紹介したofxARToolkitPlusの実行環境について整理しておきます。

開発環境は10.6です。
xcodeのバージョンは3でした。
書き出しは10.5用のソフトウエアです。
openframeworksのバージョンは61または62でもいけるかな、、、。

この一見古めかしい開発環境がとても大切です。

開発環境は10.6とか10.7でもいいんですが、おそらくコンパイラと、exampleの依存ファイルの関係で、openframeworksのバージョンは61でなければ、10.5sdkでの書き出しができる、xcode3できなければければうまくコンパイルできないようです。
Xcodeの3と4でsdkに互換性がないのか、sdk入れただけだとうまく動きませんでしたので調査中です。

ということで、xcode３さえあれば動く（と思う）データをとりあえず丸ごとおいておきますので、使えたら使ってください。
サーバー超不安定なので、ありがたがってくれるひとで時間があるひとはgitHubとか使える人はうまいことあげといてください。xcode4でも使えるようにしてください。英語できる人は、使い方訳しておいて下さい。
適当ですみません。

http://310tetsuji.ddo.jp/download/00_of_preRelease_v0061_osxSL_FAT.zip

Xcode3もおいとこうかと思ったんですが、4GBもあったんで，ちょっと保留です。どっかからGetできるかな、、、。新しいのが何でもいいって訳じゃないんですよね。

→ありまし    </description>
    <dc:date>2012-11-16T10:56:58+09:00</dc:date>
    <utime>1353031018</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/mypad/pages/35.html">
    <title>HMD</title>
    <link>https://w.atwiki.jp/mypad/pages/35.html</link>
    <description>
      2012年ヘッドマウントディスプレイまとめ
|メーカー|商品名|解像度|アスペクト|インプット|画角|電源|価格|備考|
|ソニー|HMZ-T1|1280*720|16:9|45|||||
|Carl Zeiss| Cinemizer OLED 720p 3D Glasses|1280*720|16:9|HDMI|画角|電源|500$?||
|メーカー|Wrap1200VR|WVGA(852x480)|16：9|インプット|35度|電源|価格|備考|    </description>
    <dc:date>2012-01-07T08:10:51+09:00</dc:date>
    <utime>1325891451</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/mypad/pages/34.html">
    <title>ことえり</title>
    <link>https://w.atwiki.jp/mypad/pages/34.html</link>
    <description>
      ことえりの入力異常について報告

ことえりの単語登録をするとシステムは自動的に
ユーザー＞ライブラリ&gt;Preferences
の中にcom.apple.JapaneseAnalysisというフォルダを生成する。
この内容が適切でないと、異常をきたすらしい。

捨てれば初期化されるので、大丈夫にはなるんだけれど、登録した単語も消えてしまう。
その辺の見極めが大切。    </description>
    <dc:date>2011-05-25T19:34:26+09:00</dc:date>
    <utime>1306319666</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/mypad/pages/33.html">
    <title>tracker-＞がさしているソース</title>
    <link>https://w.atwiki.jp/mypad/pages/33.html</link>
    <description>
      [[ofxARToolkitPlus]].cppを使っていると

  ofPoint ofxARToolkitPlus::getDetectedMarkerCenter(int markerIndex) {
  	ARToolKitPlus::ARMarkerInfo marker = tracker-&gt;getDetectedMarker(markerIndex);
  	return ofPoint(marker.pos[0], marker.pos[1]);
  };

こんな表記に出くわす

tracker-＞というインスタンスをARToolKitPulusがどう処理しているのかレポート


TrackerMultiMarkerオブジェクトから
trackerインスタンスを作っていることは分かった。

でメソッドはどこにあるのか検索したところ以下のような位置にあるっぽい
TrackerMultiMarkerImpl.cxxとかTrackerMultiMarker.hとかいうのに情報が書かれている
（Implとついているのはインターフェイスと呼ばれるらしい）
http://d.hatena.ne.jp/wildcats/20061203/1165135539

(ちなみに拡張子cxxはシープラスプラスのことのようです。)
http://slashdot.jp/~ardry/journal/254453

#image(スクリーンショット（2011-05-18 19.45.35）.png)
#image(abc.png)    </description>
    <dc:date>2011-05-18T20:34:35+09:00</dc:date>
    <utime>1305718475</utime>
  </item>
  </rdf:RDF>
