{{category unix}}{{category research}}{{category software}} !!!Yaplot -- yet another plot in 3-D -->yaplot (en) English page {{ref_image perc.gif}} yaplotのサンプルイメージ. (3次元ボンドパーコレーションの視覚化。詳細画像は35kbytes) *2013-1現在、GitHub https://github.com/vitroid/Yaplot で最新のソース(3.4)を公開しています。 *=={{ref yaplot3.3.20040803.tar.gz}} ソース(2004-08-03)== *=={{ref yaplot-3.3-1.i386.rpm}} Binary package for Vine Linux(2004-08-03)== *=={{ref yaplot_3.3-1_i386.deb}} Binary package for Debian Linux(2004-08-03)== !!yaplotとは? !yaplotの特徴 *シンプルな画面表示、直感的なキー操作とマウス操作 *シンプルで汎用のデータ形式 *容易にアニメーションを作成可能。 yaplotは、計算機シミュレーションの結果を容易に可視化するための、 3次元モデラです。3次元空間での直線、円、多角形などの単純な図形を 組みあわせることによって、さまざまな情報をグラフィカルに表示し、 実時間で回転させてみたり、時間変化をながめることができます。 データ形式は単純かつ直感的で、ちょうどXYプロッタを扱うような感覚 で3次元の画像を描くことができます。また、複数のファイルを同時に開いて同時にコントロールすることができます。時系列にそった多角的な情報を同時にながめるのに役立ちます。 yaplotの画像は、本格的なプレゼンテーションに使用できるほど美し いものではありませんが、日常的なデータ解析にはきっと役に立つこと でしょう。 !!インストール 現在、yaplotはgtkを使って書かれています。インストールする前にあらかじめ GTKをインストールしておいて下さい。 まずソースコードを展開して下さい。 unix系のOSでは、 prompt% ./configure prompt% make でコンパイルができます。もしgtkがインストールされているはずな のに、configureで失敗する場合は、 prompt% aclocal prompt% autoconf prompt% ./configure prompt% make を試してみて下さい。コンパイルができたら、 prompt# make install でインストールされます。WindowsでCompileする場合は、Makefile.dosを編集 してから、makeをしてみて下さい。なお、Windows版では一部機能が制限され ます。 !!使い方 usage : yaplot [options] infile [infile ...] -e x,y,z 視点の座標を指定 -l x,y,z lookpointの座標を指定 -u x,y,z 上方ベクトルの方向を指定 -c filename パレットファイルを指定 -q n キャッシュの大きさをnフレーム分に指定(default=1) -d デバッグモード infile コマンドファイル キャッシュを大きくとると、ファイルの読み込み速度が向上する分メモ リを消費します。 DOS版では今のところすべてのオプションが認識されません。 yaplotにはレイヤの概念があります。標準ではレイヤは1から12までの 12枚あり、それぞれの表示/非表示をファンクションキーで制御できます。同一のデー タを様々な面から解析する場合に役立ちます。 コマンドファイル名に"-"を指定した場合には、標準入力からデータを 読みこみます。ただし、標準入力から読みこむ場合には、アニメーショ ン表示することはできません。 コマンドファイルを複数指定すると、複数のウィンドウが表示されます。 それぞれの窓の制御方法は同期モードと非同期モードがあります。非同 期モードの窓に対してキー入力やマウス操作を行うと、その結果はその 窓のみに反映されます。一方、同期モードの窓の対して行った操作は、 非同期窓を含むすべての窓に反映されます。ただし、窓のサイズの変更 と、拡大縮小だけは常に非同期で行われます。 同期モード、非同期モードの切り替えは"s"キーで行えます。デフォル トではすべての窓は同期モードになっています。また、非同期モードか ら同期モードの戻る場合には、その窓の視野描画情報はほかの同期モー ドの窓と同一に戻されます。 MakefileでRECORDオプションを追加してあると、録画機能が使えます。"r"キーを押すと、現在表示されているフレーム以降を次々にgifファイルに保存していきます。録画を停止するには、再度"r"を押すか、"q"(yaplotの終了)を押して下さい。ファイル名は、yaplotxx_yyyyy.gif(xxの部分がウィンドウの番号、yyyyyがフレーム番号)となります。 "u"(pUsh)を押すと、現在の視野情報をカレントディレクトリの ".yapviewstack"ファイルの末尾に追加します。また、"o"(pOp)を押すとカレ ントディレクトリの".yapviewstack"ファイルの末尾行を読み込み、現在の視 野情報とします。"u"とくみあわせることで、異なるyaplotや、異なるwindow の間で同じ視点を共有することができます。(DOS版では使えません) コマンドファイルを指定しなかった場合には、ヘルプファイル /usr/local/matto/etc/yaplot/help.yapが表示されます。 パレットファイルを指定しなかった場合には、まずカレントディレクト リのyaplot.colをさがし、見付からなかった場合には、環境変数YAPLOTCOL の指すファイルを捜し、それでも見付からない場合にはホーム以下をさ がし、どうしても見付からない場合には /usr/local/matto/etc/yaplot/yaplot.colを読みこみます。なお、現在 のバージョンでは、コマンドファイル内で、"@"コマンドを使用してパレット の内容を変更することができますので、パレットファイルは必須ではありません。 パッケージには、いくつかサンプルが添付されていますから、試してみ て下さい。 !!ユーザインターフェース マウスとキーで制御することができます。!が付いているコマンドにつ いては、各キーボードコマンドの前に数字を入力すると、そのキーを繰り返し 押したのと同じ効果があります。例えば"2" "0" "N"と入力すると、毎秒20フ レームの速度で自動アニメーションを行います。なお、"g"(指定フレームへジャ ンプ)と"f"(レイヤの表示非表示切替)以外はすべて相対指定です。つまり、 "10N5P"は"5N"と同じく、順方向へ毎秒5フレームでアニメーションします。 数字を打ちそこねた場合は、ESCを押して下さい。 ウィンドウマネージャーによってはファンクションキーがのっとられて使えな い場合などもありますが、そのような場合はshiftを押しながらファンクショ ンを押すなどの方法でウィンドウマネージャーの機能を回避して下さい。 :!上下矢印キー、"j"、"k":ピッチ回転(縦回転)。何度も押すとだんだん回転が速くなります。 :!左右矢印キー、"h"、"l":ヘッド回転(横回転) :マウスの左ボタンを押しながらドラッグ:即時回転 :Pauseまたは"!":回転を停止 :Tab:回転する前の状態にもどす。 :!"*"と"/":ズームインとアウト(望遠と広角) :!"["と"]":視野角を広げる/狭める :"r":録画開始/終了 :"u":pUsh; 現在の視野情報をカレントディレクトリの".yapviewstack"ファイルの末尾に追加します。 :"o":pOp; カレントディレクトリの".yapviewstack"ファイルの末尾行を読み込み、現在の視野情報とします。 :!PageDownまたは"n":次のフレーム :!PageUpまたは"p":前のフレーム :!Shiftを押しながらPageDownまたは"n":毎秒nフレームで順方向にアニメーション :!Shiftを押しながらPageUpまたは"p":毎秒nフレームで逆方向にアニメーション :!(数字のあとに)"g"またはEnter:指定のフレームにジャンプ。"g"を単独で押すと最初のフレーム に、"G"を単独で押すと最後のフレームにジャンプします。 :SPACE:すべての動作(回転とアニメーション)を停止 :"+" and "-":!表示品位の変更 :!InsertとDelete、または"("と")":線幅の変化の度合を変える。 :ファンクションキー、あるいは数字のあとに"F":各レイヤの表示/非表示をトグル :"v":詳細情報の画面表示を制御 :"s":同期モード/非同期モードの切りかえ :"q" or Break:yaplotを終了 !!コマンドファイルフォーマット コマンドファイルの各行が一つのコマンドに対応します。行の最初に1 文字のコマンド、そのあとにパラメータを列挙して下さい。コマンドと パラメータの間、パラメータとパラメータの間は1つ以上の空白で区切っ て下さい。パラメータは省略できません。 :r {radius}:円、棒、環の半径を指定する。 :l {x} {y} {z} {x} {y} {z}:線を描く。 :s {x} {y} {z} {x} {y} {z}:棒(太さのある線)を描く。 :p {n} {x} {y} {z} {x} {y} {z} {x} {y} {z} ...:n角形を描 く。 :c {x} {y} {z}:円を描く。 :o {x} {y} {z}:環マークを描く。 :3 {x} {y} {z}:三角形マークを描く。 :4 {x} {y} {z}:四角形マークを描く。 :5 {x} {y} {z}:五角形マークを描く。 :6 {x} {y} {z}:六角形マークを描く。 :t {x} {y} {z} {text....}:文字列を描く。 :@ {palette}:パレット番号を指定する。 :@ {palette} {r} {g} {b}:パレット番号の色を変更する。 r,g,bはそれぞれ0..255の範囲の整数で指定する。 :# {comment}:コメント(無視されます) :y {layer}:レイヤを切り替えます(default layer=1) :空行:1フレームの終わりをあらわします。 !!パレットファイルフォーマット パレットファイルの各行には、各パレット番号の色彩を、赤、緑、青の 強度(0から255)で記述します。最初の行がパレット番号0に対応します。 0番から2番まのパレットは、yaplot自体も使用するので、それぞれ、黒、 灰色、白にしておいたほうがいいでしょう。 !!内部動作について yaplotは、ファイル読み込み時に、ハッシュ表を用いてコマンドファイ ルで指定された座標が縮退しているかどうかを調べ、同一の座標の座標 変換計算を減らしています。このため、読みこみに少々余分な時間がか かりますが、ユーザは座標が縮退しているかどうかを心配する必要はあ りません。 キャッシュ戦略にはLRUを使用していますが、先読みは行っていません。 このため、単に順方向/逆方向にアニメーション表示する場合にはあま りキャッシュは有効に働きません。すべてのフレームを読みこめるぐら い大きくキャッシュをとる場合、あるいは特定部分のみ繰り返し再生す るようなケースではキャッシュが有効に機能します。 !!関連物 *[MDView|http://www.chem.nagoya-u.ac.jp/bar/mdview/index.html] barさんのMolecular Dynamics Viewer. !!MacOSXでのコンパイル MacPorts, HomeBrew, OSXWSなどのパッケージマネージャを使って関連ライブラリをインストールし、Linuxの場合と同様にコマンドラインからコンパイルすることをお薦めします。 *==1)Xcodeを入手し、インストールします。== *==2)次の2つのファイルをダウンロードし、展開して/Library/Frameworks/に入れます。== {{ref libpng.framework.zip}} {{ref libjpeg.framework.zip}} *==3)GTK+ for MacOSX( http://www.gtk-osx.org/ )をインストールします。== *==4)Yaplot for OSXのxcode projectをダウンロードし、Xcodeでbuildします。== {{ref Yaplot-osx-2.zip}} *==5)build/Release/Yaplot-osx-2.app/Contents/MacOS/Yaplot-osx-2 が実行ファイルです。== ==あるいは、Xcodeを持っていない人、コンパイルしたくない人は、2、3を実施してから、以下の実行ファイルをダウンロードして下さい。== {{ref Yaplot-osx.app.zip}} ---- {{ref yaplot2-3.2.tar.gz}} {{ref perc.gif}} {{ref yaplot3.3.20040803.tar.gz}} {{ref yaplot-3.3-1.i386.rpm}} {{ref yaplot_3.3-1_i386.deb}} {{ref libpng.framework.zip}} {{ref libjpeg.framework.zip}} {{ref Yaplot-osx.app.zip}} {{ref Yaplot-osx-2.zip}} {{attach}} {{timestamp 1127839769}}