Monthly Archives: November 2009

Snow Leopard で CUDA

Snow LeopardにCUDAをいれてみたメモ。

基本的にはこちらのサイト通りでOK
理系大学院生の視点

ただ最後のmakeのところがうまくいかず。

エラーでググると以下のページのみがヒット。
http://forums.nvidia.com/index.php?showtopic=106394&st=20

ここででているように

make clobber
make i386=1

でうまくmakeできた。

サンプルのfluidsGLはこんなかんじ。

fluidsGL

Blenderで複数のビューに異なるアクティブカメラを割り当てる

たぶん忘れるのでメモ。
Blenderの異なるビューに異なるアクティブカメラを設定する方法。

↓みたいな感じ

Blender_cam_1

アクティブカメラを設定したいビューのカメラのロックを解除する。
Blender_cam_2

その上で、アクティブにしたいカメラを選択し
Ctrl+0(テンキー!)
ここでテンキーじゃない0を押してもうまく行かないので注意。

TCPとUDP

maxmspは公式にはudpしかサポートしていない?よう。
tcpしか使った事がないので、udpについてちょっと勉強。

ようはudpの特徴としては

  • 高速
  • マルチキャスト対応
  • 信頼性ない

ということのようだ。

早速、送信プログラムから”HELLO”という文字列を受信プログラムへ
100万回送って、その実行時間をTCPとUDPで比べよう、という事を思いつく。

さくっとUDPから実験する。

送信プログラムは正常終了するも、受信プログラムが終わらない。
受信側そのままで、送信側を再度起動すると、起動直後に受信側が正常終了。

これが信頼性ないってことね汗
ようは最初の100万回の送信が、全部到着しなかったと。

ちなみにどんくらいまで遅れてるのかと思って、
受信側で受信した直後にprintfで今の回数を表示とかにすると、飛躍的に受信できなくなる。

送信100万に対し、受信8万とか。

これが信頼性ないってやつですね、分かります。
printfしてる間にも容赦なく送りつけてくるっドSってことですね、分かります。
よくわかんないけど、こんなんで大丈夫なんだろうか。

OpenCVでカメラをキャプチャするコード

覚えられないのでメモ。

他に

  • includeとlibのリンク
  • dylibをプロジェクトに読み込み

も忘れずに。

iPhoneで画像を表示する

[c]- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"View Loadedn");

UIView *content_view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
UIImage *a = [UIImage imageNamed:@"1.png"];
UIImageView *av = [[UIImageView alloc] initWithFrame:CGRectMake(124, 204,72,72)];

av.image = a;
content_view.backgroundColor = [UIColor yellowColor];

self.view = content_view;
[content_view addSubview:av];
[content_view release];
[a release];
[av release];
}[/c]

画面全体の大きさを取得するには

[c][[UIScreen mainScreen] bounds][/c]

を使う。
↓こんな感じ。この例で赤い四角のAというのが1.pngである。

iPhone_show_image

Snow Leopard で OpenCV2.0 を使う

研究でOpenCVを使いたくなり、SnowLeopardにインストールする方法をメモ。

http://d.hatena.ne.jp/suikyo/20091105/p1
http://tryout-lab.com/2009/09/30/342.html
http://www.atinfinity.info/wiki/index.php?OpenCV%2FSVN%E7%89%88%20OpenCV%E3%83%93%E3%83%AB%E3%83%89

ここの3つのサイトを参考に。

  1. SmartSVNでOpenCVの最新版をチェックアウト
    リポジトリはhttps://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/trunk
  2. CMakeをインストール
    このサイトからcmake-2.6.4-Darwin-universal.dmgをダウンロード、インストール。
    http://www.cmake.org/cmake/resources/software.html
  3. インストールしたCMake.appを起動
    [Where is the source code:][Where to build the binaries:]のデイレクトリは
    SVNでチェックアウトしたローカルディレクトリに設定。
    Configureをクリックし、次の画面でXcodeを選択。
  4. 赤い画面になるので
    • BUILD_NEW_PYTHON_SUPPORT=OFF
    • ENABLE_OPENMP=ON

    のみ、設定を変更し、再びConfigure。その後Generateがクッリックできるようになるので、クリック。

    これで、先ほど指定したディレクトリに、Xcodeのプロジェクトファイルができる。

  5. 上述のXcodeプロジェクトファイルを起動し、Release Buildを行う。

これでうまく行った。

まだ、ちゃんと試した訳ではないが、ここのサンプルをいくつか試したところ
ちゃんと動いた。iSightからのキャプチャもちゃんとできた。

あー、時間食った。

BlenderでAS3Exporterをつかったけど。

うまくエクスポートできない。原因不明。
うまくいかない症状としては、エクスポートしたデータをAS3で読み込みPV3Dで読み込むと
立体が裏がえって見える、という症状。

Blenderの初期状態(Cubeが一つ配置されている状態)でエクスポートして読み込んでも
裏返っている。だめじゃん。
ただ、このときFlip Normsをすればうまくいく。

しかし、Cubeの面を押し出したりして形状を作るともうダメ。
うわぁぁぁあぁ。

公式では、

First make sure that the Blender object satisfies the following preconditions:

  • Make sure it is triangulated (edit mode > ctrl + t, not necessary if you’re using Sandy 3.1)
  • Make sure the object is selected

Go to File > Export > ActionScript 3.0 Class. Fill in the necessary details in the exporter dialogue:

という指示があるだけで、法線に関する言及はなし。
おまけに日本語も英語もドキュメントがすくないっぽい。

なんかCollada形式?でPV3Dに読み込む方が主流っぽいのでそっちに移行する。
また明日。

追記。

てか、PV3DってColladaをparseできたのね・・・。当然こっちを使おう。
http://www.flashbookmarks.com/PV3D-GreatWhite-DOC/