いきなりですが今日は boost::shared_ptr を構造体に対して用いるお話です。ここまで読んで、『何を今さら』と思った方はブラウザをそっと閉じると幸せになれますよ。
あと、今日の日記は解説というよりは備忘録的な色が強いので、僕と波長が合わないとなかなか内容に共感して頂けないかも知れません。そういう方もブラウザをそっt(ry
2012/01/28
2012/01/25
Processing.jsで作った「ひこうき」を高速化してみた
以前、Processing.js で『3D ひこうき』を作りました。
これは P3D モードのサポートがアレな Processing.js 環境でも、なんとか 3D っぽいグラフィックを出そうというチャレンジだったのですが、速度的な意味で非常に残念なものができあがっただけでした。
今回は、ループの中でオブジェクトを new しないように心がけたり、描画関数の呼び出しを削減したりといろいろ高速化を試みました(→ OpenProcessing)。
うーん……。
僕の iPhone 3GS だとまだカクカクしています。
もうちょっと形状を単純にするとかなり速く動く気がするのですが……。
これは P3D モードのサポートがアレな Processing.js 環境でも、なんとか 3D っぽいグラフィックを出そうというチャレンジだったのですが、速度的な意味で非常に残念なものができあがっただけでした。
今回は、ループの中でオブジェクトを new しないように心がけたり、描画関数の呼び出しを削減したりといろいろ高速化を試みました(→ OpenProcessing)。
うーん……。
僕の iPhone 3GS だとまだカクカクしています。
もうちょっと形状を単純にするとかなり速く動く気がするのですが……。
ラベル:
JavaScript,
Processing,
プログラミング
2012/01/23
Processingでてきとう3次元バンプマッピング
学位論文の方が一段落しそうなので、空き時間を使ってバンプマッピング(のようなもの)を実装してみました。ちょっとしたリハビリです。
バンプマッピングとは、ポリゴン上の凹凸を擬似的に再現する技術で、テクスチャマッピングでは表現できない質感表現を実現できます。
実際に動作するデモは OpenProcessing で公開していますので、是非ご覧ください。
バンプマッピングとは、ポリゴン上の凹凸を擬似的に再現する技術で、テクスチャマッピングでは表現できない質感表現を実現できます。
実際に動作するデモは OpenProcessing で公開していますので、是非ご覧ください。
ラベル:
Java,
Processing,
プログラミング
2012/01/19
三次元・直線・最小自乗法(vs. ぷで)
ぷでさんが面白い記事を書いていたので、僕も同じテーマで書いてみる事にしたよ。
「3次元における直線 \(L_{i}\: \left( i = 0,1,\cdots, n-1 \right) \) の尤もらしい交点 \( \vect{p} \) を最小自乗法で求める」
これは、位置と姿勢が既知である多視点画像における対応点3次元位置を推定する際にしばしば用いられる議論だ(下図参照)。3次元空間中では一般的に複数の直線の交点は一意には定まらず、いわゆる “ねじれ” の関係になる。その際、できるだけ誤差を抑えるために、各直線が最接近する点を採用する事が望ましい。
「3次元における直線 \(L_{i}\: \left( i = 0,1,\cdots, n-1 \right) \) の尤もらしい交点 \( \vect{p} \) を最小自乗法で求める」
これは、位置と姿勢が既知である多視点画像における対応点3次元位置を推定する際にしばしば用いられる議論だ(下図参照)。3次元空間中では一般的に複数の直線の交点は一意には定まらず、いわゆる “ねじれ” の関係になる。その際、できるだけ誤差を抑えるために、各直線が最接近する点を採用する事が望ましい。
複数カメラの視線を基に被写体の3次元座標を得るイメージ. カメラ光学中心から各対応点を貫く直線の交点が3次元位置となる. |
2012/01/08
素晴らしき日々へ
カルボナーラを食べるとカルボニル基という言葉を思い出す。
ボロネーゼを食べると、ドロネー図を思い出す(ついでにボロノイ図も思い出す)。
普段からこのように突飛な方向へと思考回路がスイッチされてしまうため、話し相手はそれなりに苦慮しているらしい。申し訳ない。
今日は親友の祥月命日だ。
本当は一緒に連れて逝って欲しかったのだが、僕は生きることになった。
死ぬというのはどういう事なのだろう。僕はあまり宗教への頓着がないせいか、恐らく『生まれる前と同じ世界』に還るのだろうと考えている。
最近の気分転換は専らマリオだ。
小さい頃から高いところがダメで、たとえゲームであっても足が竦む。操作をミスしてマリオが高所から落下する一瞬、心臓がドキっとする。
まぁマリオにしてみても、こんなヘタクソにプレイされているせいで何度も死ぬ羽目になって、さぞかしいい迷惑だろう。
『はじめてのおつかい』は微笑ましい。
僕は、はじめておつかいをした日の事も、はじめて補助なしの自転車に乗れるようになった日の事も、よく覚えている。
ついでに、はじめて C 言語で printf() 関数を使った日の事も。
ボロネーゼを食べると、ドロネー図を思い出す(ついでにボロノイ図も思い出す)。
普段からこのように突飛な方向へと思考回路がスイッチされてしまうため、話し相手はそれなりに苦慮しているらしい。申し訳ない。
今日は親友の祥月命日だ。
本当は一緒に連れて逝って欲しかったのだが、僕は生きることになった。
死ぬというのはどういう事なのだろう。僕はあまり宗教への頓着がないせいか、恐らく『生まれる前と同じ世界』に還るのだろうと考えている。
最近の気分転換は専らマリオだ。
小さい頃から高いところがダメで、たとえゲームであっても足が竦む。操作をミスしてマリオが高所から落下する一瞬、心臓がドキっとする。
まぁマリオにしてみても、こんなヘタクソにプレイされているせいで何度も死ぬ羽目になって、さぞかしいい迷惑だろう。
『はじめてのおつかい』は微笑ましい。
僕は、はじめておつかいをした日の事も、はじめて補助なしの自転車に乗れるようになった日の事も、よく覚えている。
ついでに、はじめて C 言語で printf() 関数を使った日の事も。
2012/01/07
相対参照を適当に考慮したHTMLファイルの移動
1月2日の続きで、自分用ひとこと日記支援システム(?)的なものをだらだら作っています。
ちなみに前回は、「HTML ファイルを生成する仕組みを作ろう」という、なんともややこしい話をしていたのでした。
さて、ここで問題になるのが HTML に記述された相対参照の扱いです。
もしも HTML ファイル中に
どうにかしたいですよね。
しかし、この問題を完全に解決しようとすると果てしなく面倒なので、実用上それほど問題が出ないレベルで適当に対処しようというのが本日のテーマです。
ちなみに前回は、「HTML ファイルを生成する仕組みを作ろう」という、なんともややこしい話をしていたのでした。
※ ちなみにあの後、くろねこさんからも非常に有益なアドバイスを頂きました。記事になるところまでできたらここに書きたいと思います。せっかくですから、ひとこと日記を単に書き溜めるだけでなく、月別のアーカイブページなども生成できれば、情報が整理できて閲覧性も高まるのではないかと考えました(というか、至って平凡な思いつきですが)。
さて、ここで問題になるのが HTML に記述された相対参照の扱いです。
もしも HTML ファイル中に
<img src="baka/aho/img.png" />とか、
<a href="../../hoge/piyo.html" />みたいな相対参照が仕組まれていた場合、何も考えずに階層の異なる別ディレクトリ移動・複製すると、リンク切れを起こしてしまうのです。
どうにかしたいですよね。
しかし、この問題を完全に解決しようとすると果てしなく面倒なので、実用上それほど問題が出ないレベルで適当に対処しようというのが本日のテーマです。
2012/01/02
冬休みのてきとうアプリケーションづくり
【プログラミング初め】
ちょっと前に『作りたい』とか言っていた Web サイトの更新支援ツールの開発をてきとうに始めました。
手始めに前回のネタを GUI 化。
秘密鍵の設定は初回起動時だけ(ただし、変更は可能)。
次回の起動時からは下のような認証画面が表示されるようにしました。 GUI めんどくさい。
ちょっと前に『作りたい』とか言っていた Web サイトの更新支援ツールの開発をてきとうに始めました。
手始めに前回のネタを GUI 化。
秘密鍵の設定画面 |
次回の起動時からは下のような認証画面が表示されるようにしました。 GUI めんどくさい。
秘密鍵の認証画面 |
2012/01/01
明けましておめでとうございます
旧年中は大変お世話になりました。
おかげさまで、旧年中は 47,000PV を超えるアクセスがありました。
本年は、より一層のご愛顧のほどよろしくお願い申し上げます。
おかげさまで、旧年中は 47,000PV を超えるアクセスがありました。
本年は、より一層のご愛顧のほどよろしくお願い申し上げます。
2012年1月1日 たーせる
登録:
投稿 (Atom)