2008-01-10[n年前へ]
■「ビジュアル言語」
グラフィカルな表現でプログラムを表現しようという「ビジュアル言語」の話を読んだ。この記事を読んで、ふと思い出したことがあった。
計測・制御などをする場合、National InstrumentsのLabVIEWや、CYBERNETのSimulinkといったツールを使うことが多いように思う。いずれも、(基本的には)アイコンをワイヤー(線)で結ぶ「ビジュアル言語」である。少し前の実験系の理系学生であれば、誰でも98BASICでGP-IBを操作するプログラムを書かざるをえなかったように思うけれど、現在では、そういった場合に使われるツール群がLabVIEWやSimulinkといった辺りに移行しているように感じる。LabVIEWやSimulinkをPC BOX上で動かして計測や制御を行った上で、さらにはFPGAやASICにしてしまう、ということもある。
こういった「ビジュアル言語」を触り始めたとき、苦手だったことの一つが、「どこから実行されるのかわからない」「どこから眺めて行けば・理解すれば良いのかわからない」ということだった。そして、しばらくそういうツールを使ってから、ようやく気づいたのが「どこからも実行されている」ことを理解していないとダメなんだな、ということだった。「あらゆる箇所で並列計算が行われている」と普通に思えばよいのだな、ということだった。
VHDLなどのハードウェア記述言語では、基本的に、すべての部分が同時に動作する。行番号順に実行されたりするわけではない。そういうことは回路図という「ビジュアル言語」を見たら当然のように理解できるかもしれないが、そういったことはVHDLを見ただけではわかりにくい。どうしても、上から順番に実行されるような感覚で読んでしまう。最初の頃には、そういう感覚でLabVIEWやSimulinkのダイアグラムを眺めていたので、「どこから実行されるのかわからなくてイヤ」と感じいてたように思う。
もう一つ、画像処理に「ビジュアル言語」が向くだろうか。私が素人だからかもしれないが、そうは思えない気がする。
■ラトルバックが逆転する瞬間のスローモーション映像
チューインガムで誰でもできる「物理法則に反する!?超自然現象!?」の「ラトルバック」が逆転回転し始める瞬間をハンディカムで高速度撮影してみました。軽く折ったチューインガムを軽く回転させると、なぜかブルブル震え始めて、そしていきなり逆回転しだす瞬間の映像です。動き方を眺めていると、そのメカニズムを感覚的に理解することができるかも…?