VisualBase の使い方 このチュートリアルマニュアルは, 白山晋 : 知的可視化, 丸善,2006 で示した, いくつかの可視化操作を実際に体験できるプログラム VisualBase 1 の補足資料である 2. 市販のソフトウェアとの大きな違いは, (a) 扱うことのできるデータの種類が限られている (b) 誤操作時の対応が十分ではない (c) 原則として, 一切のサポートは行わないである. プログラム自体は, 三角形要素, 三角錐要素に対するクラスライブラリに基づいて作られているので, 様々なデータに対応できるようになっている. したがって,(a) に関しては, 今後, 扱えるデータを増やしていく予定である.(b) は, 著者が利用する時に気づけば, 適宜改善するが, 市販のソフトウェアのようなユーザビリティの提供は難しい.(c) に関しては, 今後もそのようにせざるをえない 3. 一方, 市販のソフトウェアが提供する可視化機能に加え, 現時点でも独自のものがある. 今後そのようなものを追加できればと考えている. なお,VisualBase の著作権は, 著者に帰属する. また, 著者は VisualBase の使用に際するいかなる責任を負うものではない. B.1 VisualBase の機能 機能は, 表 B.1 と表 B.2 のとおりである ( 教科書の A.1 と A.2 に同じ ). 表中の は 2006 年 4 月現在で利用可能なもの, は近日中に対応するもの, は今後提供する予定のものである. 表 B.1 VisualBase の可視化機能 データ構造構造型データ非構造型データ可視化機能 2 次元 3 次元 2 次元 3 次元 接続情報の表示 等値線表示 等値面表示 - - 等値領域表示 ベクトル表示 粒子追跡表示 スライス ボリュームレンダリング - - ピクセル露光法 粒子追跡表示の工夫で対応可能である スライス機能によってボクセル型のデータを切り出すことができる 表 B.2 VisualBase の可視化結果分析機能 画像データ 生データ ウェーブレット変換 定量的比較 定性的比較と移動軌跡抽出 - 2 次元総描 3 次元総描 1 このプログラムは, 科学研究費 ( 基盤 B), 課題番号 17300029(H17~19 年度 ): 知識集約型可視化システム構築に関する研究 の中で開発しているものである. 2 一部は科学研究費 ( 基盤 B), 課題番号 17300029 の技術資料である. 3 知識集約型可視化システムの構想から構築までは協力者あり. しかし, プログラムは著者が単独で実装. 余裕がない (^^;). 1
B.2 VisualBase の使い方 実行環境の構築方法, プログラムのインストール方法については教科書の付録 A を参照してほしい. 解凍すると, 以下のクラスファイル (128 ファイル ): CoreG3plotAttribute.class CoreGraphicsPrimitive.class CoreRstrTools.class CoreVisualTools.class DataField.class DataFieldS2.class DataFieldS3.class DataFieldU2.class DataFieldU3.class G2plot$ChooseFile.class G2plot$Exit.class G2plot$ICDisplayImage.class G2plot$ICImageWavelet.class G2plot$ICMouseTrajectory.class G2plot.class G2plotAttribute.class G3plot$ChooseFile.class G3plot$Exit.class G3plot$ICFileDataField.class G3plot$ICModelField.class G3plot$ICSetAttributes.class G3plot$ICShowField.class G3plot$ICVisualProcessCarpetPlot.class G3plot$ICVisualProcessContour.class G3plot$ICVisualProcessGrid.class G3plot$ICVisualProcessIsosurface.class G3plot$ICVisualProcessPTracking.class G3plot$ICVisualProcessRegion.class G3plot$ICVisualProcessShadingContour.class G3plot$ICVisualSlicer.class G3plot.class G3plotAttribute.class GetMousePositionSimple.class GraphicsPrimitive.class GridTools.class IFCanvas3d$1.class IFCanvas3d$2.class IFCanvas3d$3.class IFCanvas3d$4.class IFCanvas3d.class IFCanvas3dPanel$1.class IFCanvas3dPanel$10.class IFCanvas3dPanel$2.class IFCanvas3dPanel$3.class IFCanvas3dPanel$4.class IFCanvas3dPanel$5.class IFCanvas3dPanel$6.class IFCanvas3dPanel$7.class IFCanvas3dPanel$8.class IFCanvas3dPanel$9.class IFCanvas3dPanel.class IFFile.class IFFileDataField.class IFFileDataFieldBcPanel$1.class IFFileDataFieldBcPanel.class IFFileDataFieldPanel.class IFFileMultiImage.class IFFileMultiImagePanel.class IFModel.class IFModelField.class IFModelFieldPanel.class IFSetAttributes.class IFSetAttributesPanel$1.class IFSetAttributesPanel.class IFShowField.class IFSuperimposeAttributes$IFSuperimposeAttributesPanel$1.class IFSuperimposeAttributes$IFSuperImposeAttributesPanel.class IFSuperimposeAttributes.class IFSuperimposeMouse.class IFSuperimposeProcess$Exit.class IFSuperimposeProcess$ResetLog.class IFSuperimposeProcess$SaveImage.class IFSuperimposeProcess$SaveLog.class IFSuperimposeProcess$ShowLog.class IFSuperimposeProcess$ShowLogFocus.class IFSuperimposeProcess.class ImageArray.class ImageBaseFrame.class ImageBaseFrameW.class ImageDisplay$ICImagePanel.class ImageDisplay.class ImagePanel.class ImagePanelW.class ImageTools.class ImageWavelet.class ImageWaveletPanel$1.class ImageWaveletPanel.class ImageWaveletProcess.class MatrixEvent.class MatrixEventListener.class MiscTools$MyFilter.class MiscTools.class MyMenuBar$CG2plot.class MyMenuBar$CG3plot.class MyMenuBar$Exit.class MyMenuBar.class RstrTools.class VisualBase.class VisualizeFields.class VisualProcessCarpetPlot.class VisualProcessCarpetPlotPanel.class VisualProcessContour.class VisualProcessContourPanel.class VisualProcessGrid.class VisualProcessGridPanel.class VisualProcessIsosurface.class VisualProcessIsosurfacePanel.class VisualProcessPanel$1.class VisualProcessPanel$2.class VisualProcessPanel$3.class VisualProcessPanel$4.class VisualProcessPanel.class VisualProcessPTracking.class VisualProcessPTrackingPanel.class VisualProcessRegion.class VisualProcessRegionPanel$1.class VisualProcessRegionPanel$2.class VisualProcessRegionPanel.class VisualProcessShadingContour.class VisualProcessShadingContourPanel.class VisualSheets.class VisualSlicer.class VisualSlicerProcess.class VisualSlicerProcessPanel$1.class VisualSlicerProcessPanel$2.class VisualSlicerProcessPanel.class VisualTools.class VisualToolsPt3.class 2
と, ソースファイル (6 ファイル ): DataField.java IFFileDataField.java IFModelField.java G2plotAttribute.java G3plotAttribute.java GraphicsPrimitive.java ができる. 以下, プログラムが C: VisualBase にインストールされたものとして実行方法を説明する. コマンドプロンプトから, java Xmx256M 4 VisualBase として, 実行する. いくつかの注意事項があるが, 最も重要なものは, 不具合が生じた場合, プログラムを終了させ, やり直す である. コマンドプロンプトの画面で Ctrl +C とすれば, プログラムを強制終了させることができる. できない場合は,Ctrl + Alt + Del で Windows のタスクマネージャーを呼び出し,VisualBase を終了させる. さて, プログラムを実行すると, 図 B-1 というメニューが表示されるので, 表 B.1 の機能を利用する場合は G3plot を, 表 B.2 の場合は G2plot を選択する. はじめに,G3plot の一部機能を用いて, インストールを確認し (B2.1 節 ), 次に G3plot について説明する (B2.2 節以降 ). 4 大きなデータを扱う場合は, ヒープメモリ不足が生じるのでこのようにする. この場合は,256M バイト確保している. 3
< 補足と注意事項 > 1.Java3D のインストールに関して 1(a) Download Java 3D 1.3.1 Software のところで feel free to download now without registration. を選択しても, クリックのタイミング等によっては, ユーザー登録が必要になる場合がある. => やり直すか, ユーザー登録をしてダウンロードしてください. 1(b) Java3D はほぼ完成したものであるが, 開発は続いている. VisualBase では,java3d-1_3_1-windows-i586-opengl-sdk.exe を用いている. これ以前のバージョンでは, エラーが発生する場合がある. => 新しいバージョンのものと置き換えてください. 2.VisualBase のインストールに関して 2(a) visualbase_<xx>.exe を解凍すると,VisualBase というフォルダができ, その中にファイルがインストールされる. このファイル群がプログラム本体である. 2(b) java VisualBase, あるいは java -Xmx256m VisualBase として実行すると, Exception in thread "main" java.lang.noclassdeffounderror: VisualBase が表示され, 実行できない場合がある. このエラーは,VisualBase.class の読み込みに失敗していることを示すものである. => 以下のように対処してください. 実行時のフォルダに,VisualBase.class があることを確認し, ない場合は,VisualBase.class の存在するフォルダに移って, 作業を続けてください. CLASSPATH の設定でカレント (. ) を追加. ([ スタート ] メニュー ) [ マイコンピュータ ] を右クリック [ プロパティ (R)] を選択 [ 詳細設定 ] のタブをクリック. ここで, 現れる画面の下の方の [ 環境変数 (N)] をクリック. システム環境変数の変数名 CLASSPATH を選択し, 既存のものが何もない場合は,. を追加, 既に設定されているものがあれば, 最後に, ;. を追加してください. その後, コマンドプロンプトを一旦閉じて, 再度, 試してみてください. 3.VisualBase の実行時のエラー 3(a) g3plot の起動時に, Exception in thread "AWT-EventQueue-0" java.lang.noclassdeffounderror: javax/vecmath/matrix4d at CoreG3plotAttribute.<init>(CoreG3plotAttribute.java:102) が生じる場合がある. => Java3D を新しいものに置き換えてください. 4
B.2.1 インストールの確認 1. プログラムを以下のように起動する. java Xmx256M VisualBase 2.[G3plot] の選択.[G3plot] をクリックすると,[g3P lot] が現れるので, それをクリック. 3. メニューから,[ModelField] [Modelfield] を選択 5. 4. Grid3dS と Field3dS をクリックする. 5. メニューから,[GFunction] [ShadingContour] を選択. 5 ModelField は,IFMoeldField.java の中で作られている. この部分はユーザによって改変できる. 拡張マニュアルで詳述する予定. 5
6. 下図の設定パネル 6 で, k とし, New ボタンをクリック. 7. 下図が現れれば,Java3D のインストールに成功している. マウスを使って, 回転, 拡大 縮小, 移動を行う ( 教科書の表 A.3). マウスボタン左ドラグ左ドラグ+ Alt 右ドラグ 教科書の表 A.3 マウス操作幾何データの座標変換回転拡大 縮小移動 6 Modelfield の下になるので, 上にもってくること. 6
< 回転, 縮小, 移動の例 > 7