トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

独り言日記(2006/11)

独り言日記

20世紀少年の22巻(2006/11/30)

楽しみにずっと待ってたので、発売日の本日、早速買ってきました。最終巻かと思ったのですが、まだ最終じゃないんですね・・・。でも、(実写)映画化決定は素直にうれしいなぁ。これも楽しみです。ヴァーチャル・アトラクションがどう再現されるか、、、2008年だと3DCG技術も進歩するでしょうから、空気感まで再現できると面白そう(でも、三丁目の夕日ですでに哀愁があったので、今の技術でもできるのかな。ぜひ、街全体(ヴァーチャル・アトラクション)をCGで再現してほしい(苦笑))。

さて、明日はいろんな技術者との顔合わせ&白熱バトルです(^_^;;。最近は仕事場にこもって開発してたので、久しぶりに熱の入ったお話を聞けそうで楽しみにしてます。

ベイズの定理と推論(2006/11/29)

ベイジアンネットワークに関しては、以下に詳しく乗ってました。

「ベイジアンネットワーク実践編」 個人的に概要として分かりやすかったです
http://staff.aist.go.jp/y.motomura/bn2002/presen/motomura-tut.files/frame.htm

「確率ネットワークと知識情報処理への応用」 詳しいけど難しい・・・ 
http://staff.aist.go.jp/y.motomura/DS/DS.html

その前に「ベイズとはなんぞや?」を理解しないとさっぱり、ということが判明したので「ベイズの定理」と確率的な推定について調べました。

http://aoki2.si.gunma-u.ac.jp/lecture/Probability/Bayes.html

このページだけでどういうことか、というのは把握できたつもり。比較的簡単な理論だったので一安心です。全体の確率の総和を分母に持ってきてる(シグマで累積している)んですね。メールフィルタで使える、確率をフィードバックして学習させる方法もこれでなんとなくぼやっとですが見えてきた感じです。

それを有効に使ったのがどうやら「ベイジアンネットワーク」なんですが、ノードでの構成を構築するのが苦労しそうだなぁ。まだまだ研究期間があるので探り探りですが、この「ベイズ/ベイジアンネットワーク」ってえらい面白そうだ、というのが見えてきました。変なことに使うわけじゃなく、解析での推定で使おうと考えてます。ただ、ベイズの計算の中でシグマがあるということは、情報量が膨大になった場合の最適化を行わないとものすごく重くなりそうですので、いずれにせよさらに発展させた論文を探すか推敲する必要が出てきそうです。

「君はベイジアン・ネットワークを知っているか?」
http://www.atmarkit.co.jp/fwin2k/opinion/yamazaki/yama_2002_09.html

Googleでトップで引っかかったここも、分かりやすく概要と応用分野を解説しています。「ベイズ統計は、高校の教科書にも出てくるぐらいで」って・・・・、私が高校のころはその単語すらなかったんだけど・・・(^_^;;。でも、過去の歴史ではベイズ統計は異端視されていたようで、認知されだしたのはここ最近、みたいな記事も多かったため、案外昔学生の人(私含む)のほうが遅れている(というか無知)なのかもしれません。

しかし、確率って面白いですね。

予測をアルゴリズムする(2006/11/28)

過去の事象より未来を予測するアルゴリズム、みたいな夢の技術があったりして、たとえば株価とか宝くじとか馬券とかの予測システムで使われていたりします(と思います)。データマイニングもその1つでしょうか。それとは別に、虫食いで穴の空いた部分に何が入っていたのだろうか、とか補間にも使えそうです。

PCA/KPCAも見方によっては予測に使えそうなのですが、今注目しているものに「ベイジアンネットワーク」があります。ベイズ理論での確率事象の連鎖をあらわすのがベイジアンネットワーク、、、らしい。これは、不確実性を扱うための計算モデルで、よく例として挙げられるのはメールでスパムをはじくための判断で使われているそうです。学習するということで人工知能ともいえますし、ニューラルネットとも近い位置にありそうです(検索すると、これらに近い位置でヒットします)。

某所で使用するためのアルゴリズムとして白羽の矢を当てているのですが、もしかしたら(速度が安定しているのなら)レンダラでも使えるかもしれませんね。今やっているのはオープンなプロジェクトなので(というか公開しないといけないものなので)、もう少ししたらそちらにて技術的な日記や経過などを書いていければと思っています。いましばらくお待ちくださいませ。

調査週間(2006/11/27)

次の仕事の前準備のため、いろいろ調査中。PCA/KPCAについて調べる予定。これですが、特徴抽出の手法のようです。これってCEDEC 2006のPRT講座にて初めて知った単語だったりします。いろんなことに応用できそう。

ほか、今まで調べきれてなかったこと実験できてなかったことを今年中に(完全ではなくていいので)理解したいところ。余裕がなくて日々の作業で終わってしまうのでは、と半ば焦りがありますので、出来る限り勉強と仕事は両立していきたいですねぇ(英語も・・・・)。

続・コンパイラ(OS)の違いによる挙動の違い(2006/11/24)

まるまる1週間は費やしたかもしれません、ようやく、WindowsとIntelMacでのプログラム実行時の挙動不審の原因がつかめました。

  • 浮動小数点演算のアンダーフロー・オーバーフローに注意(OSごとに差がある)
  • マクロ内の挙動に注意(OSごとに差があることがある)
  • マクロでOSごとに切り替えを行っている場合の流れに注意

まとめるとこのような感じかな。いやはや、これは非常に追いかけるのに苦労しました。おかげで、プログラムの経験値がアップした気がします。

で、ずっと何をしているのかこの文章だけでは分からないので(汗)、また時が来たときにでも「これやってます」と言えるようになればいいなぁ。いろいろかじっているのもあって、やるべきことやりたいことの優先度を付けていかねば(仕事がもちろん第一優先ですが)。流体(メタボール表現も含む)、物理(PhysX/ODE)、レンダラ(アンビエントオクルージョンやりたい)、シャドウマップ(リアルタイム分野)、Flash関連、Web2.0関連、サイトのTipsを書く、Shade関連(特にプラグイン)、Maya習得、Poserで遊ぶ、などなど。時間がたてばどんどんやりたいことが増えるので、切捨ても必要ではありますね。

コンパイラ(OS)の違いによる挙動の違い(2006/11/24)

自分用メモ。Windows(.NET 2003)とIntelMac(gcc 4.0.1)にて差があると思われる部分として、マクロでのreturn記述がありそうです。

void multAll() {
  double d;

#define FOO(d1, d2) \
  d = d1 * d2; \
  if(d < 0.0) return 0; \

  FOO(1.0, -2.0);
  FOO(1.0, 2.0);   // 本来ならここは実行されないはずだが
                   // OSXでは実行されてしまう
#undef FOO
}

というのがあるとします。FOOは関数内のマクロ定義。1回目のFOO呼び出して、「マクロ内で」returnしています。この挙動が、Winでは関数multiAll自体をreturnするのに対して、OSXではreturnされていない?

というか、このようなマクロの使い方自体あまり好ましくないと思われます<某ライブラリ。でも、まだほかにもOS依存の部分がありそう。 まだ先は長いか・・・。

アニソン(2006/11/23)

Wiiが予約できるか秋葉でいろいろな店を回ってたのですが、予約完売・入荷予定未定、のオンパレードで結局あきらめました。というかDSLiteもまだ品薄状態(ほんとか?)のところが多かったです。大阪の知り合いには、「初期ロットは無理っす」と返答しました(^_^;;。

で、以前からほしかったアニメのCDなどを買ってきました。武装錬金のOP「真赤な誓い」と、PS2のWILD ARMSの主題歌の「Justice to Believe」を購入(<これはYouTubeのPVで知りました)。武装錬金は毎週見てたりしますが、OPがアツいです。ずっとエンドレスで聴いてます(苦笑)。純粋な視点で見たら最近のJ-POPよりもアニメ主題歌のほうがはるかに良作が多い、と思うのは間違ってるんだろうか・・・。オリコンを見ると、「Justice to Believe」は4位になってますね。評価はされているようで。商業的な音楽流通よりも質で勝負してほしいな、と最近のJ-POPをテレビで聴いたりして思ったりします。

後、GyaOでやっている「いろはにほへと」のOPもほしい、、、と思ったのですが、さすがに買いまくりも金銭的に厳しくなるので抑えました。アニソンは、結構はまれる曲が多かったりします。

合宿(2006/11/22)

私もチームを組ませていただいている某プロジェクト(私は代表者ではないです)がどうやらアレに合格したようですので、12月から本格的に仕込みに入ります。3DCG関連とはまったく無関係のものですが(苦笑)。また時が来たら(たぶん来月はじめには)、公に情報を公開していきます。

で、12月に「合宿」というのが開催されるので楽しみにしています。それなりに理想を持った方々が集まるので、自分自身のモチベーションアップと交流含めて勉強できればと思ってます。ということで、来月からの計画を立てていかねば。参加者(代表者)の平均年齢が私の実年齢よりも低い・・・・年をとったものだ・・・。

続・続・OS依存の浮動小数点演算(2006/11/21)

再び羅列した小数点値を比較中。計算の端々にてログを出して、ひたすら原因箇所を上へ上へ追っていってます。対象はWindows(Intel)とIntelMac(CoreDuo)なんですが、結構差がありますね。1つ1つの計算はたいした差はないのですが積もり積もって大きな誤差が出るというか。この部分は、集中している今のうちに解決したいところです。こいつがつかめるとプログラマーレベルが1つアップする、はず・・・。

ただ、IntelMacはどうもオーバーフロー・アンダーフローしやすいように感じる、ということを除くと、プログラム次第では安定性はあるしなによりも計算が速いです。実験してみて、ファイル入出力がIntelMacの場合は抜きん出ているかな、と感じました。開発環境としては、IntelMacは最高ですね。PowerPCでのコンパイルの遅さが嘘のようです(^_^;;。

Wiiを探して(2006/11/18)

大阪の知り合いから「任天堂のWiiが手に入らないか」みたいな連絡が。たぶん、息子さんにプレゼントするんだろうなと(クリスマス時期ですし)。私はいずれはほしいけど初期出荷は別に逃してもいいかな、というのがあったので特に調べてませんでした。

ただ現段階で、アマゾンでもあっという間に予約オーバーなんでさすがに予約でもきつい、と返しておいたのですが・・・念のため、調べてました。ネット調査では初期出荷台数は40万台くらい、というのが多いかな。

で、渋谷に散歩に行ってたときに連絡があったので、渋谷近辺の電気屋でWiiの予約などを見て回りました。予約は受け付けてない、というのもありますね。

後、いまさら知ったのですがソフマップは11/18(つまり本日)に予約開始だったみたいで。しまった!!!秋葉にいけばよかったんだ・・・・。ということで、近々秋葉にも行って予約状況をみてこよう。ほとんどが予約締め切ってる(というか始まってるのかな?)みたいだけど・・・。さすがに12/2に店頭に並ぶのは寒さで堪えるので、予約が取れなければあきらめます(^_^;;。

続・OS依存の浮動小数点演算(2006/11/18)

浮動小数点について、3日くらいずっと一点集中してました。ようやく「ここ」というところがつかめたのですが、アンダーフローしてますねぇやはり(しかもOS依存だ、gcc 4.0...う〜む)。ものすごい小さな値を扱う場合に、double型でも精度が足りないのを改めて認識。すべてが極小値ならば「浮動」を生かして全体的に指数を高く持てばいいのですが、そうもいかない。極大と極小が混ざった計算だと、いろいろと不都合が出るわけですので。この部分は鬼門ではありますね。

OS依存の浮動小数点演算(2006/11/15)

今、コレにはまってます(苦笑)。浮動小数点の加減剰余算は、OSによって挙動が違ったりします。FPU使わずに自前で(ビット操作で)浮動小数点加算などを行うとIntelってすごいな、というのがわかったり(単純な計算でも結果が最適化されているというか)。後、同じOSでもAMDとIntelではやはり計算に違いが出てきます。

う〜ん、細かい計算を行う場合にこの部分は根が深いです。積もり積もって、とんでもないアンダーフロー、オーバーフローを引き起こすことがあるんだよなぁ。ちょっとデバッグまでに時間がかかりそう・・・。トラップしかけて追いかけているのですが・・・。

休憩(2006/11/13)

私の場合は、プログラムは遊び、仕事もプログラム、なもんで仕事をしてさほど疲れることはないのですが、よく考えると普通にサラリーマン(これがプログラマでも)をしている人が休憩を取らないのは体に毒だろうなぁと思ってしまいます。かつてサラリーマン時代は結構時間に追われていた気持ちを持っていたのですが、さすがに脱サラしてからはそれもなくなりました。今は適度に余裕を持って仕事をしているので、気持ち的に楽かもしれない・・・。ただし、いつも危機感を持たないと先はないので不安定ではありますが(^_^;;。それを安定に持っていくのが小さい範囲内(うちの会社とか)での私の役割かもしれません。ただ、休まないと効率は落ちるし徹夜なんてもってのほか、やるべきじゃないとも思います(これは貫き通したい)。

で、「余裕を持って」というのは結局は自分自身の守備範囲でスケジュールや人間関係を設ける(テリトリーを設ける)ってことと近いかもしれない、と最近思ったりします。ただ・・・・、普通の会社だとそうはいかないし、結局それを変えるには上流工程に行くしかないのかなぁと。まぁ、いろいろ思うわけです。まだまだまだまだ勉強不足な点はたくさんありますが・・・。

同じくらいの年の人と話すと、やっぱり「先をどうしようか?、このままでいいのかなぁ」って話になっちゃいますね(汗)。さて、そろそろ来年の目標を立てていかねば。

ちなみに、運動はいいですよ。週2回ほどランニングに行ってるのですが(最近は寒いですけども)、疲れにくいコツがつかめたというか。呼吸法(腹式)と足の疲れの2つを克服すれば、結構長距離を走るのも楽です。後者はまだ鍛える必要があるのですが、腹式呼吸はずいぶん慣れてきました。

ペルソナ3(2006/11/12)

かなり前にクリアしたのですがBGMが気に入ってまして、サウンドトラックを買いに秋葉原にひさびさに行ってきました。関係ないですが、PS3の発売日って11/11だったんですね。一週間先かと勘違いしてました。で、祭りの後なんですが秋葉原でその気配すら感じられない(^_^;;。みごとに全部売り切れで入荷の目処がたってない、の張り紙が貼ってありました。

といっても、お目当てのゲームがないので買う気はないのですが(苦笑)。ゲーム性を見ると、Wiiのほうに目が行ってしまいます。PS3のゲームは、どうみてもムービー見ているようでゲーム性が・・・。しかし、ニュースなどを見ていると転売屋が多かったそうですね。なんだかなーと思います。

で、ペルソナ3なんですが、クリアに120時間はかかってたかな。RPGは時間の都合でやらないつもりだったのですが、オープニングと戦闘BGMでツボったので買いました。夏くらいの時期かな、たしか。ボリュームがあるというのではなくてシステムとしてはちょっと冗長すぎる感じです(日にちでイベントが進むのですが、作業してるって部分が多い。ラストのほうは、無駄に時間を進めるだけ)。しかし、音楽はかなりお気に入りが多かったりします。なにげにテレビのニュースのBGMでも使われてるのを見たりしますし。

パストレーシングの苦手なシーン(2006/11/11)

Shade9にてパストレが強化されたらしい、ということで楽しみにしています。イラディアンスキャッシュに対応した場合、特性的にノイズが高周波から低周波に近づきます。ですので、品質も(場合によっては)上がり、またそれで速度が上がるんでしょうね。昔、これはレンダラを作ったときに実験してみたことがあります。たしかにきれいになりますが、フォトンライクなノイズが乗ることも多くなります。

で、ひさびさにShade8.5のパストレを触ってみました。パストレの苦手なシーンとして以下のようなのがあります。

これは、全方向が密閉されていて窓が上と左側に2つ開いています。結構大きな窓ですよね。モデリングは以下な感じ。

で、現実にもしこのようなシーンがあったとすると「おや、おかしい」と気づくかと思います。光が淡く入ってこないと違和感が・・・という部分です。パストレの理論が分かっていれば、このようなシーンは苦手だということは分かったりします。

パストレの場合は、視点からレイを飛ばしそれが物体にあたったら半球状にランダムに跳ね返ります(ロシアンルーレット)。で、特定の回数まで跳ね返って打ち切りです。これを1ピクセルに複数回サンプリングさせることで精度を上げます。しかし、上記画像のように当たった物体がなかなか窓から外に出なければどうでしょうか?これにより、窓があっても光が入ってこない(実際は視点からのレイが外に出ないのが原因)、というヘンテコな状態が出来上がってしまいます。フォトンマップ本にたしかこれの最適化みたいな方法が書いてあったような気がしますが、これが現実そっくりにできればいいなぁと思ったり。

というか、廃墟をモデリングしたいです(笑)。その場合は、上記が解決しないことには雰囲気が出せない(<単に私にテクニックがないだけですが(^_^;;)。なんか惹かれるんですよねー。

Shade 9(2006/11/06)

12/08発売。

http://shade.e-frontier.co.jp/9/new.html

で、そのレビュー記事(もうちょい詳しいキャプチャなどがあります)。

http://ascii24.com/news/i/soft/article/2006/11/06/665653-000.html

今や数少ない国産ソフトのうちの1つなので、がんばってもらいたいですね。しかし、Googleの「ニュース」検索って結構更新が早いのね。このASCIIのサイトが更新されて1時間でもうひっかかりましたし。

コミュニティーについては、、、英語をなんとかしたいです<私自身(^_^;;。海外って面白そうだなぁと思いつつ、英語がよくわからないのでなかなか敷居が高いというか・・・・。ただ、YouTubeのおかげで英語も再び覚えないと、という意識が芽生えてきました。ビデオで楽しみながらだと、なかなか勉強になりますもんね。今はじいさんがひたすら語っているYouTubeのビデオを理解したいもんです・・・。

PhysXのベンチ用RealityMark(2006/11/06)

Reality Markでハードウェアとソフトウェアのベンチを行えるのですが、なんかえらいもっさりしてました(GeForce 6600GTだとさすがに厳しいか、グラフィックがすでについてこない・・・)。

物理演算ボードは「ELSA PHYNITE X100」を使用しての結果は以下のとおりでした。

タイプFPS
ハードウェア7.02 fps
ソフトウェア0.49 fps

ハードウェア化で1421%速度アップ(14.21倍速)。で、「速くなった」と数値では比較できそうですが、実際はグラフィックカードがへぼいので、体感的には差はない感じでした。

ただ、、、こちらで作った実験プログラム(純粋物理演算のみを行うもの)で非常に単純な球とボックスを4000個出して衝突判定、ではソフトとハードでの差は2倍程度だったです。もしかしたら、なにか間違った実装でもしているのかなぁ。いずれにせよ、物理演算で速度アップするよりも先に、グラフィックを速度アップすべし、が必要かなと。現状、まだまだ恩恵を受けることができるようなゲームなりアプリが一般的になるには時間をおかないといけないかも、というのが率直な印象です。

私の場合は、PCI Express対応マザーじゃない古いものですので(未だにAGP)そもそもマシンを買い換えないといかんですねぇ。現マシンはVistaが動作するスペックかも怪しいので、PhysXボードうんぬん以前の話かもしれません(汗)。

PhysX 2.6ドライバ(2006/11/06)

開発者向けサイトにて11/1バージョンがアップされてました(表のは6.10.25ですが、6.11.01がありました)。

さらっとテストしてみましたが、ハードウェア化した部分の速度が改善されている点が見受けられました(正直、2.5.xでは突き詰めて見ると、ソフトウェアとあまり差がない部分もありました。今回の2.6.xは明らかに差があります)。リリースノートによると、トライアングルメッシュ同士の衝突が改善されています。

後、前からあったかもしれないですがソフトボディーのサンプルが追加されてます。クロスシミュで実装しているようです。

ちぎれるクロスのサンプルもありました。

ただし、クロスはソフトウェアとハードウェアであまり速度差がありませんでした。ほとんどをソフトウェアの計算で行っているのでしょうか。

ハードをお持ちの方は

http://www.ageia.com/physx/rm.html

の「RealityMark」にてベンチマークができます。実際は、物理演算よりもグラフィック描画のほうが負荷がかかるでしょうから、正確なベンチを行う場合は自分で純粋物理演算でのみで計測したほうが正確でしょうけど。

吉野家の牛丼(2006/11/05)

吉野家のみそ汁が飲みたかったので行ってきたのですが、「メニューは牛丼だけです」って言われて11/1-11/5の間は牛丼デーだったことを知りました。で、ひさびさに吉野家の牛丼を食べました。ええ、アメリカ産牛でしょうね。別に気にはしてないのですが、正直吉野家の牛丼はデフォルトでは薄い気がしてあまり好みではなかったりします(牛焼肉丼は好きなんですが)。ちなみに、数年前に食べた牛丼と味は同じでした。この味って、自宅で再現するのは難しいそうですね。

で、となりの人が「つゆだくで、卵つけて」と注文してました。玄人はやはりオプション追加するもんなのか・・・。今度試してみよう。

PhysX SDK 2.6.2(2006/11/05)

http://devsupport.ageia.com/

よりダウンロードできるようになってます(要ユーザ登録)。後、ドライバの最新版は2006/11/05現在は「6.10.25」です。2.6系も自由にいじれるようになりましたね。ちょっと今は締め切り間近のがあるのでそれが一段落すれば掘ってみてレポートしてみることにします。着実にハードウェアで出来る制限が解除されている感じで、遊び甲斐が出てきた予感。

XOOPSのログイン枠のずれ(2006/11/04)

イーフロのShadeフォーラムサイトがメンテ中で入れないのですが、XOOPSを使ったサイトを見ていていつも気になることがあります。

有名ではありますが、ログイン枠(というよりもINPUTタグのTEXTとPASSWORDフィールド)は、サイズを指定したとしても同じ大きさにはなりません。これはIEに限ったことですが。

昔XOOPS関連の仕事でしたのですが、これを回避するにはスタイル指定でピクセル固定にするしかありません(XOOPSソース内を修正したっけな)。しかし、IEもいいかげんこれを直してほしいですねぇ。XOOPSに限らずログインでユーザ名、パスワードを入力させるUIがあるものは、なんか同じ状況になっているのをよく見ます。ブラウザ間で方言がある、というのは未だに問題ですので(スタイルシートでもやはり方言あり)いろんなブラウザで見ることができるようにするには、依然、動作チェックが大変であります。

ちなみに、このサイトのFreeStyleWikiはSafariで見るとメニュー部の折り返しが怪しいです(^_^;;。

携帯電話(2006/11/02)

私のは、vodafoneの携帯なんですが(なんで自動的にsoftbankの明細が来るわけですが)、softbank機種に変えるかdocomoに移るか悩み中。三連休の間で携帯変えようかなぁ。でも、料金体系がsoftbankのはよくわからんので、現状維持でしばらく様子見したほうが利口なのかもしれませんね。私は携帯メールと電話とカメラしか使わないので、Web機能とかゲーム機能はどうでもよかったりします。

ただ、1つ難点がありまして、私、耳があまりよくないので外で携帯を受けるとほとんど聞こえなかったりします。親に聞くと、我が家系は遺伝的に難聴気味なんだそうです。音はよく聞こえているのですが、雑音が周りにあると話し声が雑音と化す、というなんかよくわからん状態になるので、音のよしあしも実は関係ないのかもしれません。う〜ん、聞き取りやすい携帯ってないのかなぁ。

でも、かけてくる人によっては(ほんとに一部の人なんですが、大部分はアウト)雑音が周りにあってもよく聞こえるんです。なにか、聞き取りやすい周波数の違いでもあるのだろうか・・・。

Future's Laboratory 技術格納庫 2004-2013 Yutaka Yoshisaka.