hirax.net::Keywords::「探し」のブログ



1999-06-26[n年前へ]

リモートカメラから世界をノゾこう! 

Macintosh用カメラ制御プログラムを作る

 今日もニュースを探しに
MAQ?MAK?MAC! ( http://www.maqmakmac.com/)
を見に行くと、おやおや何やら見たことのあるキーワードがある。これが「デジャブ」という奴かと一瞬思ったが、そうではないようだ。本WEBについての記載がある。ビックリだ。いや、ホント。
自分の興味の趣くままにやっているサイトではあるが、好きなサイトで「面白い」といってもらうと、とても嬉しい。また、そこから辿り
WebCatchを見る。「ノーラ」氏の文章には頭が下がる思いである。

 MAQ?MAK?MAC!には「もっとMacintoshに関連した話題が多ければ良いのになぁ?。 」とも書いてある。そう、私もMacintoshの話題が少ないとは思っていたのだ。Macintoshが多い私の職場の人々からも(次回の話への伏線)言われ続けてきたことなのである。ならば、MAQ?MAK?MAC!( http://www.maqmakmac.com/ )登場記念にMacintoshを使った話をやってみたい。

 というわけで、今回は急遽Macintoshを使った実験の話である。物語は、こんなジャンクを手に入れたところから始まる。ごくたまに、秋葉原でも見かける。もし見かけて、かつ、安かったら、迷わず「買い」だ。LEGOのMindstormsなんかと組み合わせたら、かなりかっこいいはずだ。

シリアル制御可能なカメラ

 これが、「Canon製ビジュアルコミュニケーションカメラ」である。シリアル通信でカメラの向きやズームピントを変えることができるものである。上下左右に首を振ることができるし、ズームやマクロ撮影も可能だ。発売当初は20万円位もしていたものだ。この後継機種も出ている。

 これを使って、何か面白いことをしてみようと思った。いや、はっきり言ってしまえば、ネットワーク上のMacintoshにこのカメラをつなげて、それを他のコンピュータから制御しようにしたい。今でこそ、そういったWEBサイトも多々あるが、今回の話の実験を行った時(確か2,3年前)にはまだ少なかったのだ。

 このカメラはジャンクとして手に入れたので、ソフトも何も付いていない。しかし、シリアル通信のコマンドは何とか判明したので、制御プログラムを作ってみた。といっても、単なるシリアルポートへコマンドを送りつけるプログラムである。

 プログラムはここに置いておく。名前もずばり、「のぞき見君」である。もちろん、Macintosh版なのでWindowsでは使えない。

のぞき見君 0.1anozokimi01a.sit ( sit形式 332kB )

 正式にこのカメラを持っているユーザーにも今回のような用途(イヤな用途である)であれば、このソフトはきっと役に立つと思う。

 今回(といっても作成したのはずいぶん昔だ)作成したプログラム「のぞき見君」の起動画面が下である。

「のぞき見君」の起動画面

 下がメニュー画面である。画面を見れば判ると思うが、全てのメニューをコマンドキーを用いてキーボードのみでコントロールするようにしてある(これが素早く使うためのミソだ)。

「のぞき見君」のメニュー画面

 このソフトをインストールして、Macintoshとカメラをシリアルポートでつないで、また、ビデオ出力もMacのビデオ入力につなげばとりあえず、接続完了だ。これで、Macintoshから自由自在に制御できるビデオカメラの完成だ。

 さて、次はネットワーク経由で制御するための作戦だが、何ら苦労(私の)は必要ない。例えば、innfo-macに登録されているremote-mouse-keysというようなソフトを使えば、ネットワークにながっているMacintoshのキーボードやマウスを制御することが簡単にできる。

ftp.flashnet.it/mirror/8/sumex-aim.stanford.edu/comm/remote-mouse-and-keys-10.hqx

 ビデオ画面の転送はもちろん、Cu-SeeMeでも使えば良い。最近はその手のソフトも多いだろう。それでは、今回のプログラム群を使った構成図を以下に示す。Macintoshはネットワークの自由度が高いので色々な使い道がある。

セットアップ構成図

 remote-mouse-keysとCu-SeeMeの組み合わせが軽くてお勧めなのだが、今なら
vnc (http://www.uk.research.att.com/vnc/index.html )
を使うといったやり方もアリだろう。これなら、プラットフォームをあまり選ばないので、WindowsやUnix系OSからでも制御できるし、一つのソフトで制御もビデオ画面転送も済んでしまう。ただし動作がまだ重いとは思う。

 それでは、今回のソフトを使った顧客例を紹介しよう。

 それは私の職場の「ち*の」氏の使用例である。彼は結婚間近であった。いずれ妻と住む新居にPowerMacintosh6100がこのカメラとともに設置してあった。彼は家の戸締りが気になって、職場から家にPPP経由でRemote-Accessを試みた。彼のPowerMacintosh6100は電話がかかってくるとともに起動音を発し、起動した。そして、彼は職場からの制御により、家のPowerMacintosh6100につながったカメラは首を起こし右へ左へと方向を変え、戸締りのチェックを始めた。彼の目的は達成された。家の戸締りは完璧であった。

 ただ一つの問題は、彼は知らなかったが、結婚間近の恋人が掃除をするために新居を尋ねていたことである。彼女の目の前で、電話の音とともに勝手にMacの電源が入り、「ジャーン」という音を発し、そして、そこにあるカメラが「ウィィィーン、ウィィィーン」と右へ左へ動き始めたのである。「ひどい恐怖を感じました」、と彼女は後に語ることになる。

 その後、彼の結婚がはたして実現したのか、それとも実現しなかったのかはここでは明らかにしない。

1999-07-18[n年前へ]

hixの地図 

好きな話は何処にある?

  最近、本WEBのTopページが非常に読みにくくなっている。話題が多すぎるのだ。これでは、このWEBを見に来てくれた人がいたとしても、迷ってしまうだろう。きっと、好みに合うページを見つける前に他のWEBサイトにとんでしまうに違いない。自分の好きにやっているサイトとは言え、それは少し寂しい。そこで、自らhiraxサイトの内容について解説してみることにした。といっても、単に解説するのではつまらないので、多少の考察を含めながら、である。

 他の人のWEBなどを眺めながら、自分のWEBの特徴を振り返ってみると、下のような図を持ち出すのが一番良いような気がする。これは横軸を「技術度」、縦軸を「感性度(完成度にあらず)」にしたものである。ジャンル1,2,3,4は大雑把に傾向で分類しようとしたものである。

技術度と完成度の地図

 他の技術系サイトを見た後に本WEBを見ると、どうも本WEBは技術的でない話が多い。主観的な部分がかなり含まれているのだ。他の技術サイトでももちろん主観的な部分はある。しかも、(私にはまだまだ出来ないのだが)説得力があるのだ。すなわち、ある程度の客観性が感じられる。しかし、私のサイトの中にある主観的な話は他の人に説得力があるとは思えないのである。妙な感覚的な話と技術的な話のカクテルみたいなのである。そこで、上のようなグラフが登場するわけである。

 科学という立場から考えれば、客観的であり技術的にも高度な「ジャンル-2」が望ましいだろう。しかし、本WEBには技術的には高度でないし、客観性もない、という「ジャンル-3」も多い。例えば、
iMacはドラえもんの夢を見るか? -さようなら、ドラえもん - (1999.02.03)
などがそうだ。そして、その極限として「Scraps」がある。こういった状況が良いのか悪いのかよくわからないが、とりあず、それもまた個性ということにしておこう。

 「ジャンル-4」の代表的な話としては
鴨川カップルの謎 -そうだ、京都、行こう-(1998.11.29)
というところか。「ジャンル-1」としては
コピー機と微分演算子-電子写真プロセスを分数階微分で解いてみよう-(1999.06.10)
というところで、「ジャンル-2」は
夏目漱石は温泉がお好き? -文章構造を可視化するソフトをつくる - (1999.07.14)
という感じだろう。まずは、自分の好みとあった所から眺めてみて頂きたい。また、裏で繋がっている話も多いのでそういう伏線を探してみるのも面白いのではないだろうか。

 なお、私の書く文章ははどうも「本当に言いたいことを行間に隠してしまう」ようなので(表現力がないとも言う)、行間に隠れている(作者も気づいていない)応用など読みとって頂けたら幸いである。それを私に教えていただければ、なお良い。

1999-07-22[n年前へ]

失楽園殺人事件の犯人を探せ 

文章構造可視化ソフトのバグを取れ

 今回は
夏目漱石は温泉がお好き? - 文章構造を可視化するソフトをつくる - (1999.07.14)
の続きである。やりたいことは以下の3つ

  1. WordFreqのバグを取る。
  2. 定量化に必要な数値を出す。
  3. とにかく遊んでみる。
である。まずは、プログラムのバグを取ろう。前回、プログラム中にバグがあると書いたが、問題は私がbmonkey氏の正規表現を使った文字列探索/操作コンポーネント集ver0.16の仕様を勘違いしていたことによるものだった。ファイルにGrepを書けた際に、テキストファイル中の一行中に複数の適合する単語が存在した場合に、本来、一番最初に適合した単語の文だけが「適合する単語があったよ」と知らせてくれるのであるが、それを単語全部について教えてくれるものと勘違いしていたのだ。従って、一行中に探す単語が複数登場する場合には結局1回分しかカウントされなかったのである。まずはそれを直してみたい。「GrepでMatchした行中に改めて目的の単語が何回登場するかを調べる」という2段階にすることで今回の問題は解決する。

WordFreq.exe 1999.07.21Make版 wordfreq.lzh 338kB

 本WEBサイトのモットーは「質より量」である。...これはちょっと何だな...「下手な鉄砲も数撃ちゃ当たる」...これもちょと...「転がる石に...(もちろん日本版でなくて西洋版のだ)」といった方がニュアンスが良いかな?... 転がる石は精度を求めないのである。数をこなせば精度が悪くてもいい方角に転がっていくと思っているのだ。モンテカルロ理論である。「遊び」だし。というわけで、これはバグがあった言い訳である。

 さて次は、「定量化に必要な数値を出す」である。前回の題目で使った「ホトトギス」版「坊っちやん」のダウンロード元のWEBの作成者である木村功氏より、前回の話以後にいくつかアドバイスを頂いた。それが「定量化するにはどのようにしたら良いか」ということであった。それについては、最低限の機能をつけてみた。やったのはただひとつ。出現頻度の分散を計算するようにしただけである。この数値と出現平均値を用いて、色々な文章を解析すれば、このプログラムの返す値の出現分布の分散・平均値・有意水準などを導くことができるだろう。色々な時代の、色々な作家の、色々なジャンルの文章を解析し、それらから得られた値を調べてみればもしかしたら面白いことがわかるかもしれない。

 それでは、今回のプログラムを使って遊んでみよう。

 今回用いるテキストは小栗虫太郎の「失楽園殺人事件」だ。
青空文庫 ( http://www.aozora.gr.jp/)
から手に入れたものだ。今回のタイトルどおり、「失楽園殺人事件」において「犯人」を探してみよう。

「失楽園殺人事件」において「犯人」を探したもの

 ラストのほうに向かうに従い犯人の登場が増えて、山場を迎えているのがわかるだろう。「犯人」で検索したら次は探偵の番だ。「法水」で検索し、探偵がきちんと働いているか見てみよう。

「失楽園殺人事件」において「法水」を探したもの

 なかなか出ずっぱりで活躍している。もちろん、探偵役もラストでは活躍しているようだ。

 ここまで見ていただくとわかるだろうが、画面は前回のバージョンとほとんど同じである。前回は、1物理行あたり検索単語は1個までしか見つからなかったが、今回はきちんと複数見つかっているのがわかると思う。1物理行中でもきちんと結果が出るようになったおかげで、文章中から「。」を検索すると、物理行(段落と近いもの)中に含まれる「文」の数を調べることが出来る。妙に長い文節の出現頻度などを調べることが出来るのだ。こういったものは定量化にふさわしいのではないだろうか?

「失楽園殺人事件」において「。」を探したもの

 また、C++プログラマーのあなたは自分のプログラム中から「//」などを検索すると面白いのではないだろうか。コメントの出現頻度が手に取るようにわかるだろう。

 というわけで、今回はバグ修正のご報告である。

1999-08-14[n年前へ]

年始は景気が悪いの法則 

株価・為替グラフ表示ソフトを作ろう

 自慢ではないが、私は経済には疎い。しかし、霞を食べて生きているわけではないので、勤務先の景気の行方は私の食生活を左右してしまう。その年の給料は年始に労使交渉の後に決まるのだが、何故か毎年その時期は勤務先の景気は悪いのである。当然、毎年不景気な労使交渉が行われることになる。

 「何故か毎年その時期は勤務先の景気は悪い」と書いたが、わかっている理由もある。例えば、その前年末に売れてない製品を売れたことにして前年の売上に押しこめてしまうから、次の年始は当然製品の売れ行きが下がるわけである。従って、給料を安く抑えるためには、労使交渉を年始に行うのがいいと思われる。

 そういうことはおいておいても、経済の勉強は少しはしなければならないだろう。こう思ったきっかけは、「今日の必ずトクする一言(http://www.tomoya.com/)」の

を読んだからである。株価変動グラフが簡単に見ることのできるサイトがあるなら、そういうデータを材料にして色々な解析を行ってみるのも面白いかもしれない。

 それでは、今回のサンプルには「カシオ計算機(株)」を使うことにしてみる。まずは、カシオ計算機の株価の最近一年間の変動を以下に示してみる。

カシオ計算機の株価の最近一年間の変動 (YAHOO提供のデータ)

 さて、これだけでは何がなんだかわからないし、カシオ計算機の特徴もわからない。

  • 他の会社の平均に対してカシオ計算機の特徴はどうか?
  • カシオ計算機の株価と相関があるパラメータは何か?
といったことを調べなければならないだろう。他にも調べなければいけないことは数多くあるのだろうが、経済のお勉強一日目の私にはこんなところが限界である。

 他の会社の平均を調べるためには、日経平均株価を見れば良いのだろう。そして、カシオ計算機のような輸出を主体とする製造業の場合は、円vsUS$為替が株価と極めて相関が高いことが多いので、日経平均株価と円vsUS$為替の変動を示してくれるサイトがあれば簡単に比較ができるだろう。例えば、そういった情報はYAHOOやASAHI..COMから得ることができる。

 しかし、大雑把に探した限りでは、日経平均株価と円vsUS$為替の変動を同時に表示してくれるサイトが見当たらなかった。そこで、日経平均株価と円vsUS$為替の一年間の変動を表示するソフトウェアEconomicを作成することにした(経済の勉強から離れてしまっている気もするが...)。

 プログラムの内容はごく簡単で、ASAHI.COMにアクセスして「日経平均株価」と「円vsUS$為替の変動」を示す画像を取得して、合成するだけである。今のところ、proxy対応にはしていないが、そうするのもごく簡単なので、気が向けばproxy対応にするつもりだ。
 また、動作のためにはSUSIEプラグインのJPEG対応プラグインを必要とするので「Susieの部屋」から適当なプラグインをダウンロードし、Economicプログラムと同じディレクトリか、システム、もしくはSUSIEアプリケーションのあるディレクトリに入れておく必要がある(経済の勉強をするのに、何故SUSIEプラグインの話になるのだろう? というツッコミは無しだ。)。Economicプログラムは以下からダウンロードできる。

 Ecomicの動作画面を以下に示す。ネットワーク環境が遅い場合には、起動に時間がかかるかもしれない。
Economicの動作画面

緑 : 円vsUS$為替
紫 : 日経平均株価:
 このグラフの中で、緑 は 円vsUS$為替であり、緑は日経平均株価である。それらが重なったところは白で示してある。このようなグラフと任意の企業の株価を比較することで、先の
  • 他の会社の平均に対してカシオ計算機の特徴はどうか?
  • カシオ計算機の株価と相関があるパラメータは何か?
というようなことを簡単に見ることができるだろう。

 それでは、このEconomicを用いて、カシオ計算機の株価の変動を見てみよう。

日経平均株価と円vsUS$為替とカシオ計算機の最近一年間の変動の比較(1999.08.14現在)
日経平均株価と円vsUS$為替
カシオ計算機の株価

 見比べてみると、カシオ計算機の株価は日経平均株価(左の紫の線で示してあるもの)とはあまり相関が無い。日経平均株価が右上がりで高くなっているのに対して、カシオ計算機の株価は最初に大きく低下した後に、低迷を続けている。

 それに対して、円vsUS$為替の変動(左の緑の線で示してあるもの)と見比べてみると、ほぼ同じであることがわかる。輸出を行っているメーカーはどうしてもこうなってしまう。例えば、1円円高になると為替で数十億円も損失が出たりするのである。素晴らしい製品を作るかどうかよりも、円高になるか円安になるかの方が重要であったりするのだ。しかも、(私の気のせいだとは思うが)いつも年始は円高で、そのため毎年給料が不景気になるような気もするのだ。困ったものである(私が)。

 さて、こういったプログラムは作るのが簡単な割に面白い(私としては)ので、色々と応用プログラムを作成して遊んでみるつもりである。そうして、いつか経済オンチを克服してみたいと思うのであった(経済の話なんかほとんど出てきてないような気もするが...)。

1999-09-05[n年前へ]

ACIIアートの秘密 

画像をASCII文字に変換するソフトを作ろう

ASCII文字で描かれたモナリザを初めて見たのは、まだ大型コンピューターしかなかった頃だ。当時、記憶媒体の紙テープをパンチした紙くずと、ラインプリンタから出力されたASCIIアートで遊んでいた。
 今回ASCIIアートを用いていくつか実験をしてみたかったので、画像をASCII文字に変換するソフトウェアを探してみた。例えば、

といったサイトのリンクを辿ってみた。しかし、探し方が悪かったのだろうが欲しい機能を持つソフトウェア(フォントに応じたガンマテーブルを構成できること)が見つからなかった(情報をお持ちの方はここからでも私に教えていただけるとうれしい)。そこで、しょうがないから自分で作ってみることにした。必要は発明の母だ。というわけで、父は私。

 子どもである作成したソフトウェアは以下だ。もちろん、フリーウェアだ。ただし、いつものごとくアルファ版の中のアルファ版なので、再配布は禁止である。ここからいくらでもダウンロードできるので、構わないだろう。

 さて、このソフトウェアは画像をASCII文字に変換して表示・保存することができる。変換の仕方は、
  1. 白背景に黒文字
  2. 黒背景に白文字
  3. 白背景に色文字
  4. 黒背景に色文字
という4種類ある。また、変換したものを保存するにも、
  1. Windows Bitmap形式
  2. Text形式
  3. Html形式
の3種類がある。Text形式で保存する場合には「白背景に黒文字に変換するモード」で保存される。それ以外の保存形式であれば、どの変換モードでも大丈夫である。
 画像を読みこむには標準ではWindowsBitmapのみであるが、Susieプラグインを用いれば、色々な画像形式に対応することができる。

 使用手順は以下の通りだ。

  1. image2asciiを起動する。
  2. OpenFileボタンを押して、画像を読みこむ。
  3. Fontボタンを押して、フォントを選択する。(このソフトは使用するフォントの濃度カーブを計測し、正確な画像再現を狙うのだ!!)
  4. 画像変換モードを選択する。
  5. ImageToAsciiボタンを押して、変換を行う。
  6. 必要であれば、SaveFileボタンから適当な形式で保存を行う。
何より、使ってみるのが一番早いと思う。

 動作画面例は、例えば以下のようなものだ。

image2asciiで画像を白背景に黒文字に変換した画面

 
image2asciiで画像を黒背景に白文字に変換した画面
image2asciiで画像を黒背景に色文字に変換した画面

image2asciiで画像を白背景に色文字に変換した画面

Text形式で保存した場合のサンプルはこんな感じだ

Html形式で保存した場合のサンプルも示しておく。白黒文字への変換モードであればテキスト形式で保存するのが良いと思う。白黒文字の場合にスペースが変換画像中に含まれていると、画像ずれが生じてしまうからだ。これも簡単に直せるのであるが、直すのは次回にしておく。慣れないプログラミングを一気にしたせいで疲れてしまったのだ。もしすぐに使いたい方は、エディターで適当に置換すれば良いと思う。

 さてさて、このプログラムを作成した理由は、これを用いて実験を多々行ってみたいからなのである。キーワードは、デバイス、ガンマ、安定性、逆問題、色空間...である。というわけで、続きは次回に...



■Powered by yagm.net