Archive for the Programming Category

コンピュータビジョン・拡張現実感に関する普通じゃない勉強会の後,
masayashiくんから
>GAINERとwiiリモートを使ったアプリ紹介。今度動画あげてください!

という要望があったので,本来発表デモに含めるはずだった物理演算機能を追加してからアップします.
#物理演算エンジン使うの初めてだったので,さすがに前日数時間だけだとそこまでは無理だった。。。
といっても,Seleneの物理シミュレーション機能(内部でOpen Dynamics Engineを使っているっぽい)を
利用させてもらうだけなので,自分では大したことはしませんが.

とりあえず,その前準備として簡単な衝突デモを作成することに.
ただ,事前に定義されているプリミティブ図形の衝突データを3Dモデルに流用するのって
どうやるんだろーとSelene ドキュメントを読みながら右往左往してたので1時間くらい格闘する羽目に。。。

以下が衝突デモ動画です.
※3Dモデルは,ファイル保管庫@七葉からお借りしました.

Macと戯れていたら,コンピュータビジョン・拡張現実感に関する普通じゃない勉強会
近づいてきたので,そろそろ重い腰を上げてみようかと思います(苦笑)
スロースターターですみません。。。>関係者各位

さて,自分のネタですが,発表作品にGainerを使っているものがなさそうなので,
Gainerを絡めたものを出す予定.そのため,フォルダに長い間眠っていた
Gainer with C++ vol.0で自作したライブラリを引っ張り出してみる.

で,いざ使おうと思っていると,単一センサの値読み取り程度なら十分だけど,
いろいろ不備があることが判明したので,同時期に同じことをやっていた
mootoh.log - Gainer++ - GainerをC++から使うを参考に再設計することに.
#正確には上記のもののWindows移植作業+α と言った方が正しいかも。。。

Win32 APIのスレッド周りの知識が怪しいので,結構苦戦して3時間くらいかかったけど,
とりあえず動くものはできました.これでGainerをC++で簡単に扱えます!!
#他人のソースを読むと,こんな書き方ができるのかーと発見があって面白かった

ということで,ボタンを押すと「LED点灯 + ウィンドウ上への情報表示」を行うサンプルです.
相変わらずサンプルが適当だな。。。>自分

手始めにApple Developer Documentationにある「Cocoaセミナー 初級編」にチャレンジしてみる.
個人的にInterface Builderの操作が新鮮で楽しい(昔やったWindowsのMFCは好きになれなかったな。。。).

とりあえず,4章のHello Worldアプリケーションまでやってみました.
ただ,テキスト通りにコーディングしただけなので,文法を理解しつつ操作に慣れていかないと.


Hello Worldアプリケーション
*****************
iPhoneタッチ機能、ジェスチャ機能のプログラミング方法 - SitePenにも紹介がありますが,
Touching and Gesturing on the iPhoneという記事が興味深いです.iPhoneに関わらず,
タッチ機能を持つアプリ開発において参考になる気がする.

あと,ソニー エクスプローラサイエンス ワークショップがすごく楽しげですね.
9月23日までやっているみたいなので,機会があったら行ってみたい.

以前,ARToolKitのインストール周りで格闘したわけですが,
Vistaにも入れてみるか。。。ということでやってみました.
#simpleVRML問題はこの前やった解決法を忘れてて地味に30分くらい戦ってました。。。

また,前回と同様にDSVLを再ビルドして生成したDSVL.dll,DSVLd.dllを
C:\Program Files\ARToolKit\binにコピー.そして,simpleTest.exeを実行!!
するとなぜかプログラムが落ちる。。。orz
XPで試したときは落ちてなかったのになぁ(遠い目)

とりあえず,キャプチャ周りが怪しいので,ARToolKit公式サイトで配布されているDSVL-0.0.8b.zip
DSVideoLibで配布されているdsvl-0.0.8c.zipと差し替えてみるとなぜかうまく行きました.
#まだ,エラーの原因や両者の差分は時間が無くて読めてません。。。
#とりあえず,動作報告と言うことで.稀有なVistaユーザに幸あれ.


まぁ,DSVL自体が結構古いことだし,これを機会にキャプチャ周りを変更してもいいのかもしれないけど.

ニュースで今日からGW後半だと言っていますが,こちらのGWは今日からスタート。。。
今年のGWは4連休なので,言うほどゴールデンではない気がします(苦笑)
#といっても,あんまり休みが長いとその後の反動も大きいので微妙ですが.

**********************************

折角CPUのコアが4つあるのでIntel TBBを少しだけ勉強中.
ということで,wikiの方にIntel TBB/インストールという記事をアップしました.
間違い等ツッコミがあればお願いします.

あと,最近wikiへのアクセスが若干増えたような気がします.
特にWindows SDKCVCAMvideoInput Library関連のアクセスが多いみたいですね.

videoInput Libraryに関しては,4月に久々のバージョンアップがあったみたいですがまだ試せてません。。。
メモリ確保・解放関連のバグフィックスをしたらしいので, 以前のvideoInput Libraryを使っている人は
バージョンアップを検討した方が良いかもしれません.

最近,(個人的に)デザインパターンを勉強しています.

学生の時はアイディアが浮かぶと思いつくままガーっとコーディングしていたのですが,
いい加減いい歳(25)なので,先人の知恵を借りながら幅を広げたいなと.

ということで,増補改訂版Java言語で学ぶデザインパターン入門を読みながら,
C++で小さなサンプルプログラムをちょこちょこ作っています.
#Javaでも書けるけど,(低レベルなところまで書ける)C++の方が個人的に好きなので.

(デザインパターン適用ありきの設計じゃなくて適材適所で!ということを頭の片隅に置かないといけないけど)
うまく活用できれば効率よく開発ができそう.ちょっとずつでも良いので,自分のものにしたい!!

増補改訂版Java言語で学ぶデザインパターン入門
著者/訳者:結城 浩
出版社:ソフトバンククリエイティブ( 2004-06-19 )
定価:¥ 3,990
単行本
ISBN-10 : 4797327030
ISBN-13 : 9784797327038

著者の方のblogエントリで知ったのですが,日本初のProcessing解説書「Built with Processing」の改訂版が出たみたいです.僕自身,初版を持ってるので多分買わないと思いますが,Processingの最新バージョンに対応してたり,追加の記事もあるらしいので,これからProcessing始めてみる人には良いと思います.

Built with Processing [改訂版]
著者/訳者:前川 峻志 田中 孝太郎
出版社:ビー・エヌ・エヌ新社( 2008-03-31 )
定価:¥ 3,570
単行本
ISBN-10 : 4861005582
ISBN-13 : 9784861005589



あと,Processingつながりということで,Augmented Reality Library in Processingという記事の紹介.
simpleARToolKitというProcessingライブラリらしい.blogの動画を観た感じだと思ったより軽快に動いてますね.

カメラ周りのコードが簡単に書けるProcessingでARToolKitがこれだけ軽快に動くとなると,
Processingで用意されている便利な機能やGainerとの連携なんかができたりといろいろ楽しそうです.

************
あと,今日知ったのですが,C/C++のポインタの機能–変数の場所(アドレス)という記事がえらいことになってます.簡潔に言うと,上記の記事のポインタ周りの解説・サンプルコードが間違っているという話なわけですが,C++界で著名なεπιστημηさん等が色々と突っ込みを入れている模様.

僕自身も「エイプリールフールネタか!!」と思ってましたが,素で間違っていたみたい.まぁ,そこそこC,C++がわかっている(と自負している)人は間違い探し的な意味合いで読んでみると勉強になるかも(※ポインタ苦手な人は注意!!).といいつつ,C言語習いたてのとき(高専在学時)はポインタ苦手だったので,あんまり責められないですが(苦笑)

久々にARToolKit触ってみました.
まぁ,手元にまともなwebカメラはありませんが。。。
※ IRカメラ for Diffused Illumination 作成のためにバラしたので

さて,現在手元にある環境はVisual Studio 2005 pro + Windows SDK.
この環境でARToolKit-2.72.1をビルドすると,
libARvrmlの生成でこける –> simpleVRMLビルド失敗
というわけのわからない事態に陥ります(※VRMLを見捨てれば無問題).

なんか,これは学生の時に屈した気が。。。
と苦い思い出がフラッシュバックしつつ,「この1年間の成果を見せてやる!!」という
休日深夜の変なノリで,ごにょごにょやってなんとかクリアしました.リベンジ成功!!
※簡単に上手くいったような書き方ですが,2回程挫折しかけました(苦笑)
#公式の解決法ではないため,ここにはたぶん載せません.
#興味のある人はメールででも聞いてください.


さて,残るはARToolKit\binにできる実行プログラム(Debug版)を実行しようとすると,
「MSVCP71D.dll,MSVCR71D.dllがありません!」と怒られる件について.

Web上では,
・Debug版切り捨て(世知辛い。。。)
MSVCP71D.dll,MSVCR71D.dll※再配布禁止ファイルをweb上でダウンロード

等の策を講じられているみたいですが, これだと根本的に何も解決してないので,
DSVLを再ビルドしてDSVLd.dllを生成,ARToolKit\binにコピーでクリアしました.

まぁ,このビルドにもいろいろ罠があって苦労しましたが.しばらくVC++触りたくない(苦笑)
頭の体操的には結構良いレベルではないかと思うので,興味のある人は試してみると良いかも.

#ARToolKit-2.72.1, VC++ 2005 という組み合わせでビルドに成功しないという事例が
#(国内の)Web上にはほとんどないんですけど,自分だけ?
#
この問題で困っている人って潜在的に結構いそうな気がするんですが。。。

(ホントに基本機能のみだけど)GainerをC++で扱えるようになったので,某動画サイトの流行に乗っかってみました.後悔はしていない.やってることは,加速度センサの値に応じて,画像を切り替えてるだけです(←俗に手抜きともいう).

今回,初めて某動画サイトへの動画投稿に挑戦しました.
叩かれそうで怖い。。。 まぁ,生暖かい目で(以下略)

OpenCV/RAW画像生成 - Point at infinityという記事をアップしました.
といっても個人用ですが。。。(←需要があるとは思っていない)
まぁ,参考までに.

/****** [ここから余談]******
OpenCVの普及により画像処理という分野が身近になったのはいいのですが,最初からOpenCVに依存しすぎると,理屈がわかっていなくても高度なアルゴリズムが簡単に組めてしまうため,いざ応用となるとアタフタということになりがちなので,C言語習いたての人なんかはRAWファイルを使って一からアルゴリズムをコーディングしてみるのも後々のためにいい勉強になりそう.C言語に慣れてきたら,ppmなどファイル情報がヘッダ部に書き込まれているようなフォーマットにチャレンジするとかね.
******[ここまで余談] ******/

ということで,OpenCVの話はここらへんにして.
最近,30日でできる! OS自作入門という本を買いました.
以前から気にはなっていたのですが,なかなか購入までには踏み切れなくて。。。

なのでやる気が再燃した今こそと,思い切って購入.
値段は3,990円とちょっと高めですが,それだけの価値がある読みやすい本だと思います.

ということで,現在1日目終了(バイナリエディタ久し振り使ったな…).
いつまで自分が続くのか…というのも気がかりですが,最近いろんなものに手を付け過ぎな感が。。。

30日でできる! OS自作入門
著者/訳者:川合 秀実
出版社:毎日コミュニケーションズ( 2006-03 )
定価:¥ 3,990
単行本
ISBN-10 : 4839919844
ISBN-13 : 9784839919849



またまた,話が飛びますが,奥華子のシングル「手紙」をようやく買いました.
GYAOで「手紙」のPVが120秒間視聴できるんですけど,音楽とPVの出来がすごく良くて癒されます.
当分,BGMとして活躍しそうです.

手紙 / 奥華子 / Maxi CD ( Music )
ポニーキャニオン
定価:¥ 1,200 ( 2008-01-23 )
ASIN : B000ZEJT5I ( JAN コード : 4988013435049 )