背景の絵はボッティチェリ作,ビーナスの誕生(フィレンチェ,ウフィーツィ美術館所蔵)です.

電子・核密度と結晶構造の三次元可視化プログラム

人は情熱に駆り立てられた時,最高の仕事を成し遂げる.オープンソース・モデルは,人々に情熱的に生きるチャンスを与える.楽しむチャンスも.--- ビーナス・トーバルズ

本WebページはVENUS開発中に製作した遺物であり,もはや更新していません.
現在は3D Visualization System VENUSで最新の情報とVENUS配布ファイルを提供しています.


目次

  1. VEND + VICS = VENUS
  2. 創造的破壊行為としてのプログラミング
  3. 3Dゲームソフト開発技術の徹底活用
  4. スケーラビリティと移植性
  5. VENDによる電子・核密度の可視化
  6. VICSによる結晶データファイル入力と構造モデルの可視化
  7. ハードコア3Dゲーマー向けビデオカードの驚異
  8. 画像ファイル形式
  9. VENUSの配布
  10. むすび
  11. HOME


1. VEND + VICS = VENUS

電子密度・原子核密度(厳密には,干渉性散乱径bcの密度)の分布と結晶構造を3D空間上で表示し,操ろうというVENUS(Visualization of Electron/NUclear densities and Structures)プロジェクトは2001年8月に,前途多難なスタートを切りました.

三次元グラフィックソフト製作経験ゼロ,自前のソースコードも相談相手も皆無,開発用PCは老朽化したPentium II(300 MHz)マシン1台,いつまで続くか分からないプロジェクト研究資金,じりじり進みつつある老化現象,という悲惨な状況下で創造しようというのだから,壮絶なまでに無謀な企てです.自己の業績だけをひたすら追求する研究者には,労多くして功少なし,としか思えないでしょう.労が多いというのは,まったくもってその通りですが,功が少ないとは思いません.利用者の多さと利他的な活動が及ぼしうる波及効果を考慮すればむしろ逆だと信じるからこそ,貴重なマンパワーを振り向けているわけです.もちろん,本Webページを通じた情報発信と知的創作物の共有も同じ信念に基づいています.

研究のための有用なツールがいかに重要であり,いかに高く評価され,いかに長い生命を保ち得るかは,Knuthが10年の歳月をかけて完成させたTeX,Johnsonの熱振動楕円体作画ソフトORTEPの例を挙げるまでもなく明らかです.KnuthもJohnsonも,両ソフトにより不朽の名声を獲得したといって過言でありません.

VENUSの開発にあたっては,私が次から次へと繰り出すアイデアと要望を特別研究員Ruben A. Dilanian(ロシア科学アカデミー固体物理研究所から招聘)が具体的な形にし,さらに私が厳しい改善要求を突きつけていくという作業形態を採用しています.つまり,私がプロデューサー兼デザイナー,Rubenがプログラマーというように役割分担をきっちり分けています.

VENUSというのは(a)当該プロジェクトの名称あるいは(b)当該プロジェクトで開発するソフトの総称です.以下,VENUSを後者の意味に用いると約束しておきましょう.VENUSは

という二つの独立なプログラムからなっています.すなわちVENDは電子・核密度を,VICSは結晶構造を扱います.

2. 創造的破壊行為としてのプログラミング

たった二人で,無謀ともいえるVENUSプロジェクトに全力を傾注する動機はなんでしょうか.われわれは,OpenGL対応ビデオカードを装着したパソコン上で三次元グラフィックを敏速かつ手軽に操れる本格的結晶学的研究支援フリーソフトウェアを全世界に向けて送り出し,能う限り多くの人々に慣れ親しんでもらい,研究開発における創造性の拡大を支援したい,という高邁なモチベーションからこの困難な仕事に着手しました.我が国では,右を向いても左を向いても物質に興味をもつ実験家(言い換えればソフトウェアのユーザー)ばかりがやたらと多く,非営利目的で大規模なソフトウェアを製作する奇特な人,とりわけ三次元可視化ソフトの開発に自ら取り組む結晶学者などほとんど見当たりません.VENUSには超レアものとしての値打ちがあります.

筋金入りのRIETANユーザーはVENUSの登場をいかに祝賀するとも祝賀しきれないでしょう.後述のように,VENDはMEEDの書き出す電子・原子核密度ファイル*.denを入力できますし,VICSはRIETANのユーザー入力ファイル*.insを直接読み書きします.RIETANとの密接な連携を前提として設計されたVENUSは,RIETANの忠実かつ有能な腹心としてその付加価値を一段と高める戦略的意義を有しています.三国志でいえば,RIETANは劉備,VENUSは諸葛孔明にたとえられます.

ATOMSCaRIne CrystallographyCrystalMakerDiamondAVSCerius2などの商用ソフト以外の選択肢を提供することにより,ソースコードを企業秘密として隠蔽したまま独占的な科学技術ソフトを販売し,おためごかしのバージョンアップと引き替えに税金を取り立て続けるベンダーの心胆を寒からしめることになりましょう.

一度,上記のソフトの価格とアップグレード料金を調べてみてください.学生,金欠病患者,発展途上国の人々が余裕をもって支払える金額ではありません.何度もバージョンアップを重ねていけば,支出の累計はどんどん増えていきます.VENUSを使えば,いかに節約になるかがわかるでしょう.LinuxEmacsRIETAN−VENUS−TgifGIMPTeXという究極のラインアップを取りそろえたなら,完璧な無償ソフトウェアの世界に亡命でき,商用ソフトからの解放の喜びを味わえます.浮いたお金は他の有意義なことに支出してください.

われわれはソースプログラムの公開を通じてVENUSの根幹を占める技術を共有するだけでなく,無償配布により研究者の経済的負担をなくし,富めるものはますます富み,貧しいものはますます貧しくなるという悪しき傾向に微力ながら歯止めをかけようとしています.つまり,VENUSの存在意義は,一つには同種のソフトの価格破壊をもたらし,ユーザーがベンダーの言いなりになるしかないという閉塞状況を変革するところにあります.極言すれば,貧しい人々を救うという使命さえ達成できたなら,必ずしもVENUSが使われなくても構わないのです.

VENUSは再配布を許されているフリーソフトウェアですから,大学や高専での教育にも貢献しうるでしょう.違法コピーの誹りを受けることなく安心して利用できます.後述のように,多くのフォーマットの結晶データを読み込め,種々のタイプの結晶模型を扱え,何人の学生が使おうが無料で,自分のパソコンにコピーしていつでも自由に使え,しかもエンターテインメント性に富んでいるのですから,教育効果が自ずと上がるのは疑うべくもありません.教育者や学生にとって,この上ない贈り物となるでしょう.

もちろんVENUSは結晶学的研究に携わる人がルーチンに使う業務用ソフトウェアとしても必要にして十分な能力を備えています.ヴィルトオーゾ的技巧を随所でこらしているので,十分使い込めば,パワーユーザーがプロフェッショナリズムを発揮するのに駆使する商売道具となり得ます.四通りの回転モード(指定軸を中心とする連続回転,マウスドラッグ追随回転,マウスのドラッグの方向と速度に依存する連続回転,クリック位置で回転軸を指定する連続回転)は結晶構造のデモンストレーションにうってつけです.

このように崇高な目標を高々と掲げたVENUSプロジェクトですが,私とRubenに十分な力量が備わっていなければ,ドンキホーテの如く風車にはじきとばされるだけです.私たちにはそれだけの力量とセンスがあると堅く信じています.とはいえ,VENUSやその他のプログラムのパフォーマンスを評価し,総合的に判断して最良のプログラムを選ぶのは,あくまでユーザーです.商用ソフトが色あせて見えるくらい高度なソフトを提供しなければ,知名度が低く,実績のないソフトに飛びつく人はいません.

3. 3Dゲームソフト開発技術の徹底活用

三次元グラフィックのためにVENDとVICSが紡ぎ出すテクノロジーはOpenGL API(Application Programming Interface)に全面的に依存しています.GUIはGLUTGLUI(GLUTに基づくGUI構築ツール)で拵えています.

OpenGLとGLUTといえば,典型的な3Dゲームソフト開発ツールにほかなりません.AGPビデオカードさえ装着していれば,格安パソコンでもスイスイ動くクロスプラットホーム3Dソフトの製作を目指した結果,必然的にANSI C + OpenGL + GLUTという組み合わせに落ち着きました.結晶学・数学・コンピュータグラフィックの知識ばかりでなく3Dゲームソフト製作のスキルとセンスまで要求されますから,Rubenと私にとって畑違いの分野におけるタフな仕事にあえて挑戦することになりました.ゲームソフト業界に知己などおらず,暗中模索と試行錯誤の連続です.

GLUT+GLUIを全面的に採用した結果,VENUSはプルダウンメニューが見あたらない,特異なGUIを備えるに至りました.RIETANにおける入力ファイルプリプロセッサTinkと同様,意表をついたユーザーインターフェースです.ゲームソフト系の血筋は争えません(階層化メニューはゲームソフトにふさわしくありません).あらゆる操作・入力はマウスのクリックから始まります.

ただしボタンには絵でなく文字が置かれています.絵入りボタンは使い勝手よりは見栄えを優先しています.ときどきVENUSを使用するユーザーにとって,図形では何を表しているのかがわかりにくく,明らかに操作が遅れがちになるのです.結晶模型や電子・核密度を美しく表示しさえすれば十分で,ボタンを飾り立てたりするのは野暮ったい --- とするのが私の美学です.

VENUSでは,ダイアログボックス内で作画条件を変更するや否や,その変更が即座に画面に反映されます.ダイアログボックスを閉じる前に,そうなるのです.この芸当はGLUIの特別な機能を駆使して実現しています.

xtal-3dのように手軽なVRMLに頼らなかったのは,VRMLファイルなど介さずに構造や密度の三次元グラフィックを操り,高分解能のグラフィックデータファイルも直接出力する本格的ソフトを製作するためです.VRMLファイルは安直に作れはするものの,VRMLプラグイン(Cosmo Playerなど)の提供する機能以外はまったく使えません.たとえば,一部の原子,配位多面体,結合を画面上の操作で除去したり,幾何学的パラメーターを求めるといった細かい操作は無理で,ただ眺めるだけに終始します.VRMLファイル作成後は下請け(ブラウザ+VRMLプラグイン)任せというのでは,高度な職人芸を発揮できませんし,自らソフトを進化させていく道が閉ざされた袋小路にはまり込んでしまいます.いちいちVRMLファイルを作るというのも面倒至極です.

ブラウザ+Chimeという組み合わせでは,分子しか扱えません.無機化合物や金属の構造表示は不可能です.無機化学,材料科学,固体物理,地球科学の教育・研究に携わる人々のためにも,これらの物質すべてを統一的に扱えるようにするべきです.実際にChimeで球棒模型や空間充填模型を表示させて,すぐ気づいたのは,画像の質が劣悪なことです.結合に滑らかさが欠けており,原子(球)には筋が入っています.スピードを優先しているせいでしょうか.

VRMLプログインにしろChimeにしろブラウザに頼るわけでして,メモリー大食い・不要機能満載のブラウザ抜きで動くソフトが望まれます.それにはクロスプラットホームの3DグラフィックライブラリーであるOpenGLを活用するのが最良の選択です.

嘆かわしいことに,2節に列挙したグラフィックス・アプリケーションはことごとく欧米生まれです.結晶学分野に目を向けてみても,単結晶X線解析やタンパク質構造解析の分野で国産ソフトの出る幕はほとんどありません.このような壊滅状態を座視していれば,日本の優秀なプログラマーは世界に冠たるゲームソフト業界に偏在している(言い換えれば,お金になることにしか注力しない)と誤解される恐れさえあります.ゲームソフト用テクノロジーという荒技を繰り出して逆襲に転じるのは,皮肉たっぷりで痛快です.アカデミックな堅苦しい雰囲気が薄れるのも悪くありません.

ソースプログラムを研究する自由が手に入り,その細部を知り,OpenGLを駆動するテクニックについて学べることの意義は計り知れないほど大きいです.科学技術関連グラフィックス・アプリケーションの開発を促進し鼓舞する役割を多少なりとも担えれば,実に喜ばしいことです.私たちは不毛な競争を繰り広げるよりも,ソースプログラムの公開を通じ未来の開発者に貢献する方を選択します.

4. スケーラビリティと移植性

VENDとVICSは古典的なANSI Cで書いています.わずかな機種依存部分を除く同一ソースプログラムのコンパイル・リンクにより,WindowsとUNIX/Linux上で動きます.プログラミングの得意な人は,自分のニーズに応じてソースプログラムの一部を改造したり,新たなコードを追加したりすることをお奨めします.Rubenも私も若くありません.ゲームソフトを製作したもっとも高齢の人としてギネスブックに載るくらいの年齢です.われわれが産み出したソフトウェア資産をさらに磨き上げていくための努力は,若い世代の手に委ねることになるでしょう.

同一のJavaプログラムを複数のプロットホームで走らせるというのはなかなか魅力的です.しかしJavaはSunの息がかかっていて,真にオープンとは言い難いです.ネーティブコードを走らせるわけでないこと,Mac OS X用のJava 3Dが存在しないことも,Javaの採用を見合わせた大きな理由でした.

オープンソースのメリットとして,扱える構造や密度データの大きさを容易に変更しうることが挙げられます.たとえば1万個以上の原子からなるタンパク質や非対称単位内に200以上のサイトを含む物質を扱えるようにするには,ヘッダーファイルの数値を変えて,再コンパイルするだけで済みます.これは,VENUSにscalabilityがあるということを意味します.UNIX系プラットホーム上でしたら,配列の次元を思い切って増やしたり,何千個・何万個の原子を表示させたりすることが可能です.

5. VENDによる電子・核密度の可視化

VENDは次のフォーマットのファイルを入力あるいは出力できます:

  1. MEEDの三次元電子・核密度データファイル(入力)
  2. PRIMAの三次元電子・核密度データファイル(入力)
  3. ENIGMAの三次元電子・核密度データファイル(入力)
  4. MEEDCABとMENDの三次元電子・核密度データファイル(入力)
  5. 非経験的分子軌道法プログラムGaussian 98 Cube形式の三次元電子密度,分子軌道,静電ポテンシャルを収めたファイル(入力)
  6. WIEN2kで計算した三次元電子密度のデータファイル(入力)
  7. DV-Xα法(SCAT)で計算した三次元電子密度,分子軌道,静電ポテンシャルを収めたファイル(入力)
  8. VEND 3Dファイル(入力:g(r),ν(r),he(r),電子密度のラプラシアン)
HDF5ファイルを出力しうる電子・核密度作画ソフトは,この世で唯一VICSしか存在しないはずです.

VENDは等密度面(isosurface)+単位胞の端の断面+スライス+球棒模型,鳥瞰図,二次元塗りつぶしマップを別々のウィンドウに表示できます.スライスは3枚まで挿入できます.X線回折で求めた電子密度はもとより,電子状態計算プログラムで決定した三次元電子密度も描けます.X線回折では各ピクセルにおける電子密度の総和しかわかりませんから,両者を比較対照するとともに,理論計算で求めたエネルギー準位,状態密度などを知るのは有意義です.

分子軌道法とDV-Xα(クラスター)法による電子構造の計算結果の場合,それぞれGaussian 98とSCATだけサポートすることにしました.上述のように,電子密度だけでなく分子軌道(HOMO,LUMOなど)と静電ポテンシャルの等値面も描けます.もちろん正・負の値に応じて2色で表現します.SCATで計算したTi6Cクラスター(「はじめての電子状態計算」7-5参照)の電子密度と波動関数の等値面を半透明とし,VICSで作成した球棒模型を重ね合わせた図を収めたPDFファイルをご覧ください:

Ti6Cクラスターの電子密度イメージと波動関数(PDF: 1.7 MB)

無機・金属化合物における理論値と実験値の比較には,結晶の周期と一致する電子密度が求まる本格的なバンド構造計算法が適しています.そこで,物質・材料研究機構の新井正男氏にFull-Potential Linearized Augmented Plane WaveパッケージWIEN2kで計算した三次元電子密度をテキストファイルに出力するPythonスクリプトを作成していただき,そのファイルをVENDで読み込めるようにしました:

電荷密度の視覚化(新井氏のWebサイト)

LAPW法は全電子バンド構造計算のうちで最も高い精度が得られる手法の一つだそうです.WIEN2kは2001年12月にリリースされたばかりの最新版ですが,なんとサイトライセンスつきで400ユーロと,この手のソフトとしては低価格です.ウィーンと聞いただけで胸がときめく私(掲示板BN,2001年9月2日の項参照)にはうってつけのソフトです.したがって,とりあえずWIEN2kとだけ連携を計っておけば十分と考えています.高価格すぎるCRYSTAL(研究所は1800ユーロ.大学は750ユーロ)に対応してもほとんど波及効果は生じないでしょうから,敬遠しておきます.

余談ですが,新井氏との共同作業の過程でつまずいたのが単位でした.分子軌道計算の世界では,長さの単位はÅやnmでなく,原子単位なのです.長さの場合は,ボーア軌道半径a0 = 5.291 77×10-11 mとなります.浅学寡聞にして,そういう常識を知らなかったため,新井氏に計算していただいた高温超伝導体YBa2Cu3O7の電子密度がどうしても正常に描けず,困惑しました.しかし,もう大丈夫.下のボタンをクリックしてみてください.

YBa2Cu3O7の電子密度イメージ (106 KB)

等電子密度面(3/Å3での等電子密度面.球のように見える)だけでなく(100)面,(001)面,CuO2シート上の電子密度イメージも描いています.等電子密度面に対しては,単位胞で切った断面も示しています.後者にはCu-O結合がはっきり見えています.これは静止画にすぎず,さほど見応えがありませんが,VEND内ではオブジェクトを自由に回転・拡大・縮小・移動でき,訴求効果に満ちています.一種のエンターテインメントとして,ゲーム感覚で堪能できます.

なお,このページで公開している図は,いずれもVENUSで出力したTIFFファイルをGraphicConverterによりJPEGファイルに変換したものです.オブジェクトの縁が滑らかで,しかもサイズの小さいJPEGファイルを得るためのノウハウを習得するには多少苦労しました.

WIEN2kで求めた電子密度の三次元イメージをもう一つ披露しましょう:

MgB2の電子密度イメージ (124 KB)

0.7/Å3での等電子密度面以外にz = 1/2面上の密度分布も示しました.この平面近傍にはB−B共有結合が蜂の巣状にネットワークを形成しています.Mg2+イオンとB-Bネットワークとの間の結合はほぼ100%イオン結合的です.このように,MgB2中の化学結合が見事に視覚化されており,VENDが従来の電子密度描画ソフトとは比べものにならないほど強力なツールであることが実感できる図となっています.

WIEN2kで計算した電子密度のイメージをまず二つお目にかけたのは,X線回折データから決定した電子密度よりも滑らかだからです.VENDの操作自身は計算値,実験値を問わず同一です.

さらにDV-Xα法により計算した電子密度,波動関数,静電ポテンシャルの3Dデータをテキストファイルに書き出すユーティリティーcontrdを阪大の水野正隆氏に作成していただきました.このファイルを読み込むルーチンをVENDに組み込み次第,公開する予定です.楽しみにしていてください.

実験的に決定した電子密度を可視化した例も紹介しておきます.SPring-8のBL15XUに設置された粉末回折装置で9,10-ジオキソアントラセン(アントラキノン)のシンクロトロン粉末X線回折データを測定し,MPF法で解析して決定した電子密度分布(等密度レベル:1/Å3)を下に示します:

9,10-ジオキソアントラセンの電子密度イメージ(174 KB)

この芳香族化合物は二つのベンゼン環を二つのカルボニル基で接続した形の平面的構造をもっています.単位胞2個中の密度を可視化しました.芳香環内のC−C結合とカルボニル基のC−O結合の違いに注目してください.炭素原子に結合したH原子が乳首のように見えています.ピクセル数が限られていることから等密度面に多少しわが寄っていますが,そういうところには目を瞑ってください.

この構造精密化の詳細については,

をお読みください.

アンジュレータ光源の高い輝度と指向性をフルに活かした上記の装置は,世界最高クラスの角度分解能を誇っており,国内の他のシンクロトロン粉末X線回折装置を性能的に圧倒しています.われわれはこの回折計で測定した種々の化合物の粉末X線回折データをMPF法で解析し,電子密度分布決定におけるMEM/リートベルト法に対する技術的優位性を見事に実証しました.リートベルト解析における構造モデルのバイアスを大なり小なり反映した電子密度を与えるMEM/リートベルト法の欠陥はもはや疑う余地がありません.

6. VICSによる結晶データファイル入力と構造モデルの可視化

商用ソフトが何本も販売されていることからみて,VICSはニッチでなく幅広いユーザー層を対象としたアプリケーションであることに議論の余地はありません.この分野での成功はきわめて大きな波及効果をもたらすでしょう.

読み込み可能なファイルフォーマットの多さにかけては,VICSは突出しています:

  1. VICS独自のファイル (出力可)
  2. American Mineralogist Crystal Structure Database
  3. Chem3D
  4. CIF (Crystallographic Information File.出力可)
  5. CrystalMaker text file
  6. CSSR (Crystal Structure Search and Retrieval)
  7. FDAT/CSD
  8. ICSD (Inorganic Crystal Structure Database)
  9. ICSD-CRYSTIN
  10. MDL Molfile
  11. MINCRYST (Crystallographic Database for Minerals)
  12. MOLDA
  13. PDB (Protein Data Bank)
  14. RIETAN-2000のユーザー入力ファイル*.ins(出力可)
  15. XMol XYZ(出力可)
  16. Gaussian 98 Cube形式
  17. DV-Xα法プログラムSCAT のF01
  18. 分子動力学プログラムMXDORTOのFILE07.DAT
これら以外のフォーマットのファイルについては,BabelでVICSが読み込めるファイル形式に変換すれば大丈夫です.代表的な結晶構造データベースを取り上げてみると,Cambridge Structural DatabaseConQuestを使ってCIFとPDB形式ファイルを,ICSDはCIFとCRYSTIN形式ファイルを,CRYSTMETはCIFを出力できます.

VICSは結晶軸を変換する便利な機能を備えています.空間群の設定番号に基づき,a,b,c軸と分率座標を"International Tables for Crystallography," Vol. Aに記載されている設定に変換してくれます.たとえば斜方晶系の空間群AmmmをCmmmに変換し,その結果を*.insに出力するというような,間違いやすく面倒な作業をあっという間に片づけられます.

Web上で手に入る結晶データは結構多いです.たとえば「生活環境化学の部屋」分子モデルリスト(約800件)や3D Pharmaceutical Structure DatabaseからダウンロードしたMolfile,Molecular Models from Chemistry at Okanagan University CollegeからダウンロードしたPDB形式ファイル,MINCRYST(最下部の[Welcome]ボタンをクリックした後,約5700枚のカードから検索)の検索結果から作成したテキストファイルをVICSで直接入力し,三次元グラフィックを操れます.

VICSでは,独自の形式のテキストファイルにすべての結晶データと諸設定を記録するようにしました.またVICS実行時の引数に入力ファイル名とファイルフォーマット(オプション)を指定できます.そのおかげで,リートベルト解析後にCrystalMakerテキストファイル中の結晶データをRIETAN-2000で書き換え,自動的に作画するというMac OS用RIETAN-2000の離れ業と同様の機能が実現できる見通しです.ユーザーが入力したあらゆる設定をテキストファイルに保存するという点では,CrystalMakerテキストファイルより優れています(バイナリーファイルにすべての情報を封じ込めているところに商用ソフトのいやらしさと限界を感じます).

*.insファイの入出力機能は,RIETANのユーザーに手放しで称讃されるにちがいありません.*.insファイルの出力は,多くのフォーマットの結晶データファイルを読み込み,引き続き粉末回折パターンのシミュレーションとリートベルト解析に移行するのに便利です.このように,VICSはRIETAN-2000/2001T用結晶構造データファイル・コンバーターとして役立ちます.ATOMSCrystalDiffractの貧弱な粉末回折パターン・シミュレーション機能と違って,計算回折強度が厳密で,由緒正しいプロファイル関数が利用できるというメリットもあります.こういうところでは,リートベルト解析プログラムの作者の強みが存分に活かせます.VICSがRIETAN-2000の付加価値をますます高めるのは確実です.

VICSは結晶構造を球棒(ball-and-stick)モデル,空間充填(Space-filling)モデル,配位多面体,針金(wireframe)モデル,棒(stick)モデル,点表面,熱振動楕円体(thermal ellipsoid)で表現します.球棒・棒モデルは分子表面を表すドットで包み込めます.結合は両側の原子に応じて,中心を境として2色とすることが可能です.水素結合を特別な形で表現するオプションもあります.また,透明度可変の配位多面体中の中心金属原子とその結合を眺めることもできます.こういう透かしの処理はマシンに相当な負荷を強いるはずですが,OpenGL対応のビデオカードさえ用意すれば,いとも軽々とやってのけます.芸が細かいことに,配位多面体の各面への光の入射角が反射角と等しくなり,光が視点に入射したときには,その面全体がキラッと光ります.

特定の格子面を挿入すると,どの原子がhkl反射の強度に寄与するのかを知るのに便利です.もちろん格子面の透明度は簡単に変えられます.面を平行に保ったまま移動することも可能です.

VICSで描いたCs6C60と二重カーボンナノチューブの結晶模型で「粉末X線解析の実際」の裏表紙を飾りました.ここでは後者を展示します:

二重カーボンナノチューブの球棒模型(99 KB)

原子座標は日本電気基礎研究所のご厚意で提供していただきました.内側のチューブを突き出させるのには相当手こずりました.できたてのほやほやの自作ソフトで表紙の図を製作したにしては,なかなかの出来映えだったと自画自賛しています.

YBa2Cu4O8は化学量論組成をもつ唯一の高温超伝導酸化物で,互いに頂点共有したCuO5ピラミッド,稜共有によりb軸に沿って伸長したCuO4四辺形の二重鎖を含んでいます:

YBa2Cu4O8の配位多面体模型(237 KB)

黄,緑,青,赤の原子はそれぞれY,Ba,Cu,Oを示します.CuO5ピラミッドは半透明となっており,内部のCu原子と灰色のCu−O結合が透けて見えます.四面体や八面体はさておき,ピラミッドの場合は,このように金属原子の位置がわかることが望ましいです.可愛らしく清楚な図になるよう腐心したつもりですが,出来映えはいかがでしょうか.

熱振動楕円体の描画は熱振動の異方性が顕著な有機化合物では,必須の機能といって過言でありません.CrystalMakerやほとんどの分子グラフィックスのソフトがこの機能を備えていないのは,惜しんでも余りあることです.異方的熱振動を考慮した球棒模型の例は眺めるには,下のボタンをクリックしてください:

YBa2Cu3O7の熱振動楕円体モデル(85 KB)

Cu−O結合は中点を境に2色で表現しています.半透明の(101)面も挿入してあります.こういうふうに楕円体に陰影を施し,しかも光を反射させれば,ORTEP-IIIのように楕円体の1/4を切り取って立体感を出すなんぞという名人芸に頼る必要はなくなります.プロッタしか使えなかったときに苦し紛れに編み出された時代遅れの技には,別れを告げてください.

その昔,超伝導体の構造解析に打ち込んでいたころ,PRETEPというORTEP-IIのプロプロセッサを自作し,ひんぱんに使いました.マック・サイエンス(ブルカーに吸収合併されました)が発行していた「技報」の表紙をPRETEPとORTEP-IIの組み合わせでプロットした図で何度も飾りました.ORTEP-IIでとくに私が重宝していたのは,convoluting sphereおよびreiterative convoluting sphereという作画境界指定法でした.後者は分子を描くとき,とりわけ便利です.単一原子から芋蔓式に分子全体を探索することさえ可能なのですから,鮮やかなものです.ORTEP-IIは古いソフトですが,この斬新なアイデアには舌を巻きました.最新の構造作画ソフトにこれらの境界指定法が組み込まれていないのは,誠に遺憾です.(Reiterative) convoluting sphereに対する私の愛着の念は消し去りがたく,もちろんVICSにも組み込みました.

画面上で原子をクリックすると,当該原子のサイト名,元素記号,分率座標,並進ベクトル,等価位置がOutput Windowに表示されます.同様に,配位多面体の選択により中心金属と配位子に関する情報,全結合距離,配位多面体の体積,ひずみパラメーター(quadratic elongationとbond angle varience),結合の選択により二つの原子に関する情報(結合距離を含む)が手に入ります.Ctrlキーを押しながら配位多面体を選択し,中心金属のbond valence parameterを入力すれば,bond valence sumを即座に計算してくれます.至れり尽せりのサービスぶりです.

VICSは結晶だけでなく,周期性のないガラス,融液,液体の構造も表示できます.MXDORTOで計算したSiO2融液の構造をご覧ください:

SiO2融液中のSiO4四面体 (167 KB)

磁性原子については,磁気モーメント(矢印)を表示できます.ただし,磁性原子を一つずつ選択して,ベクトルの向きと長さを入力する簡便な仕様に留めました.黒白対称('black-white' symmetry)で表現したCoAl2O4の磁気構造(Coサイトだけを抽出)の例を下に示します:

CoAl2O4の磁気構造(151 KB)

これは次の文献中のFig. 1.F.2(a)と同様な図です:
C. Giacovazzo, "Fundamentals of Crystallography," ed. by C. Giacovazzo, Oxford Univ. Press, Oxford (1994), p. 59.
このようなベクトルを原子位置のシフトを表すのにも使えるのは言うまでもありません.

7. ハードコア3Dゲーマー向けビデオカードの驚異

VENUSによるリアルタイム3DグラフィックスはOpenGL API対応のAGPビデオカード(32 MB以上のRAM搭載品を推奨)により大幅に加速します.言い換えれば,OpenGLのハードウェア・アクセレーションが効くマシン上でのみ真価を発揮し,驚異的なコストパフォーマンスを実現します.ソフトウェアだけでなく,ハードウェアでもscalabilityが成立しています.

冒頭に記した通り,VENUSは2001年8月以来,使い古しのPentium IIマシン(300 MHz)で開発してきました.プログラミングには問題ありませんが,OpenGL加速機構がついていないビデオカードを装着していますから,複雑なオブジェクトを扱うと,とにかく遅いです.こんな老兵はいつ昇天してしまうかわかりませんし,OpenGL対応ビデオカードを使って動作テストする必要もあるので,ハイエンドのWindows機を購入し,貧弱なパソコン環境から脱け出すことにしました.

2001年12月19日に2 GHzのPentium 4をCPUとし,ELSAのGeForce3 Ti 200搭載AGPビデオカードGLADIAC 721TV-OUTを装着したWindows 2000機が届きました.i850チップセット+1 GBのダイレクトラムバスDRAMという,当時としては豪勢なパソコンでした.2002年3月1日には,GeForce3 Tiをハイエンド・ビデオカードELSA GLoria DCCに換装しました.やはりOpenGL対応のビデオカードを装着したパソコン上ではVENUSの使用感が見違えるほど改善され,3Dグラフィックの俊敏さに酔いしれてしまいます.ATI TechnologiesのRADEON 9700 Proでも,同等の性能が得られるでしょう.

3Dゲーマー用OpenGL対応ビデオカードの値段は数万円以下です.所詮,一般大衆相手の商品ですから,低価格に抑えざるを得ないのです.多少の投資で,プロフェッショナル・ユーザー(言い換えれば,お金持ち)向けグラフィック・ワークステーションに引けを取らないようなパフォーマンスを発揮するのだから,堪えられません.半年ないし一年後には,はるかに高性能なビデオカードが同程度の価格で手に入るでしょう.3Dグラフィック分野で主流中の主流の地位を固めたOpenGLに全面的に依存するVENUSの安上がり路線は前途洋々です.

8. 画像ファイル形式

VENDとVICSはフーリエ・逆フーリエ変換類似の凝ったアルゴリズムでピクセル数を増やした画像イメージを共通の中間(スクラッチ)ファイルに出力した後,次の主要形式の画像ファイルに変換します.
  1. BMP
  2. EPS
  3. JPEG
  4. JPEG 2000
  5. PPM
  6. RAW
  7. RGB (SGI)
  8. TGA
  9. TIFF
JPEGとJPEG 2000以外は保存ルーチンを新たに書き起こしました.

画像ファイルフォーマットの多さにかけては,商用ソフトを圧倒しています.たとえばCrystalMakerがPICTとJPEGだけ,DiamondがWMFとDIBだけしか出力できないのと対照的です.JPEGはともかく,それ以外はいずれも比較的マイナーな古くさいフォーマットでして,情けないというしかありません.MacユーザーのくせになぜPICTファイルを出力するようにしないのか,と責められそうですが,Mac OS Xにおける二次元グラフィックがPDFベースとなった現時点では,まったく必要ないと思います.iMacの付録として添付されているAppleWorksでさえ,BMP,EPS,TIFFのファイルを読み込めますし,GraphicConverterを使うという手もありますから.

望外の喜びだったのは,TIFFのプレビュー用データを含むEPSファイルの出力が実現したことです.三次元グラフィックデータをEPSファイルとして保存するのは不可能だと思い込んでいたので,Rubenから初めてそれを聞いたときは半信半疑だったのですが,Illustrator(Windows,Mac OS X)とPhotoshop(Mac OS X)で読み込めることを確認し,感嘆しました.EPSファイルを張り込むのが標準となっているLaTeXのユーザーは,随喜の涙を流すことでしょう.ATOMSは3D DisplayモードだとEPSファイルを出力できません.ちなみに,145種類にも達するフォーマットのファイルを読み込めると豪語するGraphicConverterですら,EPSファイルをドラッグ&ドロップすると,GhostScriptあるいはEPStoPICTの在処を教えてくれ,と泣き言を言ってきますし,同種のWindows用ソフトの代表選手IrfanViewはEPSファイルの出力機能を備えていません.

JPEG 2000は画像データを可逆的に圧縮できる次世代画像圧縮フォーマットです.たとえばBMPファイルに比べると約15 %にまで圧縮されます.GraphicConverterはJPEG 2000ファイルをまったく出力できません.IrfanViewは640×480ピクセルまでという制限付きでJPEG 2000ファイルを出力します.一方,VENUSはなんら制限がなくJPEG 2000ファイルを出力しうることをここに特筆大書しておきます.なお,ブラウザやSusie用のJPEG 2000プラグインがここで提供されています.

このように多種類の画像ファイルを保存する機能を詰め込んだ際,ピクセル数の多い巨大ファイルの保存が終了するまで延々と待ち続けなくても済むようにするための仕掛けを盛り込むのを,私たちは忘れませんでした.すなわち,OpenGL対応のビデオカードがまたしてもファイル出力を著しく加速してくれるのです.これらのファイルはIllustrator Photoshopなどで加工したり,GraphicConverterやIrfanViewなどでフォーマットを変換できます.

9. VENUSの配布

VENUSの正式版v1.4(Windows専用)は日本セラミックス協会が2002年12月に刊行した 中にRIETAN-2000とともに収録されました.一個人の孤立したWebサイトでひっそり公開するのは,VENUSのように華やかで人目を引く3Dグラフィックソフトにはふさわしくないと判断し,学術団体が頒布するマスメディアで華々しくデビューさせることにしました.日本の国家予算を使って生まれたソフトを当初は日本人向けに公開し,まず日本人にその恩恵に浴してもらうのは私の願いでもあります.

私たちがテストに用いた数台のPC上でVENUSは問題なく動いていますが,他のハードウェア・ソフトウェア環境で生じる不具合については予想がつきません.ビデオカードによっては表示が乱れたり,プログラムが異常終了したりすることがありますが,たいていドライバーのOpenGL用コードのバグが原因のようです.VENUSが正常に動作しないときは,最新のドライバーが組み込まれているかどうか,Windowsを最新のサービスパックで更新済みかどうか,他のマシン(ビデオカード)でも同じ症状が出るかどうか,調べてみてください.

フリーソフトウェアである以上,無保証なのは当然です.ユーザーにサービスを提供する余裕はありませんが,ユーザーからの支援は大いに歓迎します.VENUSの安定性・信頼性は,ひとえにVENUSの品質向上に対するユーザーの熱意にかかっています.盛り込んだ機能(とくに入出力フォーマット)が非常に多いこともあり,ユーザーからのバグや不具合の報告なしには遺漏なく対応し切れません.ユーザーからのレスポンスが少ないようだと,VENUSの改善に対する私たちの情熱が萎えてしまいます.障害の報告をメールでお送りいただければ幸甚です.うまく読み込めないファイルがありましたら,そのファイルを圧縮しメールに添付していただくと助かります.要望,感想も大歓迎です.マニュアルの誤りやわかりにくい箇所の指摘もありがたいです.何卒よろしくお願いいたします.

現時点ではVENDの読み込める3Dデータのフォーマットは9種類に限られています.今後,一般に公開されているプログラムが出力する3Dデータファイル(テキストファイルに限る)は積極的に読み込めるようにしていくつもりです.VENDで直接読み込めるようにするか,短い変換プログラムを作成するかは,私たちが判断します.実際のファイルの例を添付ファイルとしたメールをお送りいただき,どのようなフォーマットで記録されているかを教えてもらえば,当方で入力ルーチンを作成いたします.巨大ファイルはCD-Rに焼いてからお送りください.

なお,ユーザー数が極度に少ないと想像されるLinux版は,少しでも手間を省くために当分公開しません.

10. むすび

私の知る限り,結晶学と計算機科学の橋渡しとなるような,OpenGLテクノロジーに立脚したクロスプラットホーム結晶構造・密度可視化フリーソフトウェアが開発されたのは,我が国はもとより世界でも初めてです.OpenGLグラフィックエンジンを活用し尽くした御利益は,まさにすさまじいの一言です.OpenGL対応の最新ビデオカードさえ用意すれば,グラフィック・ワークステーション顔負けの高速なリアルタイム3Dグラフィックスの素晴らしさを満喫できます.このようにVENUSが実力を存分に発揮できるのは,OpenGLが確固たる技術として定着し,しかもGPUの性能が長足の進歩を遂げつつあるからです.VENUSプロジェクトは時宜にかなった,着眼点のよい企画だったと自画自賛しています.

プルダウンメニューが存在しない奇抜なGUIから,ゲームソフト系という出自は隠しようがありませんが,親しみやすくエンターテインメント性を備えている,と好意的に捉えていただければありがたいです.

まったく土地勘のない分野に敢えて参入し,卓抜な機能と型破りなGUIを実装し,いまだかつてないレベルまで一気に駆け上ったことを誇りに思います.VENUSをリリースした後には,結晶解析や電子状態計算などに携わる我が国の研究者にとって,このような先導的3D可視化ソフトウェアが必需品と化すと確信しています.いったん三次元グラフィックの醍醐味を享受した人は,古色蒼然とした二次元の等高線マップなどは見向きもしなくなること,請け合いです.VENUSのように強力なフリーソフトウェアが普及すれば,三次元グラフィック・ソフトウェアとの連携を計っておらず,白黒の平面的な図しか掲載していないような旧態依然とした結晶化学や構造化学の書籍は読者から時代遅れとみなされ,そっぽを向かれることでしょう.

論文,ポスター,OHPシートの図を通じて得られるのは二次元情報です.われわれが平面的思考に陥る悪い癖からなかなか抜け出せないのはここに由来します.VENUSが結晶学とグラフィック・アートの接点に立ち,三次元的思考の支援により研究の創造性と生産性を高めるのに一役買えたなら,これに優る喜びはありません.

VENUSシステムは,元来,RIETAN-2000の周辺ソフトをすべてフリーソフトウェアで固めようという壮大な目標を掲げた運動の一環として製作し始めました.当初は,RIETANの付録程度のこぢんまりした裏方ソフトを想定していました.しかし,この長大な文から明らかなように,絶えることなく機能を追加注入し続けた結果,事前の目論見をはるかに超えたモンスターにまで肥大成長を遂げ,これまでは夢として片づけられていたような機能さえ実現するに至りました.RIETANも超弩級のアプリケーションという点では遜色ありませんが,無味乾燥な文字と数字しか吐き出さない地味な存在です.暗く重苦しい雰囲気が漂っています.華麗なビジュアル系ソフトであるVENUSと比べると,見栄えという点ではどうしても旗色が悪く,今や両者の立場が逆転しかねない勢いです.本末転倒になっては困りますから,RIETANの方も手を抜かずに改良し,共存共栄を計るべきです.

しかし,私とRubenの目は今やもっと先を見据えています.それは,上記のフリーソフトウェア運動の根幹をなすnext must-have toolとして,MEEDに取って代わる新超高速MEM解析プログラムPRIMAを製作することです.VENUS同様,ワークステーションなど使わなくてもハイエンドのパソコンで十分動くFortran 90プログラムにするつもりです.VENUSシステムの一員として追加することになるでしょう.