Comments
Description
Transcript
AVS/Express KGT
KGT ラ イ ブ ラ リ と その他の情報 AVS/Express KGT ライブラリと その他の情報 バージョン 7.1 2006 年 6 月 株式会社ケイ・ジー・ティー PN:XP02-0201-03 Rev.A KGT ラ イ ブ ラ リ と その他の情報 注意 本書で解説するソフトウェア(対象ソフトウェア)は、所定のライセンス契約が締結された場合に 限り、その使用あるいは複製が許可されます。 本書中の解説および図、表は株式会社ケイ・ジー・ティーの文書による許可なしに、その全部また は一部を、いかなる場合にも再版あるいは複製することを禁じます。 本書に記載されている事項は、予告なく変更されることがありますので、あらかじめご了承おき下 さい。万一、本書に偽りがあった場合でも、株式会社ケイ・ジー・ティーは一切その責任を負いか ねます。 Copyright © 1997 ~ 2006 KGT Inc. All Right Reserved Printed in Japan AVS, Gsharp, AVS/Express は米国 Advanced Visual Systems 社の商標です。 上記以外の製品名も一般に開発各社の商標、あるいは登録商標です。 株式会社ケイ・ジー・ティー 〒 160-0022 東京都新宿区新宿 2-8-8 とみん新宿ビル PN:XP02-0201-03 Rev.A 目次 目次 1-i 第 1 章 本書について 1-1 第 2 章 KGT ライブラリについて 2-1 2.1 KGT ライブラリを認識させるには? ....................................2-2 注意事項.................................................. 2-2 2.2 KGT モジュール ......................................................2-3 2.2.1 LIC texture モジュール . . . . . . . . . . . . . . . . . . . . . 2-5 概要...................................................... 2-5 詳細...................................................... 2-6 入力ポート................................................ 2-6 パラメーター.............................................. 2-6 出力ポート................................................ 2-7 ファイル.................................................. 2-7 関連モジュール............................................ 2-7 サンプル・ネットワーク.................................... 2-7 サンプル・ネットワークの説明.............................. 2-8 2.2.2 Principal stress glyph モジュール . . . . . . . . . . . . . . . 2-9 概要...................................................... 2-9 詳細..................................................... 2-10 入力ポート............................................... 2-10 パラメーター............................................. 2-10 出力ポート............................................... 2-10 ファイル................................................. 2-10 関連モジュール........................................... 2-10 サンプル・ネットワーク................................... 2-11 サンプル・ネットワークの説明............................. 2-11 2.2.3 Mol Orbital . . . . . . . . . . . . . . . . . . . . . . . . . 2-12 概要..................................................... 2-12 詳細..................................................... 2-12 ファイル................................................. 2-13 関連モジュール........................................... 2-13 サンプル・ネットワーク................................... 2-13 サンプル・ネットワークの説明............................. 2-13 2.2.4 Read_Field_LD . . . . . . . . . . . . . . . . . . . . . . . . 2-14 概要..................................................... 2-14 追加機能(パラメータ).................................... 2-14 詳細..................................................... 2-15 フィールド・データのヘッダーに追加されたキーワード ...... 2-15 downsize のアルゴリズム .................................. 2-15 ファイル................................................. 2-16 2.2.5 Read_DEM . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17 概要..................................................... 2-17 詳細..................................................... 2-17 ファイル................................................. 2-17 関連モジュール........................................... 2-17 サンプル・ネットワーク................................... 2-18 リリース・ノート i 目次 サンプル・ネットワークの説明............................. 2-18 2.2.6 Read_Gaussian_Cube . . . . . . . . . . . . . . . . . . . . . . 2-19 概要..................................................... 2-19 詳細..................................................... 2-19 データ・ファイルの説明................................... 2-19 ファイル................................................. 2-20 関連モジュール........................................... 2-20 サンプル・ネットワーク................................... 2-21 サンプル・データ・ファイル............................... 2-21 2.2.7 Read_Gaussian_Log . . . . . . . . . . . . . . . . . . . . . . . 2-22 概要..................................................... 2-22 詳細..................................................... 2-23 データ・ファイルの説明................................... 2-23 ファイル................................................. 2-24 関連モジュール........................................... 2-24 サンプル・データ・ファイル............................... 2-24 2.2.8 Read_Geometry . . . . . . . . . . . . . . . . . . . . . . . . . 2-25 概要..................................................... 2-25 詳細..................................................... 2-25 ファイル................................................. 2-25 サンプル・データ・ファイル............................... 2-25 2.2.9 Read_LightWave3D . . . . . . . . . . . . . . . . . . . . . . . 2-26 概要..................................................... 2-26 詳細..................................................... 2-26 ファイル................................................. 2-26 サンプル・データ・ファイル............................... 2-26 2.2.10 Read_MGF . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-27 概要..................................................... 2-27 詳細..................................................... 2-28 ファイル................................................. 2-28 サンプル・データ・ファイル............................... 2-28 MGF ファイルフォーマット ................................. 2-28 2.2.11 Read_PDB . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-29 概要..................................................... 2-29 詳細..................................................... 2-30 データ・ファイルの説明................................... 2-30 ファイル................................................. 2-31 関連モジュール........................................... 2-31 サンプル・データ・ファイル............................... 2-31 2.2.12 FlowTopology . . . . . . . . . . . . . . . . . . . . . . . . . 2-32 概要..................................................... 2-32 詳細..................................................... 2-34 入力ポート............................................... 2-34 パラメータ............................................... 2-34 出力ポート............................................... 2-38 ファイル................................................. 2-39 サンプルネットワーク..................................... 2-39 サンプルネットワークの説明............................... 2-39 2.2.13 OutputSequentialImage . . . . . . . . . . . . . . . . . . . . 2-40 概要..................................................... 2-40 詳細..................................................... 2-41 ファイル................................................. 2-41 2.2.14 tracer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-42 概要..................................................... 2-42 詳細..................................................... 2-43 サンプルネットワーク..................................... 2-43 サンプルネットワークの説明............................... 2-43 ii リリース・ノート 目次 2.2.15 time_advector . . . . . . . . . . . . . . . . . . . . . . . 概要 .................................................... 詳細 .................................................... 制限事項 ................................................ サンプル・ネットワーク .................................. 2.2.16 Scalar2Texture . . . . . . . . . . . . . . . . . . . . . . . 概要 .................................................... 詳細 .................................................... サンプルネットワーク .................................... サンプルネットワークの説明 .............................. 2.2.17 データ別サンプルアプリケーション . . . . . . . . . . . . . . 概要 .................................................... アプリケーションの構造 .................................. 可視化機能 .............................................. マクロ化のポイント ...................................... ファイル ................................................ 2-44 2-44 2-45 2-45 2-46 2-47 2-47 2-47 2-48 2-48 2-49 2-49 2-49 2-49 2-51 2-52 第 3 章 MGF フォーマット 3-1 3.1 MGF(MicroAVS Geometry ASCII Format) とは? .......................... 3-2 3.1.1 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 3.1.2 AVS/Express へ取り込む方法 . . . . . . . . . . . . . . . . . . . 3-2 3.2 MGF の書式 .......................................................... 3-3 3.2.1 ファイルの拡張子 . . . . . . . . . . . . . . . . . . . . . . . 3-3 3.2.2 書式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 単一ステップデータの書式 ................................. 3-3 複数ステップデータ(時系列データ)の書式 ................. 3-4 補足 ..................................................... 3-5 メッシュ ................................................. 3-6 多角形 .................................................. 3-10 球 ...................................................... 3-14 線分 .................................................... 3-15 円 ...................................................... 3-17 円柱 .................................................... 3-19 複数三角形 .............................................. 3-20 文字 .................................................... 3-22 3.2.3 形状データ作成の例題 . . . . . . . . . . . . . . . . . . . . 3-25 立体矢印 ................................................ 3-25 分子 .................................................... 3-26 魚 ...................................................... 3-27 ロボットの顔 ............................................ 3-28 第 4 章 フリービューワー 4-1 4.1 3D AVS Player ...................................................... 4-2 4.2 アニメーションファイル(GFA)の作成方法 ............................ 4-3 第 5 章 その他のツール 5.1 ボリューム作成ツール ............................................... 5.1.1 UNIX/Linux 版ボリュームデータ作成ツールの使い方 . . . . . . . . インストールの前に ....................................... UNIX 版 img2vol プログラムのインストール .................. UNIX 版 img2vol プログラムを使う前に ...................... UNIX 版 img2vol の使い方 .................................. リリース・ノート 5-1 5-2 5-2 5-2 5-2 5-3 5-5 iii 目次 5.1.2 Windows 版ボリュームデータ作成ツールについて . . . . . . . . . 5-8 インストール方法 (Windows 版 ) ............................. 5-8 Windows 版 ImgToVol の使い方 ............................... 5-8 5.1.3 フィールドデータを表示する . . . . . . . . . . . . . . . . . . 5-11 5.1.4 変換可能フォーマット . . . . . . . . . . . . . . . . . . . . . 5-12 5.2 1 ノード用 PCE 画像重畳モジュール ...................................5-13 iv リリース・ノート 第1章 本書について このドキュメントは、AVS/Express バージョン 7.1 に関する追加情報について記 載されています。 インストール方法、ならびにリリース情報については、別途提供されていますイ ンストールガイド/リリースノートをご参照ください。 以下の情報について、記載しています。 ・ 「KGT ライブラリについて」 - 2-1 ページ ・ 「MGF フォーマット」 - 3-1 ページ ・ 「フリービューワー」 - 4-1 ページ KGT ライブラリとその他の情報 1-1 本書について 1-2 KGT ライブラリとその他の情報 第2章 KGT ライブラリについ て KGT ライブラリとは、株式会社ケイ・ジー・ティーによって追加開発・編集され たモジュール群です。標準モジュールで提供されていない機能や追加機能などの モジュールライブラリとなっています。 KGT ライブラリとその他の情報 2-1 KGT ラ イ ブ ラ リ について 2.1 KGT ライブラリを認識させるには? KGT ライブラリは、ネットワークエディタの KGT ライブラリページに登録されます。 ただし、本ライブラリは、デフォルトの状態では見ることはできません。 MicroAVS コンパチキットを用いているため、以下のオプションをつけて AVS/Express を起 動する必要があります。 express -mavs もしくは vxp -mavs また、環境変数を設定する方法でも認識させることができます。 XP_INCLUDE_MAVS=1 注意 : インストールガイド/リリースノートの起動の章、ならびに MicroAVS 互換キットに関する章をあわせてご参照ください。 図に示すように Libraries ページに KGT が追加されます。 注意事項 KGT ライブラリをご利用の際は、以下の点にご注意ください。 ・ KGT ライブラリのモジュールを利用したランタイムアプリケーション開発を行うこ とはできません。 ・ KGT ライブラリに含まれるモジュールは、AVS/Express の今後のバージョンにおい て、機能の改良、ライブラリの配置の移動、モジュール自身のサポート終了(削 除)などが行われる可能性があります。 例えば、これらモジュールを使ったアプリケーション V ファイルなどは次期バー ジョンでそのまま互換性がなく、手動による編集が必要となる可能性もありますの で、ご注意ください。 ・ データ読み込み関連のモジュールは Read_Field_LD を除き、64bit 化されていませ ん。 2-2 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について 2.2 KGT モジュール KGT ライブラリ・ページには以下のモジュールがあります。 1. LIC texture 線積分畳み込み法(Line Integral Convolution : LIC)による表示を行う。 (開発:山梨大学工学部コンピュータ・メディア工学科茅研究室) 2. Principal stress glyph 主応力グリフ表示を行う。 3. Mol Orbital * 分子軌道を等値面で表示する。 4. Read Field LD クロップ(領域抽出)またはダウンサイズ(間引き)をしながらフィールド・ファ イルを読み込む機能を追加。 5. Read DEM * 国土地理院数値地図(標高)を読み込み、2次元のフィールド・データとして出力 する。 6. Read Gaussian Cube * Gaussian の Cube ファイルを読み込み、フィールド・データとして出力する。 7. Read Gaussian Log * Gaussian の Log ファイルを読み込み、分子構造を表示する。 8. Read Geometry * AVS Geometry フォーマットの他、SLA(STL), MIRAGE SYSTEM のデータを読み込む。 9. Read LightWave3D * LightWave3D のオブジェクト・データを読み込む。 10. Read MGF * MGF(MicroAVS ASCII Geometry Format) のファイルを読み込む。 11. Read PDB * PDB(Protein Data Bank)ファイルを読み込み、分子構造を表示する。 12. Flow topology ラインオブジェクトにより 2 次元流れ場のトポロジー表示を行う。また、ラベルに てクリティカルポイント名も表示する。 (開発:山梨大学工学部コンピュータ・メディア工学科茅研究室) KGT ライブラリとその他の情報 2-3 KGT ラ イ ブ ラ リ について 13. OutputSequentialImage 画面の再描画に合わせてイメージを連番出力する。 14. Tracer AVS5 の tracer モジュールの移植版。 15. Time_advector 時系列データの速度場に質量の無いパーティクルを放出する。 16. データ別サンプルアプリケーション 流体解析、構造解析のサンプルアプリケーション。 注意 : *は MicroAVS コンパチキットのモジュールのユーザー・インター フェースを変更し、通常のアプリケーション(メニュー環境)で使 用できるようにしたものです。 2-4 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について 2.2.1 LIC texture モジュール 概要 線積分畳み込み法(Line Integral Convolution : LIC)による表示を行います。 注意 : 入力ポート このモジュールは山梨大学工学部コンピュータ・メディア工学科茅 研究室により開発されました。 ・ in_fld Mesh_Unif+Node_Data+Dim2+Vector2 2 成分の速度ベクトルを持った 2 次元の Uniform 型メッシュ・データを入力しま す。 ・ parent UIconnection ユーザー・インターフェースの親オブジェクトです。 パラメータ ・ axis UIslider 格子断面の軸方向を指定します。 ・ plane UIslider 格子断面の番号を指定します。 ・ line-filter length UIslider 流線の長さを指定します。 ・ resolution UIslider 画像の解像度を指定します。 ・ noise shade UIslider 画像の濃淡の度合いを指定します。 KGT ライブラリとその他の情報 2-5 KGT ラ イ ブ ラ リ について 出力ポート ・ out_image Field Unif 2 次元のイメージ・データを出力します。 ・ out_obj DefaultObject 表示オブジェクトを出力します。 詳細 “LIC texture”モジュールは、3 次元の field ベクトル・データに対して線積分畳み込み 法(LIC)を行った結果をイメージ・データとして出力します。このモジュールのパラメー ターを利用して表示断面を選択する必要があります。LIC 法は、入力データの格子と同じ 大きさのホワイトノイズ画像に対し、ベクトルに沿った 1 次元フィルタカーネルを定義し て畳み込み計算を行った結果を出力画像の各ピクセルの値としています。出力画像は流れ に沿ってブラー効果のかかった画像となります。 入力ポート ・ in_fld 入力データは3次元のフィールド・データで、速度場が必要です。 このモジュールのパラメーターを利用して格子断面を選択して、その断面に対して 処理を行います。入力データにベクトル成分がない場合は、このモジュールの前に combine_vect を接続してベクトル成分を生成して下さい。 ・ parent ユーザー・インターフェース・オブジェクトへの接続のための入力ポートです。こ のモジュールをインスタンスしたアプリケーションの中のデフォルトのユーザー・ インターフェース・オブジェクトに接続されます。ただし、この接続のためのライ ンは表示されません。 パラメーター ・ axis(UItoggle) どの断面を対象とするかといった格子断面の方向を指定します。 ・ plane(UIslider) どの断面を対象とするかといった格子断面の番号を指定します。 ・ line-filter length(UIslider) 1 次元フィルタカーネルの長さを指定します。この数値を大きくするほど、流れに 沿った長い軌跡が表示されますが、処理時間も長くなります。範囲は1から 20 ま でです。1の時はホワイトノイズ画像がそのまま出力されます。 ・ resolution(UIslider) 画像の解像度を指定します。 ・ noise shading(UIslider) 2-6 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について モジュール内部で生成されるホワイトノイズ画像の濃淡の度合いを指定します。値 が大きいほど暗い画像になります。デフォルト値は 0.5、範囲は 0.0 から 1.0 まで です。 出力ポート ・ out_image Dim2, Space2(2 次元)のイメージ・フィールド・データを出力します。 "DisplayImage" モジュールなどに接続します。 ・ out_obj 表示可能なオブジェクトデータを出力します。 ファイル v/kgt/LIC.v 関連モジュール ・interp_data ・Fplane ・Streamline ・Particle_Advector サンプル・ネットワーク KGT ライブラリとその他の情報 2-7 KGT ラ イ ブ ラ リ について サンプル・ネットワークの説明 "Read_Field" モ ジ ュ ー ル で 3 次 元 の 構 造 格 子 型 フ ィ ー ル ド・デ ー タ を 読 み 込 み、 "combine_vect" モジュールで速度成分を取り出しています。 "lic_texture" モジュールで表示断面を指定し、その断面に対して LIC 処理を行います。 2-8 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について 2.2.2 Principal stress glyph モジュール 概要 主応力グリフ表示を行います。 入力ポート ・ in_fld Mesh+Node_Data 6 成分のテンソルベクトルを持ったメッシュ・データを入力します。 ・ parent UIconnection ユーザー・インターフェースの親オブジェクトです。 パラメータ ・ vector components UItoggle 6 成分のテンソルを指定します。 ・ glyph type UIradio グリフの形状を指定します。 ・ glyph scale UIslider グリフの大きさをコントロールします。 出力ポート ・ out_fld Field グリフ形状を示すフィールドデータを出力します。 ・ out_obj DefaultObject 表示オブジェクトを出力します。 KGT ライブラリとその他の情報 2-9 KGT ラ イ ブ ラ リ について 詳細 “principal_stress_glyph”モジュールは、6 成分のテンソルデータから主応力を計算し、 その方向、強さを示す十字 (cross)、もしくはダイアモンド (diamond) のグリフ形状を作 成します。また、十字を選択した場合には、引っ張りと圧縮方向を矢印の向きで表現しま す。 入力ポート ・ in_fld 入力データは3次元のフィールド・データで、テンソル場が必要です。 このモジュールのパラメーターで 6 成分を選択し、その成分から主応力の計算を行 います。 ・ parent ユーザー・インターフェース・オブジェクトへの接続のための入力ポートです。こ のモジュールをインスタンスしたアプリケーションの中のデフォルトのユーザー・ インターフェース・オブジェクトに接続されます。ただし、この接続のためのライ ンは表示されません。 パラメーター ・ vector components(UItoggle) 6 成分を選択します。 ・ glyph type(UIradio) 作成するグリフ形状のタイプを選択します。 ・ glyph scale(UIslider) 作成するグリフの大きさをコントロールできます。 出力ポート ・ out_fld グリフ形状を示すフィールドデータを出力します。 ・ out_obj 表示可能なオブジェクトデータを出力します。 ファイル v/kgt/strglyph.v 関連モジュール ・glyph 2-10 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について サンプル・ネットワーク サンプル・ネットワークの説明 "principal_stress_glyph" モジュールで 6 成分テンソルを選択し、その成分から主応力を 計算、グリフ形状を作成します。 "crop_orthobox" モジュールでは非構造格子の一部分を抽出するのに利用しています。ま た "set_minmax" はグリフの色分布の最大最小を設定するために利用しています。 KGT ライブラリとその他の情報 2-11 KGT ラ イ ブ ラ リ について 2.2.3 Mol Orbital 概要 分子軌道を等数値面で表示し、正のデータと負のデータを色分けします。 入力ポート ・ fld_in Mesh_Struct+Node_Data ノード・データを持った構造格子型のフィールド・データを入力します。 ・ parent UIconnection ユーザー・インターフェースの親オブジェクトです。 パラメータ ・ level UIslider 等値面を作成するレベル(しきい値)を指定します。level 値と -level 値の正負 2つの値で色の異なる等値面が作成されます。 出力ポート ・ obj_out DefaultObject レンダリング可能な出力オブジェクトです。 詳細 ノードの第1成分に対して、level で指定された値およびその負の値 (-level)で等値面 を生成します。カラーは正負で異なります。カラーを変更したい場合は、等値面のオブ ジェクトを選択したのち、コントロール・パネルの Datamap エディターで変更してくださ い。 このモジュールは MicroAVS コンパチキットの "FLDMolOrbital" モジュールのユーザー・イ ンターフェースを改良したものです。 注意 : 等値面が暗く表示されることがあります。これは面が裏側になって いることが原因です。このような場合は、コントロール・パネル上 のアイコン等を使って、ライトを双方向ライトにしてください。 2-12 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について ファイル v/kgt/mol_orbit.v 関連モジュール ・ Read_Gaussian ・ isosurface サンプル・ネットワーク サンプル・ネットワークの説明 この CD-ROM に収録されている "Read Gaussian Cube" モジュールで Gaussian の Cube ファ イルを読み込み、"Mol Orbital" モジュールで分子軌道を表示しています。 KGT ライブラリとその他の情報 2-13 KGT ラ イ ブ ラ リ について 2.2.4 Read_Field_LD 概要 クロップ(一部の領域の抽出)またはダウンサイズ(間引き)をしながらフィールド・ フォーマットのファイルを読み込み、フィールド・データを出力します。 追加機能(パラメータ) ・ Crop & Downsize(UItoggle) クロップ機能およびダウンサイズ機能を使用してデータを読み込むときに指定しま す。これをオンにすると、以下のパラメータが現れます。 ・ I min(UIslider) I 方向の次元の最小範囲を指定します。 ・ I max(UIslider) I 方向の次元の最大範囲を指定します。 ・ J min(UIslider) J 方向の次元の最小範囲を指定します。 ・ J max(UIslider) J 方向の次元の最大範囲を指定します。 ・ K min(UIslider) K 方向の次元の最小範囲を指定します。 ・ K max(UIslider) K 方向の次元の最大範囲を指定します。 ・ I Downsize factor(UIslider) 2-14 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について I 方向のデータスキップ数を指定する係数です。 ・ J Downsize factor(UIslider) J 方向のデータスキップ数を指定する係数です。 ・ K Downsize factor(UIslider) K 方向のデータスキップ数を指定する係数です。 ・ Read data(UIbutton) Crop & Downsize が指定されている場合このボタンを押すことによりデータの読み 込みをはじめます。 詳細 フィールド・フォーマットのファイルを読み込み、フィールド・データを出力します。ク ロップまたはダウンサイズをしながらデータ読み込む事が可能なので、データが非常に大 きくて、すべてのデータを読み込むことができない場合に効果的です。Crop & Downsize のボタンにチェックを入れない場合は標準の Read_Field モジュールと同じ動作をします。 フィールド・データのヘッダーに追加されたキーワード 本モジュールでは、標準のフィールドデータにはない以下の拡張キーワードを設定するこ とができます。このキーワードを設定した場合には、ファイルを読み込んだ際に自動的に Crop & Downsize のボタンがオンになり、記述にしたがってクロップやダウンサイズを行 います。 1. crop_min = min-i [min-j] [min-k](オプション) crop_max = max-i [max-j] [max-k](オプション) データの読み込み最小範囲および最大範囲を指定します。crop_min、crop_max の キーワードは構造格子型のデータに対して、指定した範囲内のデータを抽出し、全 体のデータのサイズを小さくします。典型的な使い方としては、写真のある一部を 切り取るような感じで、データの不必要な部分を取り除いて全体のデータのサイズ を小さくすることにより、処理のスピードを向上させたい場合に使用します。パラ メーターの I min, I max, J min, J max, K min, K max に対応しています。 2. downsize1 = <数値>(オプション) downsize2 = <数値>(オプション) downsize3 = <数値>(オプション) 各方向のダウンサイズの係数(1.0 以上の実数)を指定します。downsize のキー ワードはスケールの係数を指定することによりデータをリサンプルし、全体として サイズを小さくします。係数が 1.0 より大きいとデータのサイズは間引きされ、処 理のスピードを早めたりメモリの消費を押さえることができます。係数が1 .0 の 時は、データのリサンプルは行いません。パラメーターの I Downsize factor, J Downsize factor, K Downsize factor に対応しています。 downsize のアルゴリズム 次の手順で計算します。X,Y,Z 方向のサイズはすべて同じ i とします。 dims_out[i]=dims_in[i]/factor[i] KGT ライブラリとその他の情報 2-15 KGT ラ イ ブ ラ リ について まず、上記式で出力次元数である dims_out は最も近い整数値に近似されます。次に、入 力データの各次元のサイズと出力データの各次元のサイズの比率を求めて、新しいデータ の配列のインデックスを計算します。新しい配列のインデックスは、整数値に近似された 値となります。これらのインデックスの値で見つけられた入力データのノード・データ (Node_Data) と座標データが、出力データのノード・データ (Node_Data) 及び座標データ となります。例えば、1次元の 5 つの点を持った入力データに対し、係数を 1.2 とした場合、 dims_out[1]=dims_in[1]/factor =5/1.2 =4.1666 出力次元数 dims_out は最も近い整数値で近似されるため、dims_out[1]=4 となります。 dims_in の間隔は 4 で dims_out の間隔は 3 であり、dims_in と dims_out の間隔の比率は、 4 / 3 ( 1 . 3 3 3 ) と な り ま す。そ の た め、d i m s _ o u t の 4 つ の 配 列 の 値 は そ れ ぞ れ、 0,1.333,2.666,3.999 になります。新しい配列のインデックスは、最も近い整数値で近似 され、0,1,3,4 です。すなわち、大きさ 5 の入力データ (data[0],data[1],data[2],data[3] ,data[4]) に対し、係数 1.2 とすると、出力されるデータ値は、data[0],data[1],data[3], data[4]、座標値も同様に 0,1,3,4 の 4 つのインデックスの座標データが出力されます。 ファイル v/kgt/Read_Field_LD.v 2-16 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について 2.2.5 Read_DEM 概要 国土地理院数値地図の 1km, 250m, 50m メッシュの標高データを読み込み、2 次元のフィー ルド・データとして出力します。 入力ポート ・ parent UIconnection ユーザー・インターフェースの親オブジェクトです。 パラメーター ・ GSI DEM Filename UItext, UIbutton, UIfileSB 国土地理院数値地図の標高データのファイルを選択します。 出力ポート ・ field Mesh_Rect+Node_Data Rectilinear 型の 2 次元スカラー・フィールドを出力します。 詳細 国土地理院数値地図の 1km, 250m, 50m メッシュの標高データを読み込み、標高値をノー ド・データとして 2 次元のフィールド・データとして出力します。標高値はメートル単位 です。海洋の部分は -999.9 にしています。 ファイルの拡張子は、.TEM, .SEM, .MEM, .TE2, .SE2, .ME2 のどれかです。.TEM, .SEM, .MEM の場合は、地図の左下(南西角)を X=0, Y=0 とし、メートル単位で左下からの距離 を X, Y の座標値にして出力します。一方、.TE2, .SE2, .ME2 の場合は、経度、緯度を度 の単位で 10 進数にして X, Y の座標値に割り当てています。複数の地図を並べて表示する 場合は、こちらのほうが便利です。 このモジュールは MicroAVS コンパチキットの "MAfieldReader" モジュールのユーザー・イ ンターフェースを改良したものです。 注意 : このモジュールは、実際には、tem2fld というプログラムが標高デー タのファイルからフィールド・ファイルに変換しており、一時的に、 UNIX 版の場合は AVS/Express の起動ディレクトリ、Windows 版の場 合はデータ・ファイルのあるディレクトリにワーク・ファイルが作 成されます。ディレクトリのパーミッションやディスクの空きス ペースに注意してください。 ファイル v/kgt/read_dem.v 関連モジュール ・ surfplot KGT ライブラリとその他の情報 2-17 KGT ラ イ ブ ラ リ について サンプル・ネットワーク サンプル・ネットワークの説明 国土地理院数値地図の標高データを読み込み、サーフプロット表示(鳥瞰図表示)をして います。 2-18 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について 2.2.6 Read_Gaussian_Cube 概要 Gaussian の Cube ファイルを読み込み、3次元の構造格子型フィールドとして出力します。 入力ポート ・ parent UIconnection ユーザー・インターフェースの親オブジェクトです。 パラメーター ・ Gaussian Cube Filename UItext, UIbutton, UIfileSB Gaussian の Cube ファイルを選択します。 出力ポート ・ field Mesh_Struct+Node_Data 3 次元の構造格子型フィールドを出力します。 詳細 Gaussian で出力される Cube データ・ファイル (MO、Density、Potential) を読み込みま す。ファイルの拡張子は .cube です。 対応する Cube データ・ファイルはフォーマットのものだけです。また、作成する際には ヘッダー有り(通常デフォルト)を指定してください。ヘッダーの無い物はサポートされ ていません。対応する Gaussian のバージョンは Gaussian.Inc の 92,94,98,98w です。 このモジュールは MicroAVS コンパチキットの "MAcubeReader" モジュールのユーザー・イ ンターフェースを改良したものです。 データ・ファイルの説明 Cube ファイルからこのモジュールで読み込めるデータは、 ・ Molecular Orbitals ・ Electron Density ・ Electrostatic Potential の 3 種類ありますが、一つの Cube ファイルに格納されているデータは、これらのうちの いずれか一つになります。 Molecular Orbitals Cube ファイルから、このデータが読み込まれた場合、ノード・データのラベル(成分名) には "MO number =n" とセットされます。"MO number =n" の "n" に入る数字は、格納され ている軌道データに対応する軌道番号が入ります。 KGT ライブラリとその他の情報 2-19 KGT ラ イ ブ ラ リ について 以下に "MO" が格納されたファイルの例を示します。 Gaussian Test Job 257: Density cube < ヘッダー > SCF Molecular Orbitals <Method と格納されているデータ > -3 -5.669178 -4.724315 -4.157397 < 構成原子数を負の数にしたもの起点座標 > 25 0.377945 0.000000 0.000000 <X 方向の大きさと分割数 > 30 0.000000 0.377945 0.000000 <Y 方向の大きさと分割数 > 23 0.000000 0.000000 0.377945 <Z 方向の大きさと分割数 > 8 8.000000 0.095021 1.308110 0.000000 < 原子番号 電荷 座標 > 1 1.000000 -1.615363 1.912823 0.000000 9 9.000000 0.095021 -1.375301 0.000000 2 9 10 < 格納されている MO の軌道番号の列挙 > 8.48439E-11 6.91314E-07 2.45604E-10 1.12126E-06 6.17328E-10 1.73656E-06 <MO の値 > Density, Potential Data Cube ファイルから、これらのデータが読み込まれた場合、ノード・データのラベル(成分 名)には "Density or Potential" とセットされます。これらのデータは 1 系統のみ格納 されています。 以下に "Density" が格納されたファイルの例を示します。 Gaussian Test Job 318: Potential cube <ヘッダー> SCF Total Density <Method と格納されているデータ > 3 -9.213763 -11.340907 -9.393327 < 構成原子の数 起点座標 > 9 2.348332 .000000 .000000 <X 方向の大きさと分割数 > 12 .000000 2.109654 .000000 <Y 方向の大きさと分割数 > 9 .000000 .000000 2.348332 <Z 方向の大きさと分割数 > 8 8.000000 .095021 1.308110 .000000 < 原子番号 電荷 座標 > 1 1.000000 -1.615363 1.912823 .000000 9 9.000000 .095021 -1.375301 .000000 -4.96666E-05 -6.35483E-05 -7.79772E-05 -8.93949E-05 -9.38026E-05 -8.93949E-05 <Density の値 > -7.79772E-05 -6.35483E-05 -4.96665E-05 ファイル v/kgt/read_cube.v 関連モジュール ・ Mol_Orbital ・ Read_Gaussian_Log 2-20 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について サンプル・ネットワーク "Mol_Orbital" モジュールのサンプル・ネットワークを参照してください。 サンプル・データ・ファイル MicroAVS/data/GAUSS/*.cube KGT ライブラリとその他の情報 2-21 KGT ラ イ ブ ラ リ について 2.2.7 Read_Gaussian_Log 概要 Gaussian の Log ファイルを読み込み、分子構造を表す形状データを生成します。 入力ポート ・ parent UIconnection ユーザー・インターフェースの親オブジェクトです。 パラメーター ・ Gaussian Log Filename UItext, UIbutton, UIfileSB Gaussian の Log ファイルを選択します。 ・ Display Mode UIradioBoxLabel ball and stick: 分子構造をボール・アンド・スティック・モデルで表示 します。 CPK: CPK スペースフィル・モデルで表示します。これは分子のファン・ デル・ワールス球面で表示します。 ・ Atom Radius UIradioBoxLabel VDW radius: 原子の半径をファン・デル・ワールス(van der Waals) 半 径にします。 ion rarius: 原子の半径をイオン半径にします。 user define: 原子の半径をユーザー定義の半径にします。 uniform: 原子の半径を均一にします。 ・ Radius Scale UIslider 原子を表す球の半径のスケールを指定します。 ・ Sphere Subdivision UIslider 原子を表す球の分割数を指定します。(大きいほど滑らかになりますが、負荷が増 大します。) 2-22 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について ・ Cylinder Subdivision UIslider スティック(円柱)の分割数を指定します。(大きいほど滑らかになりますが、負 荷が増大します。) ・ Label UItoggle オンにすると、原子の元素名を表示します。 ・ Number UItoggle オンにすると、データ・ファイルに記述されている、原子の通し番号を表示しま す。 ・ Jitter Level UIslider 値を大きくするほど、文字が球の手前に表示されます。 ・ Font Size UIslider 文字の大きさを指定します。 出力ポート ・ obj DefaultObject レンダリング可能な出力オブジェクトです。 詳細 Gaussian のジョブの出力ファイルを読み込み、分子構造をボール&スティックまたは CPK で出力します。対応する Gaussian のバージョンは 92,94,98,98w です。ファイルの拡張子 は .log です。Gaussian98w の拡張子はデフォルトで *.out になっています。このモジュー ルは .log しか受け付けませんので、.log に変更してください。 元素ごとの色や各種半径の値は、<Express_dir>/runtime/MicroAVS ディレクトリにある atom.tab ファイル(アスキー)に記述されています。この内容を変更することにより、自 由に設定できます。 このモジュールは MicroAVS コンパチキットの "MAlogReader" モジュールのユーザー・イ ンターフェースを改良したものです。 データ・ファイルの説明 log ファイルの "Standard Orientation" の部位から、分子構造モデルを作ります。log ファイル内に複数の "Standard Orientation" が存在する場合は、ファイルの一番最後に ある "Standard Orientation" を参照します。 データの例 Standard orientation: ---------------------------------------------------------Center Atomic Number Number Coordinates (Angstroms) X Y Z ---------------------------------------------------------- KGT ライブラリとその他の情報 2-23 KGT ラ イ ブ ラ リ について 1 6 -1.951670 0.122172 -0.003940 2 6 -0.559832 -0.523425 0.004319 3 6 0.561371 0.527456 0.004461 4 6 1.950128 -0.124977 -0.003687 5 1 -2.093244 0.761263 -0.905583 6 1 -2.103807 0.758630 0.897969 7 1 -2.751721 -0.654139 -0.010109 8 1 -0.454249 -1.180960 -0.891451 9 1 -0.461543 -1.172960 0.906978 10 1 0.463873 1.178129 0.906262 11 1 0.458277 1.184514 -0.891823 12 1 2.088022 -0.764713 -0.905938 13 1 2.100180 -0.764253 0.896824 14 1 2.754232 0.647134 -0.010046 ---------------------------------------------------------- Gaussian のバージョンや、計算方法によって上記とは異なる場合も存在しますが、以下の ようなケースでも、このモジュールは対応しています。このとき "Atomic Type" の値は 無視されます。 Standard orientation: --------------------------------------------------------------------Center Atomic Atomic Number Number Type Coordinates (Angstroms) X Y Z --------------------------------------------------------------------1 8 0 0.050283 0.692222 0.000000 2 1 0 -0.854814 1.012222 0.000000 3 9 0 0.050283 -0.727778 0.000000 --------------------------------------------------------------------- ファイル v/kgt/read_log.v 関連モジュール Read_Gaussian_Cube Read_PDB サンプル・データ・ファイル MicroAVS/data/GAUSS/*.log 2-24 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について 2.2.8 Read_Geometry 概要 AVS Geometry, SLA(STL), MIRAGE SYSTEM のデータ・ファイルを読み込みます。 入力ポート ・ parent UIconnection ユーザー・インターフェースの親オブジェクトです。 パラメーター ・ Geometry Filename UItext, UIbutton, UIfileSB データ・ファイルを選択します。 出力ポート ・ obj DefaultObject レンダリング可能な出力オブジェクトです。 詳細 いくつかの3次元形状ファイルを読み込みます。読み込み可能なファイルと拡張子は次の 通りです。 AVS Geometry .geo, .geom STL(SLA) MIRAGE SYSYTEM V2.0 .stl, .sla *1 .pul *1) MIRAGE SYSTEM V2.0 の Polygon Editor で作成 し た多角形フ ァ イル 注意 : このモジュールは、AVS Geometry 以外のデータ・ファイルを読み込 むときには、実際には、変換プログラムが AVS Geometry ファイルに 変換しており、一時的に、UNIX 版の場合は AVS/Express の起動ディ レクトリ、Windows 版の場合はデータ・ファイルのあるディレクトリ にワーク・ファイルが作成されます。ディレクトリのパーミッショ ンやディスクの空きスペースに注意してください。 このモジュールは MicroAVS コンパチキットの "MAgeomReader" モジュールのユーザー・イ ンターフェースを改良したものです。 ファイル v/kgt/read_geom.v サンプル・データ・ファイル data/geom/*.geo、MicroAVS/data/SLA/*.sla 、MicroAVS/data/PUL/*.pul KGT ライブラリとその他の情報 2-25 KGT ラ イ ブ ラ リ について 2.2.9 Read_LightWave3D 概要 LightWave3D のオブジェクト・データ・ファイルを読み込む。 入力ポート ・ parent UIconnection ユーザー・インターフェースの親オブジェクトです。 パラメーター ・ LightWave3D Object Filename UItext, UIbutton, UIfileSB データ・ファイルを選択します。 出力ポート ・ obj DefaultObject レンダリング可能な出力オブジェクトです。 詳細 LightWave3D のオブジェクト・データ(LWO)を読み込みます。ファイルの拡張子は .lwo です。LWS の形式は読み込むことはできません。 このモジュールは MicroAVS コンパチキットの "MAgeomReader" モジュールのユーザー・イ ンターフェースを改良したものです。 ファイル v/kgt/read_lwo.v サンプル・データ・ファイル MicroAVS/data/LWO/*.lwo 2-26 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について 2.2.10 Read_MGF 概要 MGF (MicroAVS Geometry ASCII Format) のファイルを読み込みます。 入力ポート ・ parent UIconnection ユーザー・インターフェースの親オブジェクトです。 パラメーター ・ MGF Filename UItext, UIbutton, UIfileSB MGF のファイルを選択します。 (以下は時系列データを読み込んだときに現れます。) ・ Step 現在のステップ番号を表示します。数値を入力するとそのステップのデータを読み 込みます。横のスピン・ボタンをクリックしてもステップ番号を変えることができ ます。 ・ アイコン・ボタン 時系列データに対するアニメーションを制御します。 ・ Comment オンにすると MGF ファイルに記述されているコメントの文字列を右側の出力ポート から出力します。 ・ Font オンにすると、コメントの文字のフォントを設定するパネルが現われます。 ・ Move オンにすると、コメントの文字の位置を設定するパネルが現れます。 出力ポート ・ obj DefaultObject レンダリング可能な出力オブジェクトです。コメント以外の形状データおよび文字 データはこのポートから出力されます。 KGT ライブラリとその他の情報 2-27 KGT ラ イ ブ ラ リ について ・ label_obj DefaultObject コメントとして記述された文字列をレンダリング可能なオブジェクトとして出力し ます。 詳細 MGF(MicroAVS Geometry ASCII Format) のファイルを読み込みます。拡張子は .mgf です。 時系列データの場合は、連続的に表示(アニメーション表示)することが可能です。ただ し、その際は、ステップ毎にファイルにアクセスします。アニメーションの高速化を図る 場合は、"geom capture" モジュールを併用して、メモリー上に全ステップの幾何データを 蓄えてください。 このモジュールは MicroAVS コンパチキットの "MAmgfReader" モジュールのユーザー・イ ンターフェースを改良したものです。 ファイル v/kgt/read_mgf.v サンプル・データ・ファイル MicroAVS/data/MGF/*.mgf MGF ファイルフォーマット MGF ファイルフォーマットについては、第 3 章 MGF フォーマット - 3-1 ページをご参照く ださい。 2-28 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について 2.2.11 Read_PDB 概要 PDB(Protein Data Bank)ファイルを読み込み、分子構造を表す形状データを生成します。 入入力ポート ・ parent UIconnection ユーザー・インターフェースの親オブジェクトです。 パラメーター ・ PDB Filename UItext, UIbutton, UIfileSB PDB ファイルを選択します。 ・ Display Mode UIradioBoxLabel ball and stick: 分子構造をボール・アンド・スティック・モデルで表示 します。 CPK: CPK スペースフィル・モデルで表示します。これは分子のファン・ デル・ワールス球面で表示します。 ・ Atom Radius UIradioBoxLabel VDW radius: 原子の半径をファン・デル・ワールス(van der Waals) 半 径にします。 ion rarius: 原子の半径をイオン半径にします。 user define: 原子の半径をユーザー定義の半径にします。 uniform: 原子の半径を均一にします。 ・ Radius Scale UIslider 原子を表す球の半径のスケールを指定します。 ・ Sphere Subdivision UIslider 原子を表す球の分割数を指定します。(大きいほど滑らかになりますが、負荷が増 大します。) KGT ライブラリとその他の情報 2-29 KGT ラ イ ブ ラ リ について ・ Cylinder Subdivision UIslider スティック(円柱)の分割数を指定します。(大きいほど滑らかになりますが、負 荷が増大します。) ・ Label UItoggle オンにすると、原子の元素名を表示します。 ・ Number UItoggle オンにすると、データ・ファイルに記述されている、原子の通し番号を表示しま す。 ・ Jitter Level UIslider 値を大きくするほど、文字が球の手前に表示されます。 ・ Font Size UIslider 文字の大きさを指定します。 出力ポート ・ obj DefaultObject レンダリング可能な出力オブジェクトです。 詳細 PDB(Protein Data Bank)ファイルを読み込み、分子構造をボール&スティックまたは CPK で出力します。拡張子は .pdb です。 元素ごとの色や各種半径の値は、<Express_dir>/runtime/MicroAVS ディレクトリにある atom.tab ファイル(アスキー)に記述されています。この内容を変更することにより、自 由に設定できます。 このモジュールは MicroAVS コンパチキットの "MApdbReader" モジュールのユーザー・イ ンターフェースを改良したものです。 データ・ファイルの説明 PDB ファイル内の "ATOM"、"HETATOM" から、分子を構成する原子の情報を読み込みます。 一般的な "ATOM" に格納されているデータの説明です。 COLUMNS DATA TYPE FIELD DEFINITION --------------------------------------------------------------------------------1 - 6 Record name "ATOM " 7 - 11 Integer serial Atom serial number. 13 - 16 Atom name Atom name. 17 Character altLoc Alternate location indicator. 18 - 20 Residue name resName Residue name. 22 Character chainID Chain identifier. 23 - 26 Integer resSeq Residue sequence number. 2-30 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について 27 AChar iCode Code for insertion of residues. 31 - 38 Real(8.3) x Orthogonal coordinates for X in Angstroms. 39 - 46 Real(8.3) y Orthogonal coordinates for Y in Angstroms. 47 - 54 Real(8.3) z Orthogonal coordinates for Z in Angstroms. 55 - 60 Real(6.2) occupancy Occupancy. 61 - 66 Real(6.2) tempFactor Temperature factor. 73 - 76 LString(4) segID Segment identifier, left-justified. 77 - 78 LString(2) element Element symbol, right-justified. 79 - 80 LString(2) charge Charge on the atom. データには " 通し番号 "、" 元素名 "、" 座標 " 等が最低限格納されていなければなりません。 "CONECT" から原子の結合情報を読み出します。"CONECT" には結合している原子の通し番 号が格納されています。結合は各原子が持っている結合すべてのデータが格納されている ので同じ原子間の結合が格納されていますが、重複しているからといって、多重結合では 有りません。 CONECT 1 2 CONECT 2 1 CONECT 1 3 CONECT 3 1 CONECT 1 4 ボール&スティック表示の際に、多重結合も 1 本のスティックで表示されます。また、デー タファイルに結合情報が格納されていないファイルでは結合情報を自動で生成するよう になっています。この時にデータによっては、結合が意図どおりに表示されない場合もあ ります。 ファイル v/kgt/read_pdb.v 関連モジュール Read_Gaussian_Cube Read_Gaussian_Log サンプル・データ・ファイル MicroAVS/data/PDB/*.pdb KGT ライブラリとその他の情報 2-31 KGT ラ イ ブ ラ リ について 2.2.12 FlowTopology 概要 ラインオブジェクトにより 2 次元流れ場のトポロジー表示を行います。また、ラベルにて クリティカルポイント名も表示します。 注意 : 入力ポート このモジュールは山梨大学工学部コンピュータ・メディア工学科茅 研究室により開発されました。 ・ in_fld Mesh_Unif+Node_Data 2 次元の Uniform 型メッシュ・データを入力します。 ・ UI_parent UIconnection ユーザー・インターフェースの親オブジェクトです。 パラメータ ・ Font UItext クリティカルポイント名を表示するテキスト・ラベルのフォントを指定します。 ・ ON/OFF UItoggle テキスト・ラベルの表示、非表示を選択します。 ・ AlignHorizontal UIoptionMenu テキスト・ラベルの横方向の位置を指定します。 ・ AlignVertical UIoptionMenu テキスト・ラベルの縦方向の位置を指定します。 ・ DropShadow UItoggle テキスト・ラベルを囲み線付きで表示します。 ・ Underline UItoggle テキスト・ラベルを下線付きで表示します。 ・ Background UItoggle テキスト・ラベルの背景色をビューワーウィンドウの背景色と同じ色にします。 ・ Leadline UItoggle テキスト・ラベルの左下端からラインを表示します。 ・ Radial UItoggle テキスト・ラベルの位置を配置によって自動的に変更します。 2-32 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について ・ Offset UIslider クリティカルポイントのラベルの位置を操作します。 ・ X Offset UIfield X 方向のオフセット値を指定します。 ・ Y Offset UIfield Y 方向のオフセット値を指定します。 ・ Z Offset UIfield Z 方向のオフセット値を指定します。 ・ Stroke Text UIbutton テキスト・ラベルをストローク・フォントにします。 < 以下はストローク・フォントの場合のみ有効です > ・ Font Type UIoptionMenu テキスト・ラベルのストローク・フォントの種類を指定します。 ・ Plane UIoptionMenu テキスト・ラベルの方向を指定します。 ・ Orientation UIoptionMenu テキスト・ラベルの1文字目からの表示方向を指定します。 ・ Angle UIslider テキスト・ラベルの表示角度を指定します。 ・ Path UIoptionMenu テキスト・ラベルの各文字の並び方を指定します。 ・ Spacing Mode UIoptionMenu テキスト・ラベルの文字間隔のパターンを指定します。 ・ Spacing UIslider テキスト・ラベルの文字間隔を指定します。 ・ Height UIslider テキスト・ラベルの文字の高さを指定します。 ・ Expansion UIslider テキスト・ラベルの文字の幅を指定します。 KGT ライブラリとその他の情報 2-33 KGT ラ イ ブ ラ リ について 出力ポート ・ out_image Field_Unif 2 次元のイメージ・データを出力します。 ・ out_obj DefaultObject 表示オブジェクトを出力します。 詳細 "FlowTopology" モジュールは、2 次元の Uniform 型メッシュデータの各ノード上に存在す る 2 次元ベクトルデータによって形成される流れ場のトポロジーをラインメッシュによっ て表示します。また、クリティカルポイントを探索し、ラベルによりその名前も表示しま す。 クリティカルポイント名 SP:Saddle Point AN:Attracting Node RN:Repelling Node AF:Attracting Forcus RF:Repelling CE:Center 入力ポート ・ in_fld トポロジーを表示させたいベクトル場を入力します。入力データは 2 次元の Uniform 型データでなければなりません。また、入力データのコンポーネントは 2 次元ベクトルデータである必要があります。 ・ ui_parent ユーザ・インターフェイス・オブジェクトへの接続のための入力ポートです。この モジュールをインスタンスしたアプリケーションの中のデフォルトのユーザ・イン ターフェイス・オブジェクトに接続されます。ただし、この接続のためのラインは 表示されません。 パラメータ ・ Font テキスト・ラベルのフォント及びサイズを指定します。 ・ ON/OFF クリティカルポイントの名前を表示するラベルの表示、非表示を選択します。 チェックを入れるとラベル表示が on になります。 ・ AlignHorizontal テキスト・ラベルの横方向の位置を次の中から指定します。初期値は”Left”で す。 ・ Left 2-34 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について 左揃え (テキスト・ラベルの左端をビューワー・ウィンドウの中心に配 置します。) ・ Center 中央揃え (テキスト・ラベルの中央をビューワー・ウィンドウの中心に 配置します。) ・ Right 右揃え (テキスト・ラベルの右端をビューワー・ウィンドウの中心に配 置します。) ・ AlignVertical テキスト・ラベルの縦方向の位置を次の中から指定します。初期値は”Base”で す。 ・ Base ベース (テキスト・ラベルの底部をビューワー・ウィンドウの中心に配 置します。) ・ Bottom 下揃え (テキスト・ラベルの下端をビューワー・ウィンドウの中心に配 置します。) ・ Center 中央揃え (テキスト・ラベルの中央をビューワー・ウィンドウの中心に 配置します。) ・ Top 上揃え (テキスト・ラベルの上端をビューワー・ウィンドウの中心に配 置します。) ・ Drop Shadow オンの場合、テキスト・ラベルを影付きで表示します。初期値ではオフです。尚、 [StrokeText] がオンの場合、このパラメーターは無効です。 ・ Bounds オンの場合、テキスト・ラベルを囲み線付きで表示します。初期値では オフです。尚、StrokeText] がオンの場合、このパラメーターは無効で す。 ・ Underline オンの場合、テキスト・ラベルを下線付きで表示します。初期値ではオ フです。尚、[StrokeText] がオンの場合、このパラメーターは無効です。 ・ Background KGT ライブラリとその他の情報 2-35 KGT ラ イ ブ ラ リ について オンの場合、テキスト・ラベルの背景色をビューワー・ウィンドーの背 景色と同じにします。初期値はオフです。表示オブジェクトが、このテ キスト・ラベルより奥に位置するときにその効果がわかります。 ・ Leadline オンの場合、テキスト・ラベルの左下端からクリティカルポイントにむ けて線を表示します。[Offset] がオンの場合のみ有効で、ラインは、 [Offset] の値で指定された位置からオリジナルの位置に向かって表示さ れます。尚、[StrokeText] がオンの場合、このパラメータは無効です。 ・ Radial オンの場合、[AlignHorizontal] は無視され、テキスト・ラベルは次の 規則によって配置されます。テキスト・ラベルが X 方向の中心より左に ある場合は右揃え、中心より右にある場合には左揃えで表示します。ま た、[Offset] がオンの場合、オフセットされる方向が次のように変わり ます。テキスト・ラベルの位置が、ビューワー・ウィンドウの右上4分 の1の範囲にある場合、オフセットされる方向は中心から右上となりま す。また、右下4分の1の範囲にある場合は中心から右下、左上4分の 1の範囲にある場合は中心から左上、左下4分の1にある場合は中心か ら左下となります。初期値はオフです。 ・ Offset オンの場合、テキストラベルの位置を、[X_offset]、[Y_offset]、 [Z_offset] で指定した長さだけずらせます。初期値はオフです。 ・ X Offset X 方向のオフセット位置を指定します。初期値は0.05です。 ・ Y Offset Y 方向のオフセット位置を指定します。初期値は0.05です。 ・ Z Offset Z 方向のオフセット位置を指定します。初期値は0.05です。 ・ Stroke_Text オンの場合、テキスト・ラベルをストローク・フォントにします。 < 以下は、ストローク・フォント([StrokeText] がオン)の場合のみ有効です > ・ Font_Type テキスト・ラベルのストローク・フォントの種類を以下の中から指定します。初期 値は、”Roman_Simplex”です。 ・ Roman_Simplex ・ Script Simplex ・ Italics Complex ・ Greek Simplex 2-36 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について ・ Roman Duplex ・ Script Complex ・ Italics Triplex ・ Greek Complex ・ Roman Complex ・ Roman Triplex ・ Plane パラメーター [Orientation]、[Angle] と共に使用して、テキスト・ラベルの方向 を指定します。初期値は”XY”です。 ・ XY テキスト・ラベルを XY 平面の向きで表示します。 ・ XZ テキスト・ラベルを XZ 平面の向きで表示します。 ・ YZ テキスト・ラベルを YZ 平面の向きで表示します。 ・ Orientation パラメーター [Plane]、{Angle] と共に使用して、テキスト・ラベルの1文字目か らの表示方向を指定します。初期値は、”Left_to_Right”です。 ・ Left_to_Right テキスト・ラベルを左から右方向へに表示します。 ・ Up テキスト・ラベルを下から上方向に表示します。 ・ Right_to_Left テキスト・ラベルを右から左方向に表示します。 ・ Down テキスト・ラベルを上から下方向に表示します。 ・ Arbitrary テキスト・ラベルを任意の方向に表示します。 ・ Angle パラメーター [Plane] が”Arbitrary”の場合のみ有効で、テキスト・ラベルの表 示角度を指定します。初期値は 0.00 で、範囲は‐ 180 から 180 までです。 KGT ライブラリとその他の情報 2-37 KGT ラ イ ブ ラ リ について ・ Path テキスト・ラベルの各文字の並び方を指定します。初期値は、”Left_to_Right”で す。 ・ Left_to_Right 文字を左から右向きに表示します。 ・ Up 文字を下から上向きに表示します。 ・ Right_to_Left 文字を右から左向きに表示します。 ・ Down 文字を上から下向きに表示します。 ・ Spacing_Mode テキスト・ラベルの文字間隔を固定長にするか、可変長にするかを指定します。初 期値は、”Proportional”で可変長です。 ・ Proportional 文字間隔を、文字によって変化させる可変長にします。 ・ Fixed 文字間隔を固定長にします。 ・ Spacing テキスト・ラベルの文字間隔を指定します。0.0 以上の場合は間隔が広く、0.0 以下の場合は、狭くなります。初期値は 0.0 です。 A. Height テキスト・ラベルの文字の高さを指定します。初期値は1.0です。 ・ Expansion テキスト・ラベルの文字の幅を指定します。1.0以下の場合は文字幅は狭く、 1.0以上の場合は広くなります。初期値は 1.0 です。 出力ポート ・ out_obj 出力データを表示可能なオブジェクトとして出力します。 ・ out_field 出力データは、in_field に平行な 2 次元のラインメッシュを出力します。 2-38 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について ファイル v/kgt/flow_topology.v サンプルネットワーク サンプルネットワークの説明 ・ 各ノードに 3 つのコンポーネントを持った 3 次元 Uniform 型デー タを combine_vect によって 2 次元のベクトル成分を抽出、一つの コンポーネントとして出力しています。3 次元 Uniform 型メッシュ であるため、orthoslice をつかって、任意断面を抽出、 FlowTopology、および vector に出力しています。FlowTopology、 Vector の各モジュールは、表示可能なオブジェクトデータを ビューアに出力しています。bounds は、データの存在領域を表示 するためのラインオブジェクトをビューアに出力します。 KGT ライブラリとその他の情報 2-39 KGT ラ イ ブ ラ リ について 2.2.13 OutputSequentialImage 概要 画面の再描画に合わせてイメージを連番出力します。 入力ポート ・ view DefaultView ビューワー・モジュールの出力ポートからビューの情報を入力します。 パラメータ ・ Image Filename UItext,UIbutton,UIfileSB 出力するファイルの保管ディレクトリとファイル名を指定します。 ・ Current Image No. UItext 出力するファイルの初期化を行います。 <以降のパラメータは、OutputImage と共通です> ・ Overwrite UItoggle 上書きするかどうかを指定します。 ・ flip UItoggle イメージを上下反転して出力します。 ・ File Format UIradioBox ファイル・フォーマットを選択します。初期値は、TIFF 画像となります。 ・ Bits Per Pixel UIradioBox ピクセルあたりのビット数を指定します。 ・ Color Type UIradioBox RGB や Greyscale の切り替えを行います。 ・ Compression Type UIradioBox,UIslider ファイルの圧縮方法を指定します。 ・ Reduction Type UIradioBox 色の減衰を指定します。 ・ File Type UIradioBox 出力ファイル・タイプを指定します。 ・ Width/Height UIslider 出力するイメージの縦横方向のピクセル数を指定します。 2-40 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について 出力ポート なし 詳細 ビューワーの表示が変わる度に、その画像をイメージファイルとして自動的に保存しま す。出力される画像ファイルには、連続した番号が割り振られるため、表示物に対する一 連の操作を保存することができます。また、他のソフトを用いて動画を作成する際にもご 利用いただけます。本モジュールは、ビューワー・モジュール、"Uviewer"、"Uviewer3D"、 "Uviewer2D" の出力ポートに接続して使用します。Image Filename 欄には、ファイルと格 納するディレクトリと保存するファイル名を入力します。連番及び拡張子は自動的に付加 (例:_001.TIF)されますので、ファイルの先頭の識別名だけを入力して下さい。 例)C ド ラ イ ブ の tmp デ ィ レ ク ト リ に image と い う フ ァ イ ル 名 で 保 存 す る 場 合 は、以下のように指定します。 "C: \\ tmp \\ image"(Image Filename 欄に入力する際は、"" は不要) 出力ファイルは、 C: \ tmp \ image_001.jpg C: \ tmp \ image_002.jpg C: \ tmp \ image_003.jpg . . . となります。 Current Image No. 欄は、連番の開始番号を指定します。 0 を指定すると 001、002、003 の順でファイル名の後に番号が割り振られます。その他のパラメータは、OutputImage と 同じです。詳細は、モジュール・リファレンスの OutputImage をご覧下さい。 参考)RV ボードを用いた連続画像を出力する場合は、ファイル内の #define 行のコメン ト "//" を外して読み込ませて下さい。 ファイル v/kgt/output_sequential_image.v KGT ライブラリとその他の情報 2-41 KGT ラ イ ブ ラ リ について 2.2.14 tracer 概要 Ray-Trace 手法によるレンダリングを行います。 入力ポート ・ in_mesh Mesh_Unif+Node_Data ボリューム・データ、ノード・データを持った 3 次元 Uniform 型バイトデータを入 力します。入力データのベクトル長は1または4です。ベクトル長が 4 の場合に は、入力されたデータを alpha,Red,Green,Blue の値として使用します。 ・ parent UIconnection ユーザーインターフェースの親オブジェクトです。 出力ポート ・ out Mesh_Unif+Node_Data Dim2,Space2(2 次元 ) のイメージ・フィールド・データを出力します。 ・ out_obj DefaultObject 表示オブジェクトを出力します。 パラメーター ・ alpha scale alpha 値の倍率を設定します。 ・ perspective レイを飛ばす焦点の位置を設定します。デフォルト 0.0 の場合無限遠に設定されま す。 値を大きくすることで焦点が投影面に近づきます。 ・ width/height 出力するイメージサイズを指定します。 ・ interpolate 2-42 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について Ray-trace アルゴリズムを切り替えます。オンの場合にはデータの補完を行いま す。 ・ Transformation TransFomation Editor を表示します 詳細 Tracer モジュールは、3 次元直行等間隔バイト型データに対し Ray-Tracer 手法を用い てボリュームレンダリングをおこないます。 入力データのベクトル長が 4 の場合には入力されたデータを alpha,Red,Green,Blue の 値として使用します。出力結果は 2 次元イメージ・データとして出力されます。 サンプルネットワーク サンプルネットワークの説明 ( 左 ) Read_Field モジュールを使用し Alpha、Red, Green, Blue の 4 つのコンポーネントを持つ データを読み込みます。combine_vect を用いてベクトル長が4の 1 つのコンポーネントを 持つデータにまとめます。tracer によるレンダリングの出力を Uvewer2D を使用しウイン ドウに表示します。 (右) Read_Field モジュールを使用しボリュームデータを読み込みます。tracer によるレンダ リングの出力を Uvewer2D を使用しウインドウに表示します。カラーマップの変更は、 ColormapEditor により行います。 KGT ライブラリとその他の情報 2-43 KGT ラ イ ブ ラ リ について 2.2.15 time_advector 概要 時系列データの速度場に質量の無いパーティクルを放出します。 入力ポート ・ in_fieldMesh+Node_Data 速度場(3 成分ベクトル・データ)を持つフィールド・データ ・ in_probeilink パーティクルの初期位置を指定するメッシュ・データ ・ in_glyphilink パーティクル形状 ・ in_total_stepsilink 読み込みデータの総ステップ数 ・ in_current_stepilink 現在読み込み中のステップ番号 ・ in_step_titleilink 現在読み込み中のステップラベル ・ ui_parentUIconnection ユーザインターフェースの親オブジェクト パラメータ ・ N-segmentsUIslider セル内での積分ステップ ・ Max SegmentsUIslider 積分回数 ・ OrderUIslider 積分係数 ・ Min VelocityUIslider 積分を止める最小速度 ・ Glyph NormalizeUItoggle グリフを正規化し、同じ大きさで表示 ・ Glyph ScaleUIslider 2-44 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について グリフのスケール 出力ポート ・ out_fldMesh+Node_Data パーティクルを示すフィールドデータ ・ out_objDefaultObject パーティクル表示オブジェクト 詳細 ・ 前時刻のベクトルデータにより、現時刻 - 前時刻の時間進めた時のパーティクル位 置を計算する。 ・ 1 時刻のパーティクルの位置計算アルゴリズムは、AVS/Express 標準モジュールの advect と同じ。 ・ 時刻を進めると(ステップ番号を進めると)、前時刻に出力されたパーティクル位 置を初期パーティクル位置として上記方法によりパーティクル位置を計算する。 ・ 先頭時刻(in_current_time==1)の場合、本マクロに入力されたメッシュ (in_probe) ・ 位置にパーティクル位置が配置される。 制限事項 ・ 前時刻と現時刻間のベクトルデータの補間は行わない。 ・ 時刻を元に戻す(ステップ番号を小さくする)様なパーティクルトレースはできな い。 ・ 標準の advector で設定できる、パーティクルの開始時刻、終了時刻、時間ステッ プ、時間補間計算(run)は操作できない。 ・ 標準の advector では出力される流線データは出力されない。 KGT ライブラリとその他の情報 2-45 KGT ラ イ ブ ラ リ について サンプル・ネットワーク Read_UCD/Read_Field の上記 total_steps, current_step のポートを出すには、まず、マ ウス右ボタンでパラメーターを表示を選択し、開きます。 total_step のオブジェクトの上でマウス右ボタンから出力ポートを追加、また、作成され たポートの上でポートを出すを選択します。 (ポートの操作についてはユーザーズガイドをご参照ください) 2-46 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について 2.2.16 Scalar2Texture 概要 スカラー・ノード・データを参照して UV テクスチャ座標系ノード・データを作ります。 詳細 Scalar2Texture マクロは、任意のスカラー・ノード・データを入力とし、それを UV テク スチャ座標系ノード・データを持つメッシュに置き換えます。 マッピングのためのテクスチャ・イメージはカラーマップから自動的に作成され、Datamap インタフェースやカラーマップ・エディタを使うことでテクスチャの模様を変えることが できます。 色の変化が滑らかにならない(境界が目立つ)場合は Texture Size パラメータの値を大 きくすることでスムーズな変化になります。 例えば、上図に示すように通常のカラーマップで表現するとデータ値が粗い場合にカラー 分布の変換を見ることができないようなデータにて有効です。 入力ポート ・ in_fld Mesh+Cell_Data+Node_Data メッシュ・データを入力します。 パラメータ ・ Texture Size テクスチャの大きさを指定します。 出力ポート ・ out_fld Mesh+Cell_Data+Node_Data UV テクスチャ座標系ノード・データを持つメッシュ・データを出力します。 ・ out_obj DefaultObject UV テクスチャ座標系ノード・データを持つメッシュに、カラーマップから作成し たテクスチャをマッピングしたオブジェクトを出力します。 KGT ライブラリとその他の情報 2-47 KGT ラ イ ブ ラ リ について サンプルネットワーク サンプルネットワークの説明 (左) UCD データを読み込み、カラーマップから作成したテクスチャをマッピングしたものを出 力します。カラーマップ・エディタを用いてテクスチャの模様を変えることができます。 (右) UV テクスチャ座標系ノード・データを持つメッシュに、任意のイメージをテクスチャとし て貼り付けます。2 次元のイメージのうち、左下から右上の対角線上の値が使用されます。 2-48 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について 2.2.17 データ別サンプルアプリケーション 概要 このサンプルアプリケーションは、構造講格子型のデータ(拡張子:fld)、非構造格子 型のデータ(拡張子:inp)用に作成されたアプリケーションです。可視化を行うための いろいろなネットワーク(例えばベクトル表示)がマクロ化され、アプリケーションに組 み込まれているため、データを読み込み、パラメータ設定するだけでビューワーに可視化 結果を表示することが出来ます。 アプリケーションの構造 1. アプリケーションの基本となるネットワーク(FLDsampleApplication、 UCDsampleApplication)と各可視化機能(マクロ)を別々に作成し、ライブラリに 登録しています。 表示する可視化の内容に応じて各可視化機能をライブラリからネットワーク内に動 的にインスタンスするようにしています。 2. 各可視化機能のマクロ内で使用しているモジュールは、AVS/Express の既存のモ ジュールそのまま使用しています。 3. 1つの可視化機能のマクロ内には、1つの可視化ネットワークがあります。 4. 各モジュールのユーザーインターフェースは、必要なとそうでないものを区別し、 必要ないものは非表示にしてあります。 5. コントロールパネルのモジュールスタックに登録されるものは、下記の三種類にな るようにしています。 ・ データ読込み ・ 各可視化機能のメニュー(例:ベクトル表示、等数値面表示) ・ イメージ(または動画)の保存 注意 : モジュールスタックへの登録解除は、 「マクロ化のポイント」- 2-51 ページを参照してください。 可視化機能 ● 非構造格子型機能一覧 《条件》 ・ ベクトルデータは、UCD データファイル内でベクトルのコンポーネントを定義して おく必要があります。 ・ データを読み込んだ後、ベクトルデータに変換することは出来ません。 KGT ライブラリとその他の情報 2-49 KGT ラ イ ブ ラ リ について 可視化機能 マクロモジュール名 デー タ の読込み 使用している主なモジュール名 Read_UCD 領域線表示 External_Edges external_edges, extract_scalar, set_minmax 領域面表示 (Node 用) External_Faces external_faces, extract_scalar, set_minmax 領域面表示 (Cell 用) External_Faces_Cell external_faces, extract_cell_compoent, set_minmax_cell 面 コ ン タ ー表示 Slice_Plane slice_plane, set_minmax, set_minmax_cell 線 コ ン タ ー表示 Isoline isoline, extract_scalar, set_minmax, slice_plane オ フ セ ッ ト 表示 Offset offset, extract_scalar, set_minmax, combine_comp 等数値面表示 Isosurface isosurface, extract_scalar, set_minmax 等数値ボ リ ュ ーム表示 Isovolume isovolume, extract_scalar, set_minmax シ ュ リ ン ク 表示 Shrink_Cells shrink_cells, extract_scalar, set_minmax, set_minmax_cell ベ ク ト ル表示 Vector Viz_Macro.Vector, set_minmax, slice_plane 要素の塗 り つぶ し 表示 Extract_Mesh extract_mesh, extract_cell_compoent, set_minmax_cell 要素ベ ク ト ル表示 CellVector cell_center, Vector(Viz_Macro), set_minmax_cell, slice_plane カ ラ ーレ ジ ェ ン ド 各マ ク ロ 内に含む LegendVert カ ラ ーマ ッ プエデ ィ タ 各マ ク ロ 内に含む ColormapEditor イ メ ージの保存 OutputImage 動画の保存 image_capture ● 構造格子型機能一覧 可視化機能 マクロモジュール名 デー タ の読込み 使用している主なモジュール名 Read_UCD 領域線表示 Bounds bounds 領域面表示 External_Faces external_faces, extract_scalar, set_minmax 断面 コ ン タ ー表示 Orthoslice orthoslice, extract_scalar, set_minmax_cell 任意断面 コ ン タ ー表示 Slice_Plane slice_plane, set_minmax 線 コ ン タ ー表示 Isoline isoline, set_minmax, slice_plane 等数値面表示 Isosurface isosurface, set_minmax 等数値ボ リ ュ ーム表示 Isovolume isovolume, set_minmax 鳥瞰図表示 Surf_Plot surf_plot, set_minmax ベ ク ト ル表示 Vector Vector(Viz_Macro), combine_vect, set_minmax, slice_plane 流線表示 Streamlines Streamline(Viz_Macro), combine_vect, set_minmax 2-50 KGT ライブラリとその他の情報 KGT ラ イ ブ ラ リ について 可視化機能 マクロモジュール名 使用している主なモジュール名 パーテ ィ ク ル表示 Advecter Particl_Advector(Viz_Macro), combine_vect, set_minmax マーカー表示 Marker glyph, Sphere, downsize, set_minmax カ ラ ーレ ジ ェ ン ド 各マ ク ロ 内に含む LegendVert カ ラ ーマ ッ プエデ ィ タ 各マ ク ロ 内に含む ColormapEditor イ メ ージの保存 OutputImage 動画の保存 image_capture マクロ化のポイント 1. データの種類(2D or 3D、Node or Cell 等)を判別するために DVswitch を使用し ています。 ここでデータの種類の判別により、モジュールが対応できないデータタイプが入力 された場合、データをモジュールに渡さないようにすることも出来ます。 サンプルアプリケーションではデータの種類の区別は、nc_switch モジュール、 データの成分数の判別は dim_switch モジュールを使用しています。 2. 非表示のオブジェクトに対して Normalize をかけないように Uviewer.Scene.Camera.Camra.norm_invisible = 0 にしています。 これにより表示されているオブジェクトに対してのみ Normalize がかかります。 3. マクロモジュール内に UItoggle を作成し、データタイプに応じて表示 / 非表示の 設定の active を切り替えます。 4. 各既存モジュールのパラメータを1つのモジュールスタック内に登録するため、 UImod_panel で定義されている部分を UIpanel で再定義しています。 マクロモジュールの中で、UImod_panel が1つだけになるようにしています。 UIpanel に変更したものは、全て1つだけ残した UImod_panel を参照します。 注意 : 5. 既存モジュールは、UImod_panel が使用されているためモジュール名 がモジュールスタックに登録され、そのスタック内にパラメータが 定義されます。 上記のマクロモジュールがインスタンスされるマクロ(Viz_Modules)を作成して います。 これにより全体のネットワークが データ読込み部分(Read_Field、Read_UCD) | 可視化部分(Viz_Modules) | ビューワー(Uviewer3D) | データ出力部分(OutputImage、image_capture) と簡潔になります。 6. Viz_Modules 内にグループオブジェクト(Params)を作成し、表示するオブジェク トの表示 / 非表示切り替え用のパラメータを登録する。 KGT ライブラリとその他の情報 2-51 KGT ラ イ ブ ラ リ について 7. メモリ節約のため、マクロモジュールはインスタンスと消去を動的に行っていま す。下図の ControlUI パネルのチェックボックスをオンにすることにより必要なモ ジュールが Viz_Modules 中にインスタンスされ、ネットワークの接続が行われま す。オフにするとモジュールが消去されます。 このモジュールのインスタンスと消去は Viz_Modules 内の ControlUI マクロ内にあ る set_modules の parce_v によって行っています。 8. インスタンスされたマクロモジュールのパラメータは、コントロールパネルのモ ジュールスタックに登録しています。 モジュールスタックでマクロモジュール名を選択することによりパラメータのパネ ルが表示されます。 この時、AVS/Express の既存モジュールのパラメータは、マクロモジュール内に 1 つだけある UImod_panel を親オブジェクトとしているため、全て同じパネル上に表 示されます。 ファイル v/kgt/applications/fld_appl.v v/kgt/applications/fld_appl.v v/kgt/modules/fld_macros.v v/kgt/modules/ucd_macros.v v/kgt/params/fld_params.v v/kgt/params/ucd_params.v 2-52 KGT ライブラリとその他の情報 第3章 MGF フォーマット MGF(MicroAVS Geometry ASCII Format)は MicroAVS オリジナルの3次元幾何形 状ファイルです。3次元形状をアスキーの簡単な書式で記述することができます。 ここでは MGF フォーマットの書式について説明します。 KGT ライブラリとその他の情報 3-1 MGF フォーマット 3.1 MGF(MicroAVS Geometry ASCII Format) とは? 3.1.1 概要 MGF は3次元幾何形状を表現するためのデータ書式です。幾何形状は、頂点や面などの継 りによって定義されます。全体の幾何形状を構成するための基本要素として、 MGF には多 角形、線分、球、メッシュ、円、円柱、複数三角形、文字があります。時系列データとし て定義し、アニメーション表示することも可能です。 3.1.2 AVS/Express へ取り込む方法 この書式で記述されたデータファイルは、以下のいずれかの方法で AVS/Express 上に読み 込むことができます。 ・ Read_MGF モジュールの利用 KGT ライブラリに含まれる Read_MGF モジュールを使って読み込みます。 赤い出力ポートをビューワーモジュールと接続することで、3次元形状を表示でき ます。 ・ mgf2geo 変換ツールの利用 <install_dir>/bin/<machine>/mgf2geo コンバーターを利用して、MGF 書式ファイ ル(アスキー)から AVS/Express の Geom ファイル(バイナリ)に変換することが できます。 mgf2geo < *.mgf > *.geo 変換後のデータ(*.geo ファイル)は、標準 Read_Geom モジュールを使って読み込 むことができます。 3-2 KGT ライブラリとその他の情報 MGF フォーマット 3.2 MGF の書式 3.2.1 ファイルの拡張子 データファイルの拡張子は、".mgf" です。 3.2.2 書式 単一ステップデータの書式 単一ステップデータ(1時刻分のデータ)の書式は、図 1 のようにヘッダー、基本要素タ イプ、要素名、及びデータから構成されます。基本要素タイプ、要素名、データのセット で1つの物体が定義されます。この3つを繰り返して記述することにより、複数の物体を 記述することができます。データはすべてアスキーで、1つ以上の空白、タブまたは改行 コードで区切られます。左詰めにする必要はありません。 ヘッダーのすぐあとに限り、 # で始まる行はコメントとして読み飛ばされます。コメント行以降は空白行を途中に入れて も構いません。 # Micro AVS Geom:2.00 基本要素タイプ名 要素名 データ データ ・ ・ ・ 基本要素タイプ名 要素名 データ データ ・ ・ 図 1. 単一ステップデータの書式 # □ Micro □ AVS □ Geom:2.00 これは形状データファイルを判断するためのヘッダーで、1行目に必ず必要です。 □は空白をあらわします。また、大文字、小文字、空白すべて正確に記述しなけれ ばなりません。2.00 はフォーマットのバージョンを表します。 基本要素タイプ名 タイプ別に定義された固有の名前です。タイプにはメッシュ、多角形、球、線分、 円、円柱があります。 KGT ライブラリとその他の情報 3-3 MGF フォーマット メッシュ 多角形 球 線分 円柱 図 2. 円 文字 形状データの基本要素タイプ これらのタイプをあらわすための基本要素タイプ名は以下のとおりです。 メッシュ mesh 多角形 disjoint polygon または polyhedron 球 sphere 線分 disjoint line または polyline 円 circle 円柱 column 複数三角形 polytri 要素名 要素名は部品の名前です。自由に名前をつけて下さい。ただし、30 文字以内で、 間に空白、タブ、改行コードを入れてはいけません。また、同じ要素名が複数存在 してもいけません。 データ この部分の書式は基本要素タイプ名ごとに異なります。それぞれの書式については あとで説明します。 複数ステップデータ(時系列データ)の書式 複数ステップデータの場合は、ヘッダー行および # で始まるコメント行のあとにステップ 数を記述します。各ステップのデータの先頭には、step1, step2, ... というステップ番 号を記述します。ステップ番号のあとには、ステップ毎のコメントを記述することができ、 記述されている場合は、物体の表示窓に表示することができます。 3-4 KGT ライブラリとその他の情報 MGF フォーマット # Micro AVS Geom:2.00 # コメント ステップ数 ステップ番号1 ステップのコメント 基本要素タイプ名 要素名 データ データ ・ ・ ・ ステップ番号2 ステップのコメント 基本要素タイプ名 要素名 データ データ ・ ・ ・ 図 3. 複数ステップデータの書式 # □ Micro □ AVS □ Geom:2.00 単一ステップデータの書式と同じです。 ステップ数 ステップ数を記述します。この行がない場合には、単一データのための書式と判断 されます。 ステップ番号 各ステップの始まりを表します。ステップ番号は、1から始まり、step1, step2 のように記述します。行の先頭に記述する必要があります。 ステップのコメント ステップ毎のコメントを記述します ( 省略可能 )。このコメントは、表示窓に表示 する ことができます。コメントはステップ番号と同じ行に記述しなければなりま せん。 データ 単一ステップデータの書式と同じです。 補足 基本要素タイプ、要素名、データの 3 つのセットを続けて記述することにより、種類の異 なる複数の基本要素で構成されるデータを定義することも可能です。 KGT ライブラリとその他の情報 3-5 MGF フォーマット メッシュ メッシュタイプは 2 次元格子を生成します。格子点上 ( 頂点 ) に高さのデータを与えるこ とにより凹凸面を生成します。頂点に与えるデータの種類により、書式が異なります。各 種類を区別するために 3 行目に頂点データタイプを記述します。頂点データタイプ名には、 scalar, vertex, color, normal, normal_and_color があります。 scalar 各格子点の高さ (Z 座標値 ) のみを記述します。X、Y 座標値は記述しません。 X、Y 座標値は最初の格子点を 0 として長さ 1 の間隔で自動的に割り当てられます。 # Micro AVS Geom:2.00 mesh 要素名 scalar m( 格子点数 ) n( 格子点数 ) Z(11) Z(21) ......... Z(m1) Z(12) Z(22) ......... Z(m2) .......................... Z(1n) Z(2n) ......... Z(mn) <格子> Z(1n)---Z(2n)-...-Z(mn) | | | . . . . . . . . . | | | Z(12)---Z(22)-...-Z(m2) | | | | | | | | | Z(11)---Z(21)-...-Z(m1) 2 行目に基本要素タイプ mesh を記述します。 3 行目に任意の名前を記述します。 4 行目に頂点データタイプとして scalar を指定します。 5 行目に X 方向の格子点数と Y 方向の格子点数を記述します。 6 行目以降は、格子点数の高さ (Z 座標値 ) のみを記述します。 ◆ mesh_scalar.mgf # Micro AVS Geom:2.00 mesh mesh_scalar_sample scalar 3 3 0.0 0.2 0.0 0.2 -0.5 0.2 0.0 0.2 0.0 3-6 KGT ライブラリとその他の情報 MGF フォーマット vertex 各格子点の X, Y, Z 座標値を記述します。 # Micro AVS Geom:2.00 mesh 要素名 vertex m( 格子点数 ) n( 格子点数 ) X(11) Y(11) Z(11) X(21) Y(21) Z(21) . . . X(mn) Y(mn) Z(mn) ◆ mesh_vertex.mgf # Micro AVS Geom:2.00 mesh mesh_vertex_sample vertex 4 3 0.0 0.0 0.0 2.0 0.0 0.2 3.0 0.0 0.3 4.0 0.0 0.5 0.0 2.0 3.0 4.0 2.0 2.0 2.0 2.0 0.5 0.3 0.2 0.0 0.0 2.0 3.0 4.0 3.0 3.0 3.0 3.0 0.0 0.2 0.3 0.5 color 各格子点の X, Y, Z 座標値と R, G, B の色の値を記述します。 # Micro AVS Geom:2.00 mesh 要素名 color m( 格子点数 ) n( 格子点数 ) X(11) Y(11) Z(11) R(11) G(11) B(11) X(21) Y(21) Z(21) R(21) G(21) B(21) . . . X(mn) Y(mn) Z(mn) R(mn) G(mn) B(mn) KGT ライブラリとその他の情報 3-7 MGF フォーマット ◆ mesh_color.mgf # Micro AVS Geom:2.00 mesh mesh_color_sample color 3 3 -2.0 -2.0 0.0 1.0 0.0 -2.0 1.0 1.0 2.0 -2.0 0.0 1.0 1.0 1.0 1.0 0.0 0.0 0.0 -2.0 0.0 2.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0 1.0 1.0 -2.0 0.0 2.0 2.0 2.0 2.0 0.0 1.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 normal 各格子点の X, Y, Z 座標値と法線ベクトルの X, Y, Z 成分値を記述します。法線ベクトルは、 各点の方向を決めるものです。これは、照明の計算に使われ、X,Y, Z の 3 成分の値 ( 単精度 浮動小数点値 ) を入れます。 # Micro AVS Geom:2.00 mesh 要素名 normal m( 格子点数 ) n( 格子点数 ) X(11) Y(11) Z(11) NX(11) NY(11) NZ(11) X(21) Y(21) Z(21) NX(21) NY(21) NZ(21) . . . X(mn) Y(mn) Z(mn) NX(mn) NY(mn) NZ(mn) 3-8 KGT ライブラリとその他の情報 MGF フォーマット ◆ mesh_normal.mgf # Micro AVS Geom:2.00 mesh mesh_normal_sample normal 3 3 -3.0 -3.0 0.0 0.0 0.0 -3.0 1.0 0.0 3.0 -3.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -3.0 0.0 3.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -1.0 -1.0 -1.0 -3.0 0.0 3.0 3.0 3.0 3.0 0.0 1.0 0.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 normal_and_color 各格子点の X, Y, Z 座標値と法線ベクトルの X, Y, Z 成分値および R, G, B 色の 値を記述します。 # Micro AVS Geom:2.00 mesh 要素名 normal_and_color m( 格子点数 ) n( 格子点数 ) X(11) Y(11) Z(11) NX(11) NY(11) NZ(11) R(11) G(11) B(11) X(21) Y(21) Z(21) NX(21) NY(21) NZ(21) R(21) G(21) B(21) . . . X(mn) Y(mn) Z(mn) NX(mn) NY(mn) NZ(mn) R(mn) G(mn) B(mn) KGT ライブラリとその他の情報 3-9 MGF フォーマット ◆ mesh_ncolor.mgf # Micro AVS Geom:2.00 mesh mesh_normal_color_sample normal_and_color 3 3 -3.0 -3.0 0.0 0.0 0.0 0.0 -3.0 1.0 0.0 0.0 3.0 -3.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 -3.0 0.0 3.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 -1.0 0.0 -1.0 0.0 -1.0 1.0 1.0 0.0 1.0 0.0 1.0 0.0 1.0 1.0 -3.0 0.0 3.0 3.0 3.0 3.0 0.0 1.0 1.0 1.0 0.0 1.0 1.0 1.0 1.0 1.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 1.0 1.0 1.0 多角形 多角形 ( ポリゴン ) を生成します。多角形を生成するための書式は 2 種類あります。基本 要素タイプが disjoint polygon の場合と、polyhedron の場合です。 disjoint polygon 多角形 ( ポリゴン ) を生成するためのタイプの 1 つです。すべてのポリゴンについて頂点座 標とその並びを直接指定します。 3-10 KGT ライブラリとその他の情報 MGF フォーマット # Micro AVS Geom:2.00 disjoint polygon 要素名 法線補間タイプ (facet または smooth) 頂点データタイプ (vertex または color) m( ポリゴン数 ) n1(1 番目のポリゴン頂点数 ) ポリゴン 1 の 1 番目の頂点データ ポリゴン 1 の 2 番目の頂点データ . . . ポリゴン 1 の n1 番目の頂点データ n2(2 番目のポリゴン頂点数 ) . . . nm(m 番目のポリゴン頂点数 ) ポリゴン m の 1 番目の頂点データ ポリゴン m の 2 番目の頂点データ . . . ポリゴン m の nm 番目の頂点データ 2 行目に基本要素タイプ disjoint polygon を記述します。 3 行目に任意の名前を記述します。 4 行目に法線補間のタイプとして、facet または smooth を指定します。smooth を 指定した場合、頂点の法線ベクトルをその頂点を共有する各面の法線ベクトルの平 均値として与るため、面と面との角が滑らかに表示されます。facet を指定した場 合は常に角ばって表示されます。 5 行目に頂点データタイプを指定します。 vertex :各頂点の座標値 (X,Y,Z) color :各頂点の座標値 (X,Y,Z)、色 (R,G,B) 6 行目以降は、各ポリゴンの頂点数とそれらの座標値 (X,Y,Z) のセットで記述しま す。 頂点データタイプが color の場合は、法線補間タイプを smooth にしても、 法線ベクトルの平均化を行なわず、facet と同じ表示になります。 ポリゴンを正面から見て、半時計回りに頂点が記述されているとそちらの面が表側 になり、時計回りに記述されていると裏側になります。( 交差するような順番で定 義できません。) 1 つのポリゴンの頂点数は 200 が上限です。 1 つのポリゴンを定義する頂点の座標値は同一平面になければなりません。 KGT ライブラリとその他の情報 3-11 MGF フォーマット ◆ 色のついた立方体 (polygon.mgf) # Micro AVS Geom:2.00 disjoint polygon polygon_sample facet color 6 4 -1.0 1.0 1.0 1.0 -1.0 -1.0 1.0 1.0 1.0 -1.0 1.0 1.0 1.0 1.0 1.0 1.0 4 -1.0 1.0 -1.0 0.5 1.0 1.0 -1.0 0.5 1.0 -1.0 -1.0 0.5 -1.0 -1.0 -1.0 0.5 4 -1.0 1.0 1.0 0.0 1.0 1.0 1.0 0.0 1.0 1.0 -1.0 0.0 -1.0 1.0 -1.0 0.0 4 -1.0 1.0 1.0 0.0 -1.0 1.0 -1.0 0.0 -1.0 -1.0 -1.0 0.0 -1.0 -1.0 1.0 0.0 4 -1.0 -1.0 1.0 0.0 -1.0 -1.0 -1.0 0.0 1.0 -1.0 -1.0 0.0 1.0 -1.0 1.0 0.0 4 1.0 -1.0 1.0 0.5 1.0 -1.0 -1.0 0.5 1.0 1.0 -1.0 0.5 1.0 1.0 1.0 0.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.5 0.5 0.5 0.5 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0 0.5 0.5 0.5 0.5 polyhedron 多角形 ( ポリゴン ) を生成するためのタイプの 1 つです。頂点の座標値のリストと 頂点の組合せのリストによりポリゴンを定義します。 3-12 KGT ライブラリとその他の情報 MGF フォーマット # Micro AVS Geom:2.00 polyhedron 要素名 法線補間タイプ (facet または smooth) 頂点データタイプ (vertex または color) n( 頂点数 ) 1 番目の頂点データ 2 番目の頂点データ . . . n 番目の頂点データ m( ポリゴン数 ) 1 番目のポリゴンの頂点数 1 番目のポリゴンの頂点の並び 2 番目のポリゴンの頂点数 2 番目のポリゴンの頂点の並び . . . m 番目のポリゴンの頂点数 m 番目のポリゴンの頂点の並び 2 行目に基本要素タイプ polyhedron を記述します。 3 行目に任意の名前を記述します。 4 行目に法線補間のタイプとして、facet または smooth を指定します。 5 行目に頂点データタイプを指定します。 vertex :各頂点の座標値 (X,Y,Z) color :各頂点の座標値 (X,Y,Z)、色 (R,G,B) 6 行目以降は、各頂点の座標値 (X,Y,Z) を記述し、その後、全ポリゴン数および各 ポリゴンの情報を以下のように記述します。 頂点の並びは 1 番目の頂点を 1、n 番目の頂点を n とした番号でポリゴン を定義します。ポリゴンを正面から見て、半時計回りに頂点が記述されて いるとそちらの面が表側になり、時計回りに記述されていると裏側になり ます。( 交差するような順番で定義できません。) 1 つのポリゴンの頂点数は 200 が上限です。 1 つのポリゴンを定義する頂点の座標値は同一平面になければなりません。 KGT ライブラリとその他の情報 3-13 MGF フォーマット ◆ 立方体 (polyh.mgf) # Micro AVS Geom:2.00 polyhedron polyh_sample facet vertex 8 -1.0 1.0 1.0 -1.0 -1.0 1.0 1.0 -1.0 1.0 1.0 1.0 1.0 -1.0 1.0 -1.0 -1.0 -1.0 -1.0 1.0 -1.0 -1.0 1.0 1.0 -1.0 6 4 1 2 3 4 4 1 5 6 2 4 2 6 7 3 4 3 7 8 4 4 1 4 8 5 4 5 8 7 6 球 球 (sphere) を生成します。中心座標値、半径、色の有無で指定した球を定義します。色 を与える場合と、そうでない場合により書式が異なります。区別するために、4 行目に頂 点データタイプを記述します。頂点データタイプには、vertex と color があります。 書式 # Micro AVS Geom:2.00 sphere 要素名 頂点データタイプ (vertex または color) n( 球の個数 ) X(1) Y(1) Z(1) 半径 (1) (R(1) G(1) B(1)) X(2) Y(2) Z(2) 半径 (2) (R(2) G(2) B(2)) . . . X(n) Y(n) Z(n) 半径 (n) (R(n) G(n) B(n)) 3-14 KGT ライブラリとその他の情報 MGF フォーマット 2 行目に基本的要素タイプ sphere を記述します。 3 行目に任意の名前を記述します。 4 行目に頂点データタイプを指定します。 vertex :各頂点の座標値 (X,Y,Z) color :各頂点の座標値 (X,Y,Z)、色 (R,G,B) 5 行目に球の個数を記述します。 6 行目以降には、座標値 (X,Y,Z) と円の半径のセットで記述します。 ◆ 3 つの球 (sphere.mgf) # Micro AVS Geom:2.00 sphere sphere_sample color 3 0.0 0.0 0.0 0.2 1.0 0.5 0.0 0.0 0.3 0.0 0.0 0.5 0.0 0.4 0.0 0.0 0.0 1.0 0.0 0.0 1.0 線分 線分 ( ライン ) を生成します。線分を生成するための書式は 2 種類あります。基本要素タ イプが disjoint line の場合と、polyline の場合です。 disjoint line 線分 ( ライン ) を生成するためのタイプの 1 つです。ラインの両端点の座標値を指 定します。2 点でライン一本を定義します。 1-7-3-7 # Micro AVS Geom:2.00 disjoint line 要素名 頂点データタイプ (vertex または color) n ( 頂点数 ) 1 番目の頂点データ 2 番目の頂点データ . . . n 番目の頂点データ 2 行目に基本要素タイプ disjoint line を記述します。 3 行目に任意の名前を記述します。 4 行目に頂点データタイプを指定します。 KGT ライブラリとその他の情報 3-15 MGF フォーマット vertex :各頂点の座標値 (X,Y,Z) color :各頂点の座標値 (X,Y,Z)、色 (R,G,B) 5 行目に全頂点数を記述します。( 全頂点数 = ライン数 x 2) 6 行目以降には各頂点の座標値 (X,Y,Z) を記述します。 ◆ 4 本の独立したライン (line.mgf) # Micro AVS Geom:2.00 disjoint line dline_sample color 8 0.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 1.0 0.0 0.0 0.5 0.5 0.5 0.5 0.0 0.0 1.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.5 0.5 0.5 0.5 polyline 線分 ( ライン ) を生成するためのタイプの 1 つです。指定した頂点に沿って連続し たラインでつなぎます。 # Micro AVS Geom:2.00 polyline 要素名 頂点データタイプ (vertex または color) n ( 頂点数 ) 1 番目の頂点データ 2 番目の頂点データ . . . n 番目の頂点データ 2 行目に基本要素タイプ polyline を記述します。 3 行目に任意の名前を記述します。 4 行目に頂点データタイプを指定します。 vertex :各頂点の座標値 (X,Y,Z) color :各頂点の座標値 (X,Y,Z)、色 (R,G,B) 3-16 KGT ライブラリとその他の情報 MGF フォーマット 5 行目に全頂点数を記述します。( 全頂点数 = ライン数 + 1) 6 行目以降には各頂点の座標値 (X,Y,Z) を記述します。 ◆ 4 本の連続したライン (polyline.mgf) # Micro AVS Geom:2.00 polyline pline_sample vertex 5 0.0 0.0 0.0 1.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 円 円 (circle) を生成します。中心座標値、半径、向き、色あり・なし、塗りつぶし、塗り つぶしなしで円を定義します。円は多角形で近似して表示されます。 書式 # Micro AVS Geom:2.00 circle 要素名 塗りつぶしスタイル (fill または empty) 頂点データタイプ (vertex または color) m( 分割数 ) n( 円の個数 ) 方向 X(1) Y(1) Z(1) 半径 (1) (R(1) G(1) B(1)) 方向 X(2) Y(2) Z(2) 半径 (2) (R(2) G(2) B(2)) . . . 方向 X(n) Y(n) Z(n) 半径 (n) (R(n) G(n) B(n)) 2行目に基本要素タイプ circle を記述します。 3行目に任意の名前を記述します。 4行目に塗りつぶしスタイルとして、fill または empty を指定します。 5行目に頂点データタイプを指定します。 KGT ライブラリとその他の情報 3-17 MGF フォーマット vertex :方向、中心の座標値 (X,Y,Z)、半径 color :方向、中心の座標値 (X,Y,Z)、半径、色 (R,G,B) normal :中心の座標値 (X,Y,Z)、法線ベクトル (X,Y,Z)、半径 normal_and_color :中心の座標値 (X,Y,Z)、法線ベクトル (X,Y,Z)、半径、 色 (R,G,B) 6行目は円の分割数を記述します。 7行目は円の個数を記述します。 8行目以降は、各円の方向、座標値 (X,Y,Z) と円の半径のセットで記述します。方 向は、次の0,1,2のうち1つを記述します。 0:X 軸に垂直な面に円を描きます。 1:Y 軸に垂直な面に円を描きます。 2:Z 軸に垂直な面に円を描きます。 ◆ 色付き、塗りつぶしの円 (circle1.mgf) # Micro circle 円 fill color 64 3 0 2.0 1 3.1 2 -0.1 AVS Geom:2.00 0.0 0.5 2.1 0.4 0.4 0.0 0.8 1.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 ◆ 色なし、塗りつぶしなしの円(circle2.mgf) # Micro circle 円 empty vertex 32 3 2 -0.1 1 0.1 0 -0.5 AVS Geom:2.00 -8.1 -5.5 0.1 0.0 1.0 8.0 2.0 9.0 3.0 ◆ 色無し、塗りつぶし無し、法線ベクトルで方向を指定 (circle_normal.mgf) # Micro AVS Geom:2.00 circle 円 empty normal 32 3 1.0 1.0 0.0 -1.0 1.0 0.0 0.2 -1.0 1.0 0.0 -1.0 -1.0 0.0 0.4 -1.0 -1.0 0.0 1.0 1.0 -1.0 0.6 3-18 KGT ライブラリとその他の情報 MGF フォーマット 円柱 円柱 (column) を生成します。中心座標と半径、高さ、向き、色の有無を指定し円柱を定 義します。色を与える場合と、そうでない場合により書式が異なります。区別するために、 4 行目に頂点データタイプを記述します。頂点データタイプには vertex と color がありま す。 円柱は、多角形で近似して表示されます。 書式 # Micro AVS Geom:2.00 column 要素名 頂点データタイプ(vertex または color) m( 円柱の分割数 ) n( 円柱の個数 ) 方向 X(1) Y(1) Z(1) 半径 高さ (R(1) G(1) B(1)) 方向 X(2) Y(2) Z(2) 半径 高さ (R(2) G(2) B(2)) : : 方向 X(n) Y(n) Z(n) 半径 高さ (R(n) G(n) B(n)) 2 行目に基本要素タイプ column を記述します。 3 行目に任意の名前を記述します。 4 行目に頂点データタイプを指定します。 vertex :方向、底面の中心の座標値 (X,Y,Z)、半径、高さ color :方向、底面の中心の座標値 (X,Y,Z)、半径、高さ、色 (R,G,B) dvertex dvertex_and_color normal normal_and_color : 底面の中心の座標値 (X,Y,Z)、半径 ( X , Y , Z ) 、上 面 の 中 心 の 座 標 値 : 底 面 の 中 心 の 座 標 値 ( X , Y , Z ) 、上 面 の 中 心 の 座 標 値 (X,Y,Z)、半径、色 (R,G,B) : 底面の中心の座標値 (X,Y,Z)、方向ベクトル (X,Y,Z)、半 径、高さ : 底面の中心の座標値 (X,Y,Z)、方向ベクトル (X,Y,Z)、半 径、 高さ、色 (R,G,B) ここで、vertex および color の場合の方向は、次の 0、1、2 のうちの1つを記述 します。 0: X 軸方向に円柱を描きます。 1: Y 軸方向に円柱を描きます。 2: Z 軸方向に円柱を描きます。 5 行目に側面の分割数を記述します。 6 行目に円柱の個数を記述します。 7 行目以降は、各円柱の方向、座標値 (X,Y,Z) と円の半径のセットで記述します。 方向は次の 0,1,2 のうちの 1 つを記述します。 KGT ライブラリとその他の情報 3-19 MGF フォーマット ◆ 色つきの円柱(column1.mgf) # Micro column 円筒 color 64 3 0 0.0 1 3.0 2 3.0 AVS Geom:2.00 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.3 0.8 5.0 4.0 7.0 1.0 1.0 1.0 0.0 1.0 0.0 0.0 0.0 1.0 ◆ 色なしの円柱(column2.mgf) # Micro column 円筒 vertex 64 3 0 0.0 1 3.0 2 3.0 AVS Geom:1.10 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.3 0.8 5.0 4.0 7.0 ◆ 色無し、底面と上面の中心座標を指定 (column_dv.mgf) # Micro AVS Geom:2.00 column 円筒 dvertex 16 1 1.0 0.0 0.0 1.0 2.0 2.0 0.5 ◆ 色無し、底面の中心座標、方向ベクトル、高さを指定 (column_normal.mgf) # Micro AVS Geom:2.00 column 円筒 normal 16 1 1.0 0.0 0.0 0.0 1.0 1.0 0.5 2.0 複数三角形 指定された頂点をつないで、隣り合った複数の三角形 ( ポリトライアングル ) を生成しま す。1 番目、2 番目、3 番目の頂点で最初の三角形。2 番目、3 番目、4 番目の三角形で 2 番 目の三角形。というように、頂点をずらしながら三角形を生成します。 3-20 KGT ライブラリとその他の情報 MGF フォーマット 書式 # Micro AVS Geom:2.00 polytri 要素名 要素のタイプ(vertex, normal, color, normal_and_color) n( 頂点数 ) X(1) Y(1) Z(1) (NX(1) NY(1) NZ(1) R(1) G(1) B(1)) X(2) Y(2) Z(2) (NX(2) NY(2) NZ(2) R(2) G(2) B(2)) ・ ・ ・ X(n) Y(n) Z(n) (NX(n) NY(n) NZ(n) R(n) G(n) B(n)) 2 行目に基本要素タイプ polytri を記述します。 3 行目に任意の名前を記述します。 4 行目に頂点データタイプを記述します。 vertex :各頂点の座標値 (X,Y,Z) color :各頂点の座標値 (X,Y,Z)、色 (R,G,B) normal :各頂点の座標値 (X,Y,Z)、方向ベクトル (X,Y,Z) normal_and_color :各頂点の座標値 (X,Y,Z)、方向ベクトル (X,Y,Z)、色 (R,G,B) 5行目は全部の頂点数を指定します。 6行目以降は、頂点データタイプに応じて座標値 (X,Y,Z)、法線ベクトル (NX, NY, NZ)、色 (R,G,B) を記述します。 ◆ 色・法線無し(pt_vertex.mgf) # Micro AVS Geom:2.00 polytri polytri vertex 10 1 0 1.3 1 2 1.3 2 0 0.3 2 2 0.3 3 0 0. 3 2 0. 4 0 0.3 4 2 0.3 5 0 1.3 5 2 1.3 KGT ライブラリとその他の情報 3-21 MGF フォーマット ◆ 色・法線有り(pt_normal_and_color.mgf) # Micro AVS Geom:2.00 polytri polytri normal_and_color 10 1 0 1.3 -0.71 0. -0.71 1 2 1.3 -0.71 0. -0.71 2 0 0.3 -0.55 0. -0.84 2 2 0.3 -0.55 0. -0.84 3 0 0. 0. 0. -1. 3 2 0. 0. 0. -1. 4 0 0.3 0.55 0. -0.84 4 2 0.3 0.55 0. -0.84 5 0 1.3 0.71 0. -0.71 5 2 1.3 0.71 0. -0.71 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 文字 文字を生成します。文字を表示する座標値、色の有無、フォント、サイズ、スタイル(太 字など)、通常文字/タイトル文字の指定をした文字列を定義します。 label 文字を生成するためのタイプの 1 つです。任意の文字列と文字列を表示する座標1 点を指定します。 書式 # Micro AVS Geom:2.10 label 要素名 頂点データタイプ(vertex または color) フォント サイズ スタイル 1 スタイル2 タイトル ラベル数(n) X(1) Y(1) Z(1) (R(1) G(1) B(1)) " 文字列 " ・ ・ (ラベル数だけ繰り返し) ・ X(n) Y(n) Z(n) (R(n) G(n) B(n)) " 文字列 " 基準位置 オフセット 2 行目に基本要素タイプ label を記述します。 3 行目に任意の名前を記述します。 4 行目に頂点データタイプを記述します。 vertex :各頂点の座標値 (X,Y,Z) color :各頂点の座標値 (X,Y,Z)、色 (R,G,B) 3-22 KGT ライブラリとその他の情報 MGF フォーマット 5 行目は文字の書式を指定します。 フォント 文字のフォントの定義 サイズ 文字のサイズの定義 スタイル1 文字の太さの定義(0:標準、1:太字) スタイル2 斜体文字の定義(0:標準、1:斜体) タイトル タイトルの定義(0:標準、1:タイトル) 基準位置 文字位置の定義(0:左寄せ、1:中央寄せ、2:右寄せ) オフセット 基準位置から変位量を定義(X,Y,Z) 6 行目にラベル数を定義します。ここで定義された数の文字(行)を読み込みま す。 7 行目以降は、頂点データタイプに応じて座標値 (X,Y,Z)、色 (R,G,B) を記述しま す。 RGB は頂点データタイプが vertex のときは記述しません。 本バージョンでは、日本語フォントはサポートされていません。 使用可能なフォントは以下のものです。この中から指定して下さい。 Courier, Helvetica, New Century, Times, Charter, Symbol,Roman, Script, Mathematics 文字列は " " で囲みます。 文字列の中で " を使う場合は直前に\を入れてください。 文字列は最大300文字。 タイトルが 1 の時は表示された文字は固定され、マウス操作による移動は出来ませ ん。 オフセット及びタイトルが 1 の時の座標値は、表示窓の奥の左下隅を(-1,-1,-1)、 手前の右上隅を(1,1,1)とする座標系を使っています。正確には表示窓の縦横比 によって変わります。Z 値は、物体との重なり方に影響します。 ◆ タイトル文字(title2.mgf) # Micro AVS Geom:2.10 label タイトル・ラベル color Courier 0.2 1 0 1 1 0.0 0.0 0.1 1 0.0 0.2 0.0 0.0 0.8 0.0 "Test \ "avs \ " Label" KGT ライブラリとその他の情報 3-23 MGF フォーマット ◆ 色無し、標準文字(label.mgf) # Micro AVS Geom:2.10 label label_sample vertex Helvetica 0.1 0 1 0 1 0.0 0.0 0.0 5 0.0 0.0 0.0 "center" 0.2 0.0 0.0 "right" -0.2 0.0 0.0 "left" 0.0 0.2 0.0 "top" 0.0 -0.2 0.0 "bottom" 3-24 KGT ライブラリとその他の情報 MGF フォーマット 3.2.3 形状データ作成の例題 ここでは、形状データのサンプルファイルを幾つか紹介します。これらのサンプルファイ ルは <MicroAVS をインストールしたディレクトリ > の "DATA/MGF" にあります。 立体矢印 線分と多角形の基本要素の組合せで立体矢印の形状を作成する例です。 ◆ 形状データファイル (arrow.mgf) # Micro AVS Geom:2.00 polyhedron arrow facet color 5 0.0 0.0 0.4 1.0 0.1 0.1 0.0 0.0 -0.1 0.1 0.0 0.0 -0.1 -0.1 0.0 0.0 0.1 -0.1 0.0 0.0 5 3 1 2 3 3 1 3 4 3 1 4 5 3 1 5 2 4 5 4 3 2 disjoint line line color 2 0.0 0.0 0.0 0.0 0.0 0.0 -1.0 0.0 0.0 1.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0 図 4. KGT ライブラリとその他の情報 立体矢印の表示 3-25 MGF フォーマット 分子 球と線分の基本要素の組合せで分子の形状を作成する例です。 ◆ 形状データファイル (molecule.mgf) # Micro AVS Geom:2.00 sphere ball color 7 0.0 0.0 0.0 0.5 1.0 -3.0 0.0 0.0 0.5 0.0 3.0 0.0 0.0 0.5 0.0 0.0 3.0 0.0 0.5 0.0 0.0 -3.0 0.0 0.5 0.0 0.0 0.0 3.0 0.5 1.0 0.0 0.0 -3.0 0.5 1.0 disjoint line stick vertex 6 -3.0 0.0 0.0 3.0 0.0 0.0 0.0 3.0 0.0 0.0 -3.0 0.0 0.0 0.0 3.0 0.0 0.0 -3.0 0.0 1.0 1.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 図 5. 分子の表示 3-26 KGT ライブラリとその他の情報 MGF フォーマット 魚 球と多角形の基本要素の組合せで魚の形状を作成する例です ◆ 形状データファイル (fish.mgf) # Micro AVS Geom:2.00 polyhedron body facet vertex 6 0.0 0.0 0.0 1.0 0.0 0.5 1.0 1.0 0.0 1.0 0.0 -0.5 1.0 -0.6 0.0 3.0 0.0 0.0 8 3 1 2 3 3 1 3 4 3 1 4 5 3 1 5 2 3 2 6 3 3 2 5 6 3 3 6 4 3 4 6 5 polyhedron hire facet vertex 7 3.0 0.0 0.0 3.5 -1.0 0.0 3.5 1.0 0.0 0.7 -0.2 0.0 2.5 -0.5 1.2 2.2 -0.2 0.0 2.5 -0.5 -1.2 3 3 1 2 3 3 4 5 6 3 4 6 7 sphere eye color 4 0.7 0.2 0.2 0.2 1.0 1.0 1.0 0.7 0.2 -0.2 0.2 1.0 1.0 1.0 0.6 0.2 0.3 0.15 0.0 0.0 0.0 0.6 0.2 -0.3 0.15 0.0 0.0 0.0 図 6. KGT ライブラリとその他の情報 魚の表示 3-27 MGF フォーマット ロボットの顔 線分、多角形、球の基本要素の組合せで、ロボットの顔の形状を作成する例です。 ◆ 形状データファイル (robot.mgf) # Micro AVS polyhedron head facet vertex 8 2.0 3.0 -2.0 3.0 -2.0 -3.0 2.0 -3.0 2.0 3.0 -2.0 3.0 -2.0 -3.0 2.0 -3.0 6 4 1 2 3 4 4 1 5 6 2 4 2 6 7 3 4 3 7 8 4 4 1 4 8 5 4 8 7 6 polyhedron nose facet color 8 0.5 0.5 -0.5 0.5 -0.5 -0.5 0.5 -0.5 0.5 0.5 -0.5 0.5 -0.5 -0.5 0.5 -0.5 Geom:2.00 1.0 1.0 1.0 1.0 -1.0 -1.0 -1.0 -1.0 1.0 1.0 1.0 1.0 3.0 3.0 3.0 3.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 5 4 1 2 6 5 4 2 3 7 6 4 3 4 8 7 4 1 5 8 4 4 5 6 7 8 polyhedron mouth facet color 6 -1.0 -1.5 1.0 1.0 0.0 -2.0 1.0 1.0 1.0 -1.5 1.0 1.0 -1.0 -1.5 1.5 1.0 0.0 -2.0 1.5 1.0 1.0 -1.5 1.5 1.0 4 3 4 5 6 4 1 2 5 4 4 2 3 6 5 4 1 4 6 3 sphere eye color 2 1.0 1.5 1.0 0.7 0.0 -1.0 1.5 1.0 0.7 0.0 disjoint line hair vertex 6 0.0 3.0 0.0 -0.5 4.0 0.0 0.0 3.0 0.0 0.0 4.0 0.0 0.0 3.0 0.0 0.5 4.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 3-28 KGT ライブラリとその他の情報 MGF フォーマット 図 7. KGT ライブラリとその他の情報 ロボットの顔の表示 3-29 MGF フォーマット 3-30 KGT ライブラリとその他の情報 第4章 フリービューワー AVS/Expressで作成したアニメーションは3D AVS Playerと呼ぶフリービューワー を使って再生することができます。 KGT ライブラリとその他の情報 4-1 フリービューワー 4.1 3D AVS Player 3D AVS Player は AVS/Express や姉妹ソフト MicroAVS で作成された3次元アニメーション を再生することができるフリービューワーです。 (株)ケイ・ジー・ティーのホームページからダウンロードできます。 http://www.kgt.co.jp/feature/3davs/ 3D AVS Player では、GFA(Geometry Flipbook Animation) データを再生することができま す。 AVI や MPEG 動画と異なり、3次元の幾何形状のアニメーションを保存したフォーマット で、アニメーションの再生中に回転、移動、拡大縮小といった視点の変更を自由に行うこ とができます。 単なるビューワーアプリケーションとして利用することはもちろん、PowerPoint に貼り付 けたり、Web ブラウザの中に貼り付けて利用することもできます。 その他、2枚の画像を並べて表示する立体視(平行法、交差法による)機能もサポートし ています。 詳細は、上記 URL、ならびにダウンロード、インストール後のソフトウェアのヘルプをご 参照ください。 4-2 KGT ライブラリとその他の情報 フリービューワー 4.2 アニメーションファイル(GFA)の作成方法 AVS/Express で 3D AVS Player で再生できるファイルを作成するには、geom_capture モ ジュールを利用して保存します。 何らかの可視化を行ったら、ビューワーモジュールに "geom_capture" モジュールを接続 してください。 パラメーターを使って、画面のアニメーションをキャプチャします。 1. Mode を Capture に変更します。 2. Record ボタンをクリックします。 3. 画面上のアニメーション(例えばパーティクルトレースなど)を実行します。 KGT ライブラリとその他の情報 4-3 フリービューワー 4. Mode を Capture から Playback に変更します。 5. 再生ボタンをクリックし、画面上で再生できることを確認します。 6. Animation File パラメーターを利用して、GFA ファイルとして保存します。 もちろん、必ずアニメーションファイルである必要はありません。 可視化を行った状態で、上記ステップの 1)、2) を実行し、ファイルに保存します。 その他、3D AVS Player では、MGF ファイル(3-1 ページ「MGF フォーマット」)や Geom ファ イルも読み込むことができます。 参考 もちろん、通常の AVI, MPEG 動画に保存することもできます。 "image_caputure" モジュールを代わりに利用します。 4-4 KGT ライブラリとその他の情報 第5章 その他のツール AVS/Express とともに利用できる便利なツールについて紹介します。 Additional CD リファレンス・ガイド 5-1 その他のツール 5.1 ボリューム作成ツール ボリューム作成ツールは、JPEG や GIF などの画像ファイルのデータを積み重ねることで1 つのボリュームデータを生成するためのツールです。 このツールで作成したボリュームデータを AVS/Express で可視化することができます。 このツールは製品 CDROM に収録されています。 <CDROM>/tool/img2vol/ 5.1.1 UNIX/Linux 版ボリュームデータ作成ツールの使い方 インストールの前に UNIX/Linux 版のボリュームデータ作成ツール Image to Volume は img2vol という名前の プログラムになっています。img2vol プログラムは Perl 言語で記述されています。このプ ログラムを利用するには Perl バージョン5もしくはそれ以上のバージョンの Perl がすで にインストールされていなければなりません。Perl のバージョン番号については下記のコ マンドで確認できます; myhost % perl -v This is perl, version 5.004_04 built for xxx Copyright 1987-1997, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5.0 source kit. お使いのコンピュータ・システムに Perl がインストールされていない場合またはインス トールされているのかどうか不明な場合は、システムの管理者に問い合わせてみてくださ い。なお、最新の Perl は http://www.perl.com/CPAN などからも入手できます。 注意 : この章では、AVS/Express がインストールされたディレクトリを <express_dir> と記します。 UNIX 版 img2vol プログラムのインストール 本プログラムにはインストーラなどは付いていません。お使いのコンピュータシステムに 合ったアーカイブファイルを適宜解凍し、コピーすることでお使いいただけます。 アーカイブは CDROM の tool/img2vol/unix ディレクトリ内に各オペレーティングシス テムごとの名前が付けられて格納されています。 アーカイブ名: yourproduct.tar SGI は sgi.tar, Solaris は sol.tar, HP-UX は hp.tar, Compaq Alpha は alpha.tar, Linux は linux.tar が対象アーカイブとなります。 img2vol を使うには、このアーカイブを解凍しプログラムの本体である img2vol をお使い のシステムでパスの通ったディレクトリにコピーするか、またはパスの通ったディレクト リにシンボリックリンクを作ります。 5-2 Additional CD リファレンス・ガイド その他のツール 以下は /usr/local/ 内に解凍して /usr/local/bin/ ディレクトリにシンボリックリンクを 作る方法です。 注意 : 解凍と展開 この操作は root ユーザーアカウントで行なう必要があります。 まず CDROM をコンピュータの CD-ROM ドライブにセットしてマウントします。 CD-ROM ドライブの <CDROM>/tool/img2vol/unix ディレクトリにある yourproduct.tar の アーカイブを /usr/local 内にコピーします。 # cp <CDROM>/tool/img2vol/unix/yourproduct.tar /usr/local コピー先のディレクトリに移って以下のコマンドを使ってアーカイブを解凍します。 # cd /usr/local/ # tar xvf yourproduct.tar 正しく解凍できると、/usr/local/ ディレクトリ内に img2vol ディレクトリが作ら れ img2vol プログラムを見ることができます。さらに sample/ 以下にサンプルリス トファイル filelist、サンプルデータディレクトリ data/ とサンプルイメージ ファイル lobster**.jpg が保存されます。 リンクの作成 次に img2vol プログラムへのシンボリックリンクを /usr/local/bin ディレクトリなどの PATH が通ったディレクトリに対して作成します。 # cd /usr/local/img2vol # ln -s /usr/local/bin/img2vol img2vol 以上でインストール作業は終了です。 次節では img2vol を使う前に必要な設定方法を説明します。 なお、アーカイブ内にあるファイルのディレクトリ構成は以下の通りです; img2vol/ img2vol ※スクリプトの本体 sample/ filelist data/ ※画像ファイルリスト lobster00.jpg ・・ ・ ・・ lobster01.jpg lobster33.jpg UNIX 版 img2vol プログラムを使う前に img2vol プログラムを使うには、AVS/Express のディレクトリ情報 <express_dir> とお使 いの OS 毎に設定されるマシン名情報が必要になります。これらの情報を設定するために、 まず img2vol プログラムをエディタ(vi, emacs など)で編集します。 # cd /usr/local/img2vol # vi img2vol Additional CD リファレンス・ガイド 5-3 その他のツール ファイルを開いたら 37 行目に移動します。 AVS/Express の インストールディレクトリ $express = "/usr/local/express"; $machine = "s8_64"; OS 毎に決められるマシン名 ・ ・ ・ ・ ・ ・ ・ ・ $exec_cmd = "$express/bin/$machine/imgconv"; local $ENV{'LD_LIBRARY_PATH'} = "$express/lib/$machine"; 例えば AVS/Express をインストールしているディレクトリ <Express_dir> が /opt/app/ express の場合は $express="/usr/local/express" となっている箇所を $express = "/opt/app/express"; のように変更します。文字列の最後に『/( スラッシュ )』は必要ありません。 また、変数 $machine には AVS/Express がインストールされているコンピュータの OS 毎に 設定されるマシン名情報を設定します。マシン名情報は次表の通りです; 表 1 マ シ ン名情報の一覧 オペレーテ ィ ン グ シ ス テ ム マシ ン名情報 SunOS/Solaris s8_64 (Solaris8 64bit) s8 (Solaris8 32bit) RedHat Linux linux SGI IRIX sg6 (n64bit) sgN32 (n32bit) HP-UX hp11_64(HP-UX 11 64bit) hp11 (HP-UX 11 32bit) Tru64 UNIX Alpha alpha マシン変数名についての詳細はリリースノートをご参照ください。 ディレクトリ情報とマシン名情報の編集を終えたらファイルをセーブしてエディタを終 了し、以下のコマンドを入力して img2vol プログラムに実行属性を与えます。 chmod +x img2vol 以上で img2vol プログラムの設定は終わりです。 5-4 Additional CD リファレンス・ガイド その他のツール UNIX 版 img2vol の使い方 ここでは、付属のサンプルを利用して img2vol を使ったボリュームデータの作成方法を紹 介していきます。 注意 : これ以降、/usr/local/img2vol ディレクトリに img2vol プログラム がインストールされていて、且つ、パスの通ったディレクトリに img2vol へのシンボリックリンクが作成されているものとします。 適宜インストールされたディレクトリ等を読み替えてください。 img2vol/ ディレクトリの中には sample/ ディレクトリがあり、その中にサンプルイメージ として data/ 内に lobster00.jpg から lobster33.jpg までの画像ファイルが格納されてい ます。また、これらのファイルの場所を示すリストファイル filelist が sample/ ディレ クトリに保存されています。これらのイメージデータを AVS/Express で扱える1つの フィールドデータファイルに変換します。 まず filelist とサンプル画像ファイルを自分のホームディレクトリにコピーするため、 ディレクトリを作っておきます。( 以下、"myhost%" という文字列はプロンプトを示すも のとします。) myhost% cd ~/ myhost% mkdir sample_data myhost% mkdir sample_data/data 次に、インストールした /usr/local/img2vol/sample ディレクトリ以下にある filelist と 画像ファイルをコピーしましょう。 myhost% cp /usr/local/img2vol/sample/filelist ~/sample_data/ myhost% cp /usr/local/img2vol/sample/data/*.jpg ~/sample_data/data/ コピーが終わったら sample_data ディレクトリに移動します。 myhost% cd sample_data/ ではさっそく img2vol を実行してみます。コマンドラインで以下のように入力してくださ い。 myhost% img2vol This program uses internally /app/exp/sg6/bin/sg6/imgconv. >>> Welcome to img2vol program! <<< This program converts from some image files to an AVS field data file. Do you have a list for your images? (y|n): プログラムが正しく実行できるとこのようなメッセージが表示されます。一方、項で設定 しておいた情報が正しくない場合は、以下のようなメッセージを出力してプログラムは終 了します。 Additional CD リファレンス・ガイド 5-5 その他のツール myhost% img2vol !!! WARNING !!! img2vol cannot find 'imgconv' or its library file. Check out the variables described in img2vol. img2vol exit. このような場合は項で説明した設定項目が正しく記述されているか確認してください。例 えば、変数 $express で指定する AVS/Express のディレクトリ情報の最後にディレクトリ デリミタである『/( スラッシュ )』が入っている場合なども、正しくディレクトリ情報を 取得できないためプログラムが終了することがあります。 また、img2vol プログラムは内部的に imgconv という画像変換プログラムを使用していま す。このプログラムは通常 AVS/Express がインストールされている <express_dir> の下の bin/ ディレクトリ以下 ( 正確にはさらに <$machine 名 > 以下 ) に格納されています。この プログラムがきちんとこのディレクトリ内にあるか、確認してください。 img2vol が正しく実行できた場合、img2vol はまず画像イメージファイルのリストファイ ルがあるかどうか聞いてきます。画像イメージファイルのリストは1行ごとにファイル名 が記されたファイルをいいます。もしそのようなファイルをすでに持っている場合は、こ こで『y』と入力し Enter キーを押します。リストファイルを持っていない場合は『n』と 入力し Enter キーを押します。 Do you have a list for your images? (y|n): ・ リストファイルがある場合 『y』を入力するとリストファイルの名前を聞いてきます。ファイル名を入力してく ださい。 Okay, tell me the filename of image list? --> filelist ・ リストファイルがない場合 『n』を入力して、画像イメージファイルの名前をひとつずつコンマで区切って入力 してください。 Okay, list your image files? (use comma as separation) --> data/lobster00.jpg,data/lobster01.jpg,data/lobster02.jpg, data/lobster03.jpg,data/lobster04.jpg,data/lobster05.jpg,data/lobster06.jpg ファイル名を入力すると img2vol は指定されたイメージファイルが存在するかチェックし ます。ファイルが存在しない場合やアクセスできない場合などは次のようなエラーメッ セージが表示されます。 file /data/lobster00.jpg not exist or not found it. img2vol quit. 5-6 Additional CD リファレンス・ガイド その他のツール この場合ディレクトリ指定などが間違ってないか確認してみてください。例えば、img2vol を~/ディレクトリ(ホームディレクトリ)で実行しファイルリストの指定時にsample_data/ filelist という指定をした場合、ファイルリストに記述している data/lobster00.jpg と いうファイルのディレクトリ位置と現在の作業ディレクトリ位置が一致しないために ファイルが見つからないというエラーが出力されてしまいます。 img2vol が各イメージファイルを確認できると、与えられたファイルを一旦 AVS のイメー ジ形式にコンバートします。 コンバートが正常に終わると、次にどの色を抽出してデータを生成するか聞いてきます。 Do you have a list for your images? (y|n): y Okay, tell me the filename of image list? --> filelist img2vol is making the temporary AVS image...done. What type of data do you want to extract? S:Gray-Scaled, R:Red, G:Green, B:Blue (Scaling := 0.299 * R + 0.587 * G + 0.114 * B) Input your type (use a capital character: S, R, G, B) --> R 抽出する色のタイプを入力します。タイプは、R,G,B のいずれかか、または S を入力しま す。S を選択した場合、R,G,B の3原色を元にスケーリングしてグレースケールカラーの データとして変換します。(色のタイプには必ず大文字を入力してください) How coordinates do you want to set? (X:[120],Y:[120],Z:[34]) --> [Enter] 次に座標値を入力します。座標値のもう片方の端点は原点 (0, 0, 0) となっています。座 標値を入力する場合はコンマで区切って各座標値を入力します。 例)200,200,50 座標値を指定しない場合はそのまま Enter キーを押して下さい。 最後に、出力するフィールドファイルのファイル名『output.fld』を入力します。 How coordinates do you want to set? (X:[120],Y:[120],Z:[34]) --> Input your field filename for output? --> output.fld 以上で操作は終わりです。 画像イメージファイルから必要なデータを自動的に取得して AVS/Express で扱えるフィー ルドデータファイルに出力されます。 Additional CD リファレンス・ガイド 5-7 その他のツール 5.1.2 Windows 版ボリュームデータ作成ツールについて インストール方法 (Windows 版 ) Windows 版のボリュームデータ作成ツール用インストーラは、CDROM の tool/img2vol フォ ルダ内の windows フォルダにあります。 <CDROM> \ tool \ img2vol \ windows フォルダ内の『I2v200_i.exe』をダブルクリック してインストーラを起動してください。その後画面の指示に従って、適当なフォル ダ内にインストールを行ないます。 注意 : この章では、AVS/Express がインストールされたディレクトリを <express_dir> と記します。 Windows 版 ImgToVol の使い方 この節では、Windows 版 ImgToVol によるボリュームデータの作成について解説しています。 さっそくデータの作成に取り掛かります。まず [ スタート ] メニューから [ プログラム ] の中にある ImgToVol2.0 から ImgToVol2.0 を選びます。 ImgToVol が起動すると以下のようなウィンドウが表示されます。 『次へ』のボタンを押して作業を進めます。ファイル選択画面に変わるので、ここでデー タの元となるイメージファイルを選択します。 5-8 Additional CD リファレンス・ガイド その他のツール ファイルの選択には、Shift キーまたは Ctrl キーを押しながらマウスでファイルを選択す ることで複数ファイルを選ぶことができます。ファイルを選んだら『追加』ボタンを押し てファイルを右側のリストボックスに登録してください。 登録したファイルの順番を変更するにはそれぞれ上下ボタンを、またすでに登録したファ イルを削除するには『削除』ボタンを押してください。ファイルの選択と登録が終了した ら、『次へ』ボタンを押します。 ファイルが正しく選択されてイメージ変換が可能だと、次の画面に移ります。ここでは出 力するフィールドデータファイルの座標(データサイズ)を変更できます。 Additional CD リファレンス・ガイド 5-9 その他のツール 出力するデータサイズを決定したら、『次へ』ボタンを押してください。 次に取得するデータ値を指定します。R( 赤色 ), G( 緑色 ), B( 青色 ) のいずれかか、また は輝度値取得を選択します。輝度値の場合、R,G,B の3つのデータを元にしたグレースケー ル化したデータが生成されます。( 次頁参照 ) データ値を選択したら、『次へ』ボタンを押します。ファイルの保存ダイアログが表示さ れるので、抽出したデータを保存するフィールドデータファイルの名前を入力して『保存』 ボタンを押してください。 正常に保存できたら、『完了』ボタンを押します。これでデータの生成は終了です。 5-10 Additional CD リファレンス・ガイド その他のツール 5.1.3 フィールドデータを表示する ボリュームデータ生成ツールで出力したフィールドファイル output.fld のデータを利用 して、AVS/Express で表示してみましょう。 AVS/Express を起動して以下のようなネットワークを構築します。 ネットワークを作成できたら、ボリュームデータ作成ツールで変換した output.fld ファ イルを読み込んでみます。データを正しく読み込めると多少目の粗いロブスターのグラ フィックスが表示されます。 ◆ パラメータの設定 以下の手順に従って各種パラメータを変更します。 1. [Range Position] スライダーを 50.00 に変更します。 2. [Alpha Range Model] を Linear に変更します。 3. [Minimum Alpha] の値を 0.07 に変更します。 4. [Maximum Alpha] の値を 0.20 に変更します。 5. [Fat Ray] チェックボックスのチェックをはずします。 透明度のあるロブスターのボリュームレンダリングされたグラフィックスが表示さ れます。(下記図参照) Additional CD リファレンス・ガイド 5-11 その他のツール 5.1.4 変換可能フォーマット UNIX 版 img2vol プログラムで変換できるグラフィックスイメージのフォーマットは以下の 通りです : 表 2 変換可能なグ ラ フ ィ ッ ク ス フ ォ ーマ ッ ト ( 抜粋 ) 形 式 説 明 AVS AVS X Image file BMP Microsoft Windows Bitmap image DIB Microsoft Windows Bitmap image EPS Adobe Encapsulated Postscript file GIF Compuserve graphics interchange image JPEG Joint Photographic Experts Group JFIF format (24bit) HDF Hierarchical Data Format PBM Portable Bitmap format PNG Portable Network Graphics PS TIFF Adobe Postscript file Tagged Image File Format XBM X Window System bitmap (mono) XPM X Window System pixmap file (color) 上記表に掲載していないグラフィックスフォーマットについてはコマンド imgconv を確認 してください。 Windows 版 ImgToVol v2.0 で変換可能なフォーマットは以下の通りです : 表 3 変換可能なグ ラ フ ィ ッ ク ス フ ォ ーマ ッ ト 形 式 AVS AVS X image file BMP Microsoft Windows bitmap image file CMYK Raw cyan, magenta, yellow, and black bytes FAX Group 3 FITS Flexible Image Transport System GIF Compuserve Graphics image file GIF87 IRIS JPG 5-12 説 明 Compuserve Graphics image file (version 87a) SGI RGB image file JPEG MIFF Magick image file format PCT Apple Macintosh QuickDraw/PICT file RAD Radiance image file RGB Raw red, green, and blue bytes RLE Utah Run length encoded image file; read only SUN SUN Rasterfile TGA Truevision Targa image file TIFF Tagged Image File Format VIFF Khoros Visualization image file YUV3 CCIR 601 2:1:1 files Additional CD リファレンス・ガイド その他のツール 5.2 1 ノード用 PCE 画像重畳モジュール データが大規模化し、メモリが足りずに可視化できないといった問題点を解消するための フリーモジュールです。 図に示すように大規模データを複数の領域に分割し、その分割した領域の可視化処理を行 います。 この部分毎の可視化を繰り返し、その領域での可視化結果を作成します。最終的に各可視 化結果の奥行き情報を基に画像重畳を行うことで、全体領域の可視化を行います。 このツールは以下のサイトからダウンロードできます。 http://www.kgt.co.jp/viz_download.html ツール・ユーティリティのダウンロードコーナーをご確認ください。 詳細は上記サイト、ならびにインストール後のツールに含まれるドキュメントをご参照く ださい。 Additional CD リファレンス・ガイド 5-13 その他のツール 5-14 Additional CD リファレンス・ガイド