hirax.net::Keywords::「自作ソフトウェア」のブログ



2008-09-21[n年前へ]

コミック調動画処理ソフトを作る 

 以前作ったコミック調動画処理ソフトを少し手直ししたものを、ここ (comicmovie.20090921.lzh) に置いておきます。たとえば、下の動画はラトルバック動画にコミック調動画処理をかけてみたものです。"Video"ボタンを押してAVIファイルを開くと自動的に処理が始まり、元AVIファイルと同じ場所に"hoge.avi.result.avi"という処理結果動画を出力します。

"Open"ボタンを押すとJPEGファイルを開くことができて、"Save"ボタンで処理後ファイルを保存することができます。つまり、静止画に対するコミック調処理も行うことができます。

2008-10-19[n年前へ]

加速度P(I)D制御の防振エディタ 

 列車や飛行機や、あるいは、船の上といった場所でPCを使う人もいる、と思います。そんな人たちは、とりたてて多くはないのかもしれないけれませんが、きっと、そんな人たちもいると思います。つまり、揺れ動くノートPCの液晶を眺めながら作業をする人たちがいると思うのです。

 そんな作業は、目を疲れさせ、きっと視力を悪くします。・・・そこで、ノートPCに搭載されている加速度センサを使って、揺れの成分を取り除くようにWindowを動かすエディタを作ってみた。題して、「加速度P(I)D制御の防振エディタ」です。つまり、その瞬間の加速度=位置の差(Propotional)と、その瞬間の加速度の微分=位置の差の差(Differential)をさらに演算した結果を用いて、エディタのウィンドー位置を防振補正し、「揺れ動く環境の中でも目を疲れさせないエディタ」を作ってみたのです。

 そんな「加速度P(I)D制御の防振エディタ」を使っているようすを撮影してみました。それが、上に貼り付けた動画です。画面中央右の「加速度P(I)D制御の防振エディタ」が、その他のWindowsパーツと違って、防振の方向に動いている(動かそうとしている)のがわかるだろう、と思います。

ちなみに、その拡大動画が下に貼り付けたものです。画面右が防振エディタで、画面の左後ろにあるのが普通のエディタになります。
 ケータイで撮影した動画ではわかりづらいと思いますが、真面目にやれば効果が結構あるように思えるのです。・・・ということは、あと数年もすると、「加速度P(I)D制御のノートPCの防振表示画面」というものも、ごく当たり前になっているかもしれません。

2008-10-20[n年前へ]

防振エディタ・ソフトウェアのバイナリ 

 昨日作った「加速度P(I)D制御の防振エディタ」で作った防振エディタのバイナリを/misc/stabilizedEditorに置いておきます。いつものように、アイデア一発・作成20分という大雑把な作りなので、できることはテキストファイルの編集と、Open・Saveだけです。

 で、早速「昨夜、こんなソフト作ってみたんだけど」と前置きしながら一発芸ソフトを披露したところ、「プルプル震えて不安定ですね」「全然、綺麗に制御できてないですね」「大体、(位置値でなく)加速度値を使っているのにPD制御って、変じゃないすか?」「もう少し制御工学を勉強した方がいいんじゃないでしょうか?」と実に真っ当な技術論で喝破されていまいました。

 そして、それどころか、「それ、老眼促進ソフトですか?」「だから、そんなにフォントが大きいんですか?」とまで言われたてしまったわけです。・・・確かにそうかもしれないなぁと思いながら、誰かが、iPhoneとかで防振エディタ・ブラウザ・画面表示ソフトウェアが作ってくれたらいいのにな、とも思ったのです。

2008-11-08[n年前へ]

最近のThinkpad(の加速度センサ)に対応した万華鏡ソフト 

Thinkpadで動く万華鏡ソフト、Thinkpadを傾けるとそれに応じて色とりどり綺麗な模様が見える万華鏡ソフトのアップデート版を作って、ここ(kaleidoscopes20081108.lzh 1.4MB)に置きました。最近のThinkpadでも動くようにしています。このソフトウェアを動作させると、下に貼り付けた動画のように画面に万華鏡の中野景色が映し出されます。こういう模様の動きには、何だか不思議なくらい見とれてしまいますね。

2009-04-10[n年前へ]

分光スペクトル・色処理用のMathematica 7.0用ライブラリ 

 以前、「光スペクトル操作用のMathematicaライブラリ」というものを作りました。また、その習作として「スペクトル処理で遊ぶためのMathematicaノートブック」というノートブックを書いたことがあります。さまざまなスペクトル分布と持つ可視光を重ね合わせたり、塗り重ねたりしたとき、どんな色に見えるかを簡単に計算できる、しかもなるべく単純でいて応用しやすいようにしたい、と思いながら書いてみたライブラリです。

 たとえば、D65光源のもとで、赤紫色の絵具を重ね塗りしていったときの色の変化を CIE Lab 空間のグラフで眺めるには

labPlot[ 
  Map[lab,Table[
           transmissionSpector[D65,
                   magentaFilter, d],
                   {d,0,10.0,0.1}]
     ]
]; 
というコードを書けば良い、という具合です。ちなみに、「スペクトルデータ」はすべて純関数で表現する仕様にしてあるので、上記のコード中のD65もmagentaFilterも実体としては「関数」です。そのため、波長の離散化も不要ですし、((D65[#]+D50[#])/2)&といったような数式風に書けば、D65とD50の平均のような照明光を表現することもできます。

 ちなみに、このライブラリはMathematica 5.2で作ってみたものです。最近、Mathematica 7.0も使いだしました。すると、グラフィックス関連の関数の機能変更がたくさんあって、以前のライブラリでは表示関係のライブラリが動作しないことに気付きました。そこで、Mathematica 7.0用の「光スペクトル操作用のMathematicaライブラリ for Mathematica 7.0」を(まずは)適当に作ってみました。それが、ColorLib_amature on 7.0.nb (263kB)になります。

 ところで、Mathematica 7.0では、インタラクティブなアプリケーションも簡単に作成できるということなので、ColorLib_amature on 7.0.nbを使って、「D65光源の下で、白色紙の上にシアン色とマジェンタ色を塗り重ねていくとどんなスペクトルになるか」を表示するインタラクティブ・アプリケーションを作ってみました。その動作画面が、下の動画になります。上のスライダーがシアンを塗り重ねる量で、下のスライダーがマゼンタを塗り重ねる量を示しています。それぞれのスライダーを動かすと、「どんなスペクトルになるか」がグリグリと表示されます。

 さて、次回は、Mathematicaで作ったアプリケーションを誰でも使える形にして配布できるようにしてみたい、と思います。





■Powered by yagm.net