長谷川能三のHP研究報告誌   大阪市立科学館研究報告14,53-62(2004)



展示「ナノワールドへの旅」「空気が見える?」「原子体重計」の試作


長谷川 能三

大阪市立科学館


概要
 展示改装基本計画と関連して、原子・分子に関してパソコンを用いた展示を3種類試作した。今回この3つの展示の試作においては、プログラミングも自分で行なったので、試作した展示の内容だけでなくプログラム言語についても含めて、ここに報告する。

1.はじめに
 物質の基本粒子である原子の概念は、科学のさまざまな分野において重要であるが、その大きさが非常に小さいため、実際の原子の姿を見るには走査型電子顕微鏡か走査型トンネル顕微鏡という特殊な装置が必要である。そこで、今回、パーソナルコンピュータの手助けを借りることで、原子に関する展示を試作した。
 当館のこれまでの展示でパソコンを用いたものとして、インテリジェントターミナル・気象モニタ・潮の干満と月・コンピュータ星空早見などがある。しかし、ソフト製作については、たいてい展示製作業者に委託していた。
 パソコンの性能が向上したことや、プログラム言語も表現が豊かになってきたために、自分でプログラムするという選択肢も考えられるようになった。もちろん、専門の業者に委託してできたプログラムにはなかなかかなわないが、今回のような展示の試作においては、状況に応じてプログラムを気軽に書き換えることができるという利点もある。

2.展示内容
2-1.ナノワールドへの旅
写真1.展示「ナノワールドへの旅」
 イスのデザインで知られるイームズの「パワーズ・オブ・テン」の手法を用いて、身近なものを10倍ずつ拡大していき、10億倍(1ナノメートルが1メートル)まで拡大すると原子が見えてくるところまでを見せる展示。
 イームズの「パワーズ・オブ・テン」の本では10倍ごとの写真やイラストで表現されているが、今回の展示では「パワーズ・オブ・テン」の映画のように10倍ごとの画像を順にズームアップするという動きをつけることで、どんどん拡大していくという表現を明確にした。さらに、画像の横には、何の映像であるのかや、どんどんズームアップしていることを、解説文で表示した。
 また、イームズの「パワーズ・オブ・テン」では、途中で対象物が変わってしまう部分(人間の手の表面の細胞の拡大から、次のページでは白血球に変わるなど)がある。このような部分があると不自然であるだけでなく、順々に拡大するという映像では前の映像とつなぐことができなくなる。
 そこで今回、10億倍の画像を DNA を構成する原子とし、そこへつながるようにスーパーのタマネギ売り場からタマネギ・タマネギの根・根の細胞・細胞核・染色体・DNA を構成する原子という流れにした。
 また、映像は DLP プロジェクタでおおよそ1m角に投影することにより、最初のスーパーのタマネギ売り場がほぼ実物大になるようにした。
 
2-2.空気が見える?
写真2.展示「空気が見える?」
 空気の分子が互いに衝突を繰り返しながら飛びまわっている様子を、巨大な風船の表面に映し出して見せる展示。
 衝突によって、それぞれの分子が飛んでいく方向や速さが変化するが、分子運動の計算においては、簡単化のため
  • 分子の運動は2次元平面内での運動に限る
  • 各分子は同質量として衝突運動を計算する
  • 各分子は球(円)として衝突運動を計算する
  • 各分子の回転は衝突ごとにランダムに与える
とした。このため、例えば描いている分子の形と衝突の計算に使っている円の大きさ差のために、本当は分子どうしが接触していないのに反発したり、逆に分子どうしが少し重なり合ってしまうといったことがある。また、正面衝突でも急に分子が回転し始めることもあるのだが、実際に見てもあまり不自然に感じる程ではなかったため、このような簡単化を行なった。このような計算の簡単化を行なうことにより、分子の数を増やしても計算速度があまり低下しなかった。
写真3.展示「原子体重計」
 この分子が飛びまわる様子は、動きそのものが面白く、また、プログラム製作途中では窒素と酸素だけだったが、最終的にアルゴン・水蒸気・二酸化炭素を加えることで、めったに現われない分子を探すという面白さも加わった。
 また、空気を拡大して見ているのだというイメージを持ってもらうために、スクリーンの代わりに直径1m程度の大きな白い風船を用いた。風船の口の部分に透明な蓋を取り付け、ここから液晶プロジェクタで風船の内側から風船表面に映像を投影した。さらに、投影した映像には虫めがね型のフレームを描き、その虫めがねのレンズ部の中で分子が飛びまわっているように表示した。
 
2-3.原子体重計
 自分の体が原子でできていることを実感するために、体を構成する原子の数を、モル数や質量ではなく、原子数をそのまま(べき表示をせずに)表示する展示。非常に桁数の多い数字になるため、逆に原子が非常に小さいことも示している。
写真4.「原子体重計」の画面表示
 計算には、IAEA (国際原子力機関)の標準的な人体のデータを用いた。実際には、年齢や体格などによって人間の体の組成は異なるが、展示としてつくるにあたって、測定が簡易な体重だけを用い、体重計の値を RS-232C でパソコンに取り込み、体重からの比例計算で原子数を算出した。
図1.プリントアウトしたデータ
 また、ディスプレイには人体を構成する全原子数だけを表示し、元素ごとの原子数はプリントアウトするという方法をとった。人体には27種の元素が必須であるということであるが、この中には必須であっても人体には非常に微量しか含まれていない元素もある。逆に人体にはある程度含まれているが、人間が生きていく上で必要なのかどうかよくわかっていない元素もある。今回、プリントアウトする元素としては、印刷スペースや元素の知名度、必須元素かどうかなどを考慮し、人体を構成する原子の多い方から15種類に限った。

3.プログラミング
 今回、手法の異なる3つの展示を製作したが、プログラミングにあたって2種類の言語を使用した。ひとつは Visual Basic(マイクロソフト社 Visual Basic.NET、以下 VB と略す)という言語で、もうひとつは HSP(Hot Soup Processor) という言語である。ちなみに、筆者はこれまで Fortran と Basic 言語を主に使ってきており、VB も HSP も初めてに近い状態であった。
 「ナノワールドへの旅」と「空気が見える?」には HSP を、「原子体重計」は VB を用いた。今回このような言語を用いたのは、「ナノワールドへの旅」および「空気が見える?」についてはグラフィックが主であるため、簡単にグラフィックが扱える HSP を用いた。また、「原子体重計」については、体重計からデータを取り込んだり、計算結果をきれいに印刷したりすることが必要であるために、 なじみのある Basic 言語をベースに、I/O 関係などさまざまな機能を充実させたであろう VB を用いた。
 
3-1.HSP言語
 HSP は一般にはあまり知られていない言語かもしれないが、
  1. フリーで入手することができる
  2. グラフィックを手軽に利用することができる
  3. インタプリタで実行することも、コンパイルすることもできる
といった利点があり、例えばスクリーンセーバーなどを簡単に作ることもできる。しかしその一方、
  1. 基本コマンドだけでは小数が使えない・三角関数などの関数も使えない
  2. 計算順序が乗除優先ではなく、左から順に行なわれる
といった不便な所や独特の癖がある。
 i.については、HSP の本体・エディタ・サンプルなどのセットが、 http://www.onionsoft.net/hsp/ から無料でダウンロードでき、目的が商用・非商用にかかわらず無料で使うことができる(ライセンス料や、サポート費用が必要ない)。
 ii.については、後に載せたプログラムを見てもわかるとおり、例えば用意した画像ファイルを、画面上の任意の場所に表示したり、拡大・縮小、重ね合わせる時に下の画像と上に重ねる画像の処理のしかた(たしあわせる・上の画像の黒い所以外は上の画像で塗りつぶすなど)を選ぶといったことが簡単にできる。
 iii.については、[F5] キーを押すだけでインタプリタで実行できるため、プログラムを書く段階ではデバッグに便利であり、プログラムが完成すると、コンパイルして実行ファイルを作ることができる。
 iv.については、外部関数を使うことで三角関数なども使うことができ、実際に「空気が見える?」のプログラムでは三角関数も使っている。しかし、もともとが整数しか使えない言語使用であるため、例えば角度は(360度/2n)単位になる(nは任意)といった独特の癖がある。
 v.については、通常のプログラム言語では、加減より乗除が優先されるが、HSP では電卓のように左から順に計算される。もちろん括弧を使うことができるので計算順序をコントロールする事ができるので特に問題はないが、気をつけないとケアレスミスを起こしやすい。
 
3-2.Visual Basic 言語
 VB については、HSP に比べ一般にも良く知られている言語であるのでここでは詳しく触れないが、今回使ってみて特に気がついた点は以下のとおりである。
 HSP と同じように、プログラミング中に [F5] キーで簡単にインタプリタとして実行することができ、プログラムが完成するとコンパイルして実行ファイルを作成することができる。
 しかし、今回使用した Visial Basic.NETは、旧バージョンである Visial Basic Ver.6 (VB6) とは異なる部分が多く、書籍やインターネットでは、まだまだ VB6 での解説が中心であるために苦労した。
 
3-3.プログラム
 今回作成したプログラムは、まだまだ VB や HSP になれていないため、アルゴリズムのたて方の悪い部分や見づらいところもあるとは思うが、何かの参考になればと思い、ここに掲載する。
 ・ 「ナノワールドへの旅」のプログラム
 ・ 「空気が見える?」のプログラム
 ・ 「原子体重計」のプログラム

4.考察
 これらの試作展示は、1月23日から2月29日の間、新作展示展としてまとめて展示した。そのときの来館者の反応などをふまえ、気のついた点、今後改良が必要な点、工夫した点などを列挙する。
 
4-1.ナノワールドへの旅
 今回はスーパーのタマネギ売り場からDNAを構成する原子までの1パターンのみであったが、身近な別のものについても拡大していくと原子でできているという映像を数パターン作ることができれば、身のまわりのものは何でも原子でできているということをもう少し強調できるのではないかと考える。
 また、なるべく画像と画像のつながりが良くなるように画像の色などを調整したが、それでも光学写真から電子顕微鏡写真へ変わる部分や、電子顕微鏡写真からDNA模型の写真に変わる部分では、どうしても画像のつながりが悪かった。この点については、ひとつひとつの画像のクオリティーをCGや画像処理技術で上げる必要がある。また、今回はズームアップするときに同じ画像を拡大して行くだけであったが、拡大しながら色調を変えるなどの方法をとれば、もっと自然につなぐことができると考えられる。
 全体の流れとしては、ひとつひとつの画像について解説を入れたため、全体を通して見ると約3分もかかってしまった。しかしながら、文字をリズム良く1文字1文字出すことで、解説の長さの割には見てもらいやすい形となった。しかし、DNAを構成する原子までズームアップした後、一旦スーパーのタマネギ売り場まで戻り、もう一度解説文無しでDNAを構成する原子まで素早くズームアップしてみてはというアイデアもあったが、プログラミング能力とプログラム言語やパソコンのスペックの限界から無理であった。その代わり、館の入り口には、解説文無しで画像の素早くズームアップするものをプラズマディスプレイに表示して、新作展示展の案内とした。このような、ちょっとしたプログラムの変更ができるのは、自分でプログラムを書いた強みである。
 また、今回はストーリーに沿ってズームアップするだけであったが、例えばレバーを取り付け、来館者の意志によってズームアップしたり戻ったりできるようにしても面白いと思われる。
 
4-2.空気が見える?
 風船の内側から風船表面に投影したのは確かに効果的であった。しかしながら、どうやって映しているんだろう?といった疑問や、巨大な風船そのものに興味が移ってしまう人もいた。
 また、常設の展示にするには、風船の耐久性や、液晶プロジェクタの終了方法などの問題が残る。特に液晶プロジェクタやDLPプロジェクタは、終了時にランプを消した後、一定時間ファンをまわすように指示されている。このため、常設展示場のように、閉館時刻切れる電源でプロジェクタを切ると問題が発生する可能性がある。
 
4-3.原子体重計
 人体を構成する原子の総数が、ほぼその人の体重(kg)×1026 になっているため、原子体重計にのると体重がわかってしまうことに気づいてのりたがらない人や、プリントアウトした紙を見比べていて大騒ぎする人もあった。このため、当初はプリントアウトした紙に原子の総数も記載していたが、途中から元素ごとの原子数だけにして、総数は記載しないように変更した。
 さらに、画面表示で原子の総数を表示したときに、4桁ごとに区切った数字の下に「万」「億」「兆」…と表示していたが、「京」「垓」「」の読み方に気をとられてしまう人が多かったため、画面には数字だけを表示するように変更した。ただし、プリントアウトした用紙には、最初から「万」「億」「兆」…にふりがなもつけて記載している。
 また、パソコンのスペックを最低限に絞ったためか、印刷時に画面がちらつき、ウィンドウズのデスクトップが一瞬見えてしまい、見苦しかった。そこで、デスクトップにアイコンをやタスクバーを表示しないようにし、さらに壁紙を写真6のようにすることで、ちらついたときにも数字の一部が消えるだけに見えるようにした。

 尚、この展示の試作にあたっては、小野昌弘学芸員・岳川有紀子学芸員と共に企画を行ない、製作にあたってはさらに飯山青海学芸員にも協力していただきましたが、代表して長谷川が報告しました。