いつか買おうと思っていた趣味で物理学が3冊揃っていたので購入。Testerを作ったときにすごく参考にしたサイト。物理を解説する体で実は考察していく構成で面白い。一時期ずっと読んでいたが,本を購入することで少しでも支援できるのかなあ。以前の作品もアクセスは増えている何か急に「タイピング」というキーワードでアクセスしに来る人が増えた。思って検索してみたら,Yahoo!で「タイピング」3番目だった。「物理シミュレータ」もいつの間にか2番目になっていた。ページランクが高くなったわけでもないのに何でだろう。Tester」はVectorの科学カテゴリトップだったり,紹介サイトからのリンク元からも結構アクセスがあって地味にページビューがある。Typing」大会は今でも開かれていてとてもありがたい。いう感じで,新しく公開したソフトに注力している間も以前の作品は使われていて,メンテしたり機能追加したりしたいのだが,時間が足りない。何か面白いことを思いつけばやるかも,くらいになっている。Testerレビュー。Typingのときもそうだったが,Vectorの「科学」カテゴリで1位になっていた。ウェザタイは公開2週間が経過し,もう少しで100ダウンロードといったところ。PCとの対戦を目指してとりあえずSilverlight版でも作ってみますかね。Testerレビュー掲載は29日なのだが,何故かその前に窓の杜で紹介されている。Typingのときも微妙に同じ時期に掲載されていたので,Vectorと連携しているのかなあ。公開が午前10時頃なんだけど,その瞬間からトップページのアクセス数が飛躍的に伸びていて,今日だけで見ると人喰い掲示板関連のアクセスに匹敵する。Testerのダウンロード数もいつもの200倍くらい。これでVectorのレビューも掲載されると少しは盛り上がってくるのかなあ。時間を停止した際もマウスで加えた力は累積する仕組みになっているため、大きな力を加えたい場合は時間を停止した上で何度も同じ方向へ力を加えてみよう。思ってやってみたら確かにそうなっている。バグっぽいけどそういうことにしておきます。Typingの紹介文を編集。Testerを最新版に差し替えたりスクリーンショットを公開したりしてみた。Testerの新着ソフトレビューの公開依頼が来た。新着でもないしこっちを宣伝したいわけではなかったのだが,ぼた餅的な感じで楽しみにしていましょう。お引っ越しシミュレーション今週末はお引っ越し。今の場所から歩いて5分くらいのところ。ことで今まで持ってなかった電化製品とか家具を買っている。あとはベッドだけなのだが,玄関のところがちょっと狭いので入るのかなあ,と心配に。シミュレーションしてみた。木目なのがドアとか廊下の仕切りですね。ちなみにベッドは通常組み立て式なのでマットレスさえ入れば搬入OK。実験結果は「余裕で入る」ってことに。Testerを使えばこんなシミュレーションも簡単にできるよ,みたいな。走るトラックにバイクで突っ込むネットで,走っているトラックの荷台に,ほぼ同じ速度で車が乗り込んだらどうなるか,という議論が載っていたので考えてみる。高速道路で走行中,車をトラックに格納するようなシチュエーションである。荷台に載った瞬間急加速して前の壁にぶつかりそうに思ってしまう。トラックの速度)分だけ減速すればOK,って感じになりそう。乗り込んだ瞬間にタイヤの回転がピタっと止まるわけで,前輪駆動とか後輪駆動とか考えると難しい話になるけど。想像してみると,動く歩道に乗った時が思い浮かんだので実験してみた。動く歩道に乗り込む場合,動く歩道と同じスピードで乗り込むと,乗り込んだ瞬間速度が0になって,(動く歩道に対して)元の速度まで戻そうとするとそれなりに力がいる。Testerでビー玉を転がして,動いている板に乗せる実験をしてみた。結局,板に乗る前は普通に回転しているが,板に乗った瞬間回転がほぼ止まって,板を追い越すと再び回転が始まる。物理シミュレーションならこんな実験を手軽に試せる,ていう例。いうかこんな実験ならリアル世界で試せよ,っていう例でもある。Testerだと板と地面の摩擦があるのでうまくいかない。上記はプログラム的に板と地面の摩擦を0にして動く歩道をシミュレーションした。いっても新機能はほとんどなし。裏でちょこちょこやっていた外部仕様と関係ない修正が中心。修正はやっているのだが,公開できる状態にはなっていない。スキー場で物理の実験スキーの物理シミュレーションのため(なのか?)蔵王へ。摩擦で曲がるようにするのはなかなか大変そう。Testerは行列計算をDirectXを使っているのだが,そのせいで計算精度がfloat型になっている。そこでdouble型で計算したらどのくらい精度が上がるかを知りたくなったので行列とベクトルとクオータニオンを実装してみた。結果は結局あんまり変わらなかった。作ったのだが速度が遅いのでやっぱりDirectX使用に戻すか,SSE2を使って速度を上げてみるか考えているところ。Tester1.2を公開。Typingについては,かなり長い時間をかけて大幅に変えたのだが,機能的にはほとんど変えていない。98系を対象外にしたのが一番大きい変更点かも。今回のバージョンでの変更が今後のバージョンのベースになっていくとかそんな感じ。Testerはいろいろいじってみた。ホントはデフォルトのフィールドを増やしたかったのだが,そこまでは間に合わなかった。1.2をゴールデンウィーク辺りにアップロード予定。Typingの方は新機能はなし。最後に公開して以来内部的にいろいろ変えているのだが,新機能がないので公開はしないでいた。今回は一応Vista対応という大義名分があるのでこの辺りで公開しようか,てな流れ。Testerは割といろいろ追加している。画面サイズ変更と効果音の追加が主なところか。マニュアルもどうせならVista対応ということで画面キャプチャしていたのだが,普通にキャプチャすると背景が透けてしまったりで都合が悪い。Clipping」といういい感じのフリーソフトがあった。透明なウィンドウ枠をPNGの透過色で表現してくれるという高機能さがいい。Testerなら簡単と思って5分でシミュレーションしてみた。今作成中のバージョンだと画面を拡大,縮小思いのままなのでいい感じだけど,公開中のバージョンだと画面が小さすぎて見にくい。見えなくもないのでとりあえず公開してみる。開発版のworldtesteritemsフォルダにフォルダ付きで展開し,WorldTesterを実行して重力を0にしてスイングバイを追加すればOK。・・・結構手順めんどいか。Duoなんだが,WorldTesterを実行するとCPU使用率50%で頭打ちになる。これは1つのスレッドで全て処理しているため,CPUを1つしか使わないから。そこで実験的に画面上のオブジェクトを半分ずつ別スレッドで処理するようにしてみた。具体的には,起動時にスレッドを複数生成し,当たり判定と物理演算処理を先程のスレッドにキューイングするように実装した。結果的には性能が1.2倍程度,CPU使用率最大70%くらいにしかならなかった。スレッド間で1つでも排他制御を入れるとシングルスレッドの方が早くなっちゃうし,複数のCPUを極限まで使い切るのは結構奥深いらしい。64bit版ネイティブ対応をやっていた。TesterについてはDirectX9対応すればネイティブ動作可能だった。ウェザタイについてはDirectMusicが64bit非対応なのでできなかった・・・って古いバージョンは未サポートとかではなく完全に使えないですか。音なしでも起動できるようにしないと。ちなみに64bitネイティブ化する利点は・・・特にない。DataからUSB2-PCADPGのVistaドライバが公開されていた。x64版も公開されていたのでついでに入れてみる。これでx64でもある程度生活できるかも。やる意味があまりないけど。2005対応,Unicode対応,64bit対応をやっている(つまり機能追加の全くないバージョンアップ)のだが,Vista対応はちゃんとやろうとすると難しい。