2009-01-01から1年間の記事一覧

QBVHを実装した

空間構造の一種であるQBVH(Quad-tree Bounding Volume Hierarchy)を実装した。 元の論文はhttp://www.uni-ulm.de/fileadmin/website_uni_ulm/iui.inst.100/institut/Papers/QBVH.pdf QBVHはレイトレーサの交差判定を高速化する。 以前syoyoさんがイイヨとお…

ヒルベルト曲線順

ヒルベルト曲線は空間充填曲線のひとつだ。このヒルベルト曲線でより高次の空間をたどるとキャッシュ効率がよくなるらしい。 さっそく3次元のモデルの面をヒルベルト曲線順で並び替えてみる。 以下はstanford bunnyのそれぞれの面の順番をHSVのH(色相)に…

追記

上のコードはortho_basisで基底ベクトルの組を、配列をヒープで作って返しているんだけどこれはタプルで十分ですね。 受け側ではmatch〜withでバインドする。 この変更を行ったところ約9.4秒→約8.3秒程度と高速化しました。 以下変更部分ソース

AOBenchをF#で実装した。

http://lucille.atso-net.jp/aobench/ で開催されているAOBenchをF#にて実装しました。 実装としてはC#版からの多くを拝借して移植。 あんまり関数型言語っぽくしてない。画像処理のような大きな配列を書き換える(リストから別のリストを作るのはやりやすい…