Saqoosha.net

  1. About
  2. Archives
  3. Search
  4. Say
Language:

移動平均いろいろ - Moving Average

20081018-Movingaverage

iPhone ぐるぐるがあんまし安定しないやつ、コメントもらったのでつっこんで調べてみたわけよ。移動平均 (Moving Average) にもいろいろあるみたいで。

んでもともと実装してたやつはどうやら指数加重移動平均 (EMA: Exponetial Moving Average) っぽい。あれですよ、Flash でよくやる動きをスムーズにするやつ、

posX = (currentX - posX) * 0.1 + posX;

みたいなの。自然と移動平均つかってたんやんっていう。

んでまあいろいろある移動平均がどーちがうねんっていうのを見るのにちょっとコードを書いてみたソースコード)わけですね。白いのが理想的なライン。そのまわりにちらばってる白いのがノイズが入ったセンサーからの値っぽいやつ。結果は見ればわかるですが、加重移動平均と指数加重移動平均ってあーんまし変わらんのね、まー、パラメータの取り方にもよるとおもうけど。どっちかつーと加重移動平均のほうが安定?みたいな。

とりあえず加重移動平均を組み込んでみるかなあ。

ローパスフィルタ系も調べてみたのだけどちーと難しくって放置。またの機会に調べるとしよう。

FLARToolKit 2.0 released!

NyARToolKit 2.0.0 リリースから約 1 ヶ月。よーやっとでけた。ほとんどおんなじ作業を 2 回やるというのはなかなかモチベーションがあがらないわけでw 結果的には 10% 程度のスピードアップ(ミーのマシンで 30fps → 33fps ぐらい)は実現できてるみたいです。まあ今回も Java → AS3 コンバートしただけなんだけど。やっぱなあ AS3 おせえなあ。Flash Player 10 専用になるけど Vector とか ShaderJob 使うとか、固定小数点で計算してる? NyARTooskitCS を移植するとかすればもっと速くなるかなあ。あんましやる気ないけど。

FLARToolKit 2.0 のソースコード は Spark Project のリポジトリからチェックアウトしてくださいな。

$ svn co http://www.libspark.org/svn/as3/FLARToolKit/trunk FLARToolKit

いちおう現時点でのスナップショットを zip で固めたやつ、ここ置いときますね。

英語での問い合わせが結構あったりするので、英語でも書いてみる。けど、自信ないので誰か Lang-8 で添削してください。。

追記(2008/12/5):フォーラムできました。FLARToolKit についてのいろいろはこちらで。

Progression3都物語 workshop in Kyoto, Osaka, Kobe

こないだやったアンケートのやつ、関西 3 都市で開催される Prognession 3 のワークショップ、の、詳細が決まったのでお知らせ。こつら。数限りがありますのでお早めに、、、とおもったら参加申し込みは 10/18(土)の AM 0:00 からでした。ATND で募集するので OpenID もってないひとはご準備を。

大阪第 1 回参加するひとで懇親会出たいってひとは懇親会まで時間もてあますだろうから裏プチてら子的なものをやろうかと思ってます。ので、まあ、そちらも来たいってな人は第 1 回狙いで。ああ、もちろん私も大阪 1 回目→裏プチてら子→懇親会コースですよ。だって Progression 3 やったことないんですもの。

ぼくの iPhone はよく回るんだ

どうもどうも。
こないだアップしようとしたら Vimeo がメンテナンス中でアップできなくってそのまま放置しちゃってたやつ、fladdict が遠心力とかゆってたのでアップしとこうみたいな。そんなに関係ないけど。

いやー、ぼくの iPhone ほんとによく回るんですよ。だから会議中もクルクルまわすのが癖みたいになってたりとか。んである日ピコーンときて作ったのが↓なんだな。


My iPhone turns at very very high speeeeeeeeeed!! from Saqoosha on Vimeo.

んでなんやねーんっていうww
加速度センサーが回転の中心からズレてるから、遠心力から回転スピードが計算できるっつーわけですな。もちろん fladdict のゆってるような Y 軸回転でもできるよね。(その場合は X 軸方向で計測するのがいいかなあ)実際にはセンサーそんなに精度よくなくって、加速度がけっっっっこうノイズなのかなんなのか乱れるので絵を固定するのが大変なんだけど。あと、回転方向もとれないんだよなあ。

・・・

なんでそんなに回るんだっつーと、たぶん、iPhone につけてるカバーのせい。パワサポの Air ジャケットのクリアのんつけてて、密着防止用のシールを真ん中に1個だけ貼ってるからちょっとだけ真ん中が盛り上がってるのね。んでよく回るんじゃないかなあ。なんにもつけない状態でも回るのかもしれないけどキズが怖くてできないww

まあそんな特殊なミーの iPhone でしか動かせないってのもあるので、特にもうちょっといい感じにしてリリースするとかって予定もないですな。

・・・

つーかさー、App Store の契約諸々ってアプリつくってなくてもできるんやん。知らんかった。もっとはやくやっときゃよかったなー、もー、来月引っ越しとか微妙すぎ。もー、アプリリリースするとしても来年だわ。。

Pixel Bender でズームブラー&回転ブラー

20081008-Radialblur

いやーなんかびん太が困ってるっていうし、まともに Pixel Bender で書いたこともなかったのでやってみたわけですよ。回転ブラーみたいなのを。やり方としては、

1. 直交座標系を極座標系に変換。(Photoshop の極座標フィルタとおんなじ)
2. ブラー。(縦方向にブラーするとズームブラー、横方向だと回転ブラーになる)
3. 直交座標系にもどす。(1 の逆変換)

てな感じ。1 度に全部はできなくってそれぞれのステップが 1 つのフィルタ。2 は BlurFilter なので 1 と 3 を Pixel Bender で書いたわけね。つっても座標系の変換なんてたいしたことやらないのですけど。

んで、できたのがコレ。(ソースコードはこっち

フレームレートも 30 fps ぐらいは出るから結構実用できる範囲かも。(sampleLinear にしてるから sampleNearest にすればもっと速くなるはず。画質はわかんないけど。)

でもー、どうしてもとれないバグがあって。Pixel Bender Toolkit では正しく動くのに Flash で ShaderFilter として使うとなんかおかしい。↑のデモさわるとすぐわかるんだけど入力パラメータがどうも正しく伝わってない?のか、右下 4 分の 1 しか正常に動かない。。もしかしたら Kernel で計算ミスってるかもなんだけどちょっともう疲れたので誰か。。。

あー、そうだ。回転ブラーはいいんだけどズームブラーはちょっと間違ってる。ブラー量が中心から外にいくにつれて大きくならないとだめなんだけど 2 のとこで縦方向に均一にブラーしちゃってるから、どのポイントでもブラー量が一定になっちゃってるのな。これどーすっかなー。

Saqoosha.net は Windows なら Internet Explorer 7, Firefox 3, Safari 3, Mac なら Firefox 3, Safari 3 でいい感じになるように作ってありますのでそれ以外のブラウザでは Saqoosha が意図しない見た目になっている可能性がありますのでよろしくです。
どうやら Flash Player の最新版がインストールされていないようです。こちらから最新版をインストールするともうちょっと素敵な Saqoosha.net を見ることができるかもしれません → Flash Player Download