第13回 「EGS研究 会」 軌跡とジオメトリー表示プログラム CGVIEW(Ver2.0)の高度化 高エネルギー加速器研究機構 波戸 芳仁 平山 英夫 (有)科学システム研究所 高村 篤 杉田 武志 目的 軌跡とジオメトリー表示プログラム(以後CGVIEW)を 公開し、使用実績を増してきたことにより、改良の要 望がいくつか出てきた。 また、EGS5で使用できるCG(Combinatorial Geometry)形状が新たに追加されたためCGVIEWの表示に 関しても同様の機能追加を行い、同時に操作性の向上 を図るための改良も行った。 改良項目 ● ● ● ● ● ● CG形状の追加 入出力に使用するファイル形式の自由化 体系作成画面での編集機能追加 4桁の領域番号への対応 粒子表示機能拡張 ジオメトリー表示線の変更機能追加 CG形状の追加 EGSの最新版では従来のCG形状である四角形、円柱、 球、円錐、トーラスに新規形状が8種類追加され、全部 で13種類のCG形状を使用することが出来るようになっ た。 その変更に伴い、CGVIEWでも新規に追加した8種類の 形状に対応できるように改良を行った。 追加形状(1):BOX BOXは基準点PとベクトルA1とA2の辺で形成される四角形をベクト ルA3方向に沿って移動した跡にできる四角柱。ただし、A1、A2及 びA3のベクトルは直交している。 [ 形式 ] Px Py Pz A1x A1y A1z A2x A2y A2z A3x A3y A3z Px,Py,Pz :基準点となる頂点のX,Y,Z座標 A1x,A1y,A1z : 基準点から延ばした辺1のX,Y,Zベクトル A2x,A2y,A2z : 基準点から延ばした辺2のX,Y,Zベクトル A3x,A3y,A3z : 基準点から延ばした辺3のX,Y,Zベクトル 追加形状(2):REC RECは基準点Pを中心に短軸R1と長軸R2で作成される楕円をベクト ルH方向に沿って移動した跡にできる楕円柱。ただし、ベクトルH とR1,R2は直交している。 [ 形式 ] Px Py Pz Hx Hy Hz R1x R1y R1z R2x R2y R3z Px,Py,Pz : 基準点となる楕円の中心X,Y,Z座標 Hx,Hy,Hz : 楕円柱の高さ方向のX,Y,Zベクトル R1x,R1y,R1z : 楕円の短軸を示すX,Y,Zベクトル R2x,R2y,R2z : 楕円の長軸を示すX,Y,Zベクトル 追加形状(3):TEC TECは基準点Pを中心に短軸R1と長軸R2で作成される楕円をベクト ルH方向に沿って比率Wの楕円に移動した跡にできる楕円錐。ただ し、ベクトルHとR1,R2は直交している。 [ 形式 ] Px Py Pz Hx Hy Hz R1x R1y R1z R2x R2y R3z W Px,Py,Pz : 基準点となる楕円の中心X,Y,Z座標 Hx,Hy,Hz : 楕円錐の高さ方向のX,Y,Zベクトル R1x,R1y,R1z : 楕円の短軸を示すX,Y,Zベクトル R2x,R2y,R2z : 楕円の長軸を示すX,Y,Zベクトル W : 楕円の比率(=b/a) a=基準面の長軸長さ(R2) b=天井面の長軸長さ 追加形状(4):ELL ELLは焦点座標P1とP2を結ぶ主軸Rの長さが一定の距離を保つ軌跡 でできる楕円球。 [ 形式 ] P1x P1y P1z P2x P2y P2z R P1x,P1y,P1z : 1つ目の焦点座標(X,Y,Z) P2x,P2y,P2z : 2つ目の焦点座標(X,Y,Z) R : 主軸の長さ 追加形状(5):WED WEDは基準点PとベクトルA1とA2の辺で形成される三角形をベクト ルA3方向に沿って移動した跡にできる三角柱。ただし、A1、A2及 びA3のベクトルは直交している。 [ 形式 ] Px Py Pz A1x A1y A1z A2x A2y A2z A3x A3y A3z Px,Py,Pz : 基準点となる頂点のX,Y,Z座標 A1x,A1y,A1z : 基準点から延ばした三角形辺1の X,Y,Zベクトル A2x,A2y,A2z : 基準点から延ばした三角形辺2の X,Y,Zベクトル A3x,A3y,A3z : 基準点から延ばした高さの X,Y,Zベクトル 追加形状(6):ARB ARBは任意の4,5または6面体。頂点のXYZ座標P1~P8を指定し、面 データS1~S6を十進数で表した4桁の整数で指定する。4桁の整数 は各桁が面の頂点番号を示し、順序は任意とする。4点より少ない 頂点で構成される面は余りの頂点番号に0を入力する。使用しない 頂点座標はXYZに0を入力する。 [ 形式 ] P1x P1y P1z P2x P2y P2z P3x P3y P3z P4x P4y P4z P5x P5y P5z P6x P6y P6z P7x P7y P7z P8x P8y P8z S1 S2 S3 S4 S5 S6 追加形状(6):ARB P1x,P1y,P1z : 頂点1のX,Y,Z座標 P2x,P2y,P2z : 頂点2のX,Y,Z座標 P3x,P3y,P3z : 頂点3のX,Y,Z座標 P4x,P4y,P4z : 頂点4のX,Y,Z座標 P5x,P5y,P5z : 頂点5のX,Y,Z座標 P6x,P6y,P6z : 頂点6のX,Y,Z座標 P7x,P7y,P7z : 頂点7のX,Y,Z座標 P8x,P8y,P8z : 頂点8のX,Y,Z座標 ※使用しない頂点にはダミー数値(0.0等)を入力する S1,S2,S3,S4,S5,S6 : 6つの面を記述する4桁の整数。4桁の整数は各桁が面の頂点番号を示し、順序は任意とす る。4点より少ない頂点で構成される面は余りの頂点番号に0を入力する。 追加形状(6):ARB 6つの頂点を持つ6面体を例に入力例を示す。 頂点は6つなので残りの2つの座標を全て0に すると頂点データは以下のようになります 。 0 0 0 10 0 0 5 0 10 0 5 7 0 5 0 0 0 0 0 0 5 0 0 0 次に面データは以下のようになります。 123 (頂点1,2,3 を通る三角面) 1245 (頂点1,2,4,5を通る四角面) 1346 (頂点1,3,4,6を通る四角面) 456 (頂点4,5,6 を通る三角面) 236 (頂点2,3,6 を通る三角面) 256 (頂点2,5,6 を通る三角面) 追加形状(7):HAF HAFは指定したベクトルN方向を領域とする半空間。 [ 形式 ] Nx Ny Nz L Nx,Ny,Nz : 内側領域方向を示すベクトルX,Y,Z (マイナスも入力可) L : ベクトルNに沿った原点(0,0,0)から平面までの距離 (マイナスも入力可) 追加形状(8):HEX HEXは基準点Pを中心に幅Wで側面がベクトルAを向く六角形をベク トルH方向に沿って移動した跡にできる六角柱。ただし、ベクトル HとAは直交している。 [ 形式 ] Px Py Pz Hx Hy Hz W Ax Ay Az Px,Py,Pz : 基準点となる円の中心X,Y,Z座標 Hx,Hy,Hz : 円柱の高さ方向のX,Y,Zベクトル W : 六角形の幅 Ax,Ay,Az : 側面の一つに垂直なベクトルA (長さは任意) 入出力に使用するファイル形式の自由化 CGVIEWで扱うファイルには軌跡ファイルと体系作成ファイルがあ り、以下の改良を行った。 ・軌跡ファイルは拡張子(*.pic)で固定フォーマットを使用してい たが、拡張子による制限を廃止し、フリーフォーマット及び CSV(コンマ区切り)フォーマットのファイルも読み込みが出来るよ うにした 。 ・体系作成ファイルは拡張子(*.geo)でフリーフォーマットを使用 していたがたが、拡張子による制限を廃止し、CSV(コンマ区切り) フォーマットのファイルも読み込みが出来るように改良を行った。 軌跡ファイル形式の変更点(1) 従来の軌跡ファイル形式である固定フォーマットとフリーフォー マット及びCSV(コンマ区切り)フォーマットでは出力に以下の違い がある。 [全般] 固定フォーマットはデータの区切り位置が固定であったが、フ リーフォーマットでは1つ以上の空白(半角)、CSVフォーマットで はカンマ(,)でデータを区切る必要がある。 [タイトル] 軌跡ファイルの先頭行にはCGファイルであることを示す記号 CSTAを入力するが、フリーフォーマットの場合はCSTA-FREE、CSV 形式の場合はCSTA-CSVを出力する。 また、CG以外の形状も同様に記号をGSTA-FREE、GSTA-CSVに変更 することで形式を変えることができる。 軌跡ファイル形式の変更点(2) [粒子データ] 粒子の反応位置を示すXYZ座標のデータは負の値の場合、数字が つながってしまう。そこで空白が入らように1カラムずらす必要が ある。 また、固定フォーマットはデータ無し(指定領域が空白)という 入力が可能であるが、フリーフォーマット及びCSVフォーマットで はこのような入力が出来ないため、デフォルト値を必ず入力する 必要がある。 固定フォーマットでは粒子データのウエイトとLATCHが未入力の 場合デフォルト値(ウエイト=1、LATCH=1)を使用するが、フリー フォーマット及びCSVフォーマットではユーザーが値を設定する必 要がある。 軌跡ファイル形式の変更点(3) [EGSコード側の変更点] EGSコードではplotxyzルーチンを使用して軌跡をファイルに出 力しているが下表に示すように従来形式(固定)の場合はNPRECIを2 に、フリー形式で出力する場合は3に変更する必要がある。 NPRECI 円筒平板 CG Medium 粒子情報書式 対応プログラム 0 ○ × × I5 EGS4WIN32 1 ○ × × I8 EGS4WIN32 2 ○ ○ ○ 1PE13.6 CGVIEW(固定フォーマット) 3 ○ ○ ○ 1PE14.6 CGVIEW(フリーフォーマット) 体系作成ファイル形式の変更点 体系作成ファイルは従来のフリーフォーマットとCSV(コンマ区 切り)フォーマットでは区切り記号(フリーフォーマットでは1つ以 上の空白(半角)、CSVフォーマットではカンマ)が異なる。 ファイル入出力時のフォーマット判別は拡張子によって行われ、 (.csv)のファイルはCSVフォーマット、その他の拡張子の場合はフ リーフォーマットとして扱われる。 また、フリーフォーマットは下のようにデータ数に合わせて改 行を追加しますが、 RCC 6 0 7.9 0 1.9 6.1 0 0 <-改行有り CSVフォーマットの場合はExcel等での編集を考慮し、一つのデー タは1行に全て羅列されます。 RCC,6,0,0,6.1,0,0,7.9,1.9, <-改行無し ただし、EGSでは1行を250文字までしか読めないためCSV形式で EGSに読み込ませる場合は注意が必要です。 体系作成画面での編集機能追加(1) CGVIEWの体系作成機能はグリッドに数値を入力して いく形式を採用しているが、削除や挿入等の編集機能 を有していないため、操作性が良くなかった。そこで 一般的な表計算ソフトのような編集機能を追加し、操 作性の向上を図った。 体系作成画面での編集機能追加(2) [セルの編集] セル上でポップアップメニューを表示させると以下の処理が出来 る。 体系作成画面での編集機能追加(3) [列の編集] 列の最左の固定領域を選択すると列全体が選択状態になり、ここ でポップアップメニューを表示させると以下の処理が出来る。 体系作成画面での編集機能追加(4) 4桁の領域番号への対応 従来のEGS及びCGVIEWでは領域番号をZ+2文字(Z00やZ18等)で設 定していたが、最新のEGSではZ+4文字(Z0000やZ0018)で読み込む ように拡張されているため、CGVIEWでの領域番号の取り扱いもZ+4 文字に対応できるよう改良した。 また、体系作成画面において領域番号は自動で割り当てるよう に変更しているので注意してください。 粒子表示機能拡張(1) 従来のCGVIEWで粒子の表示ヒストリー範囲を指定す るには表示設定画面を開く必要があるため、ヒスト リー毎の粒子を順に表示して確認するような作業が行 うには効率が良くなかった。 そこで、凡例画面内に表示ヒストリー範囲を前後さ せるボタンを追加し、ヒストリー範囲の粒子を順に表 示できるように機能を拡張した。 ただし、この機能は設定画面で範囲指定をチェック している場合のみ有効となる。 粒子表示機能拡張(2) 下図のようなボタンを追加し、次もしくは前のヒス トリー範囲を表示できるようにした。移動量は指定範 囲幅を1ブロックとして次の軌跡を表示します。 表示範囲が11-11(1粒子のみ表示)の場合 は 12-12、13-13...と移動します。 表示範囲が11-15(5粒子を1ブロックとす る)の場合は16-20、21-25...と移動しま す。 ジオメトリー表示線の変更機能追加 従来のCGVIEWでは線表示の時の線の太さは1ピクセルの固定で あったが取り込んだ画像を拡大すると線が細いため表示が粗く なってしまう。 そこで線の太さを任意に変更できるよう機能を追加した。線の 太さは[設定]-[表示設定]メニューで表示される下画面で指定する。 指定した線幅×ピクセルが表示する線の太さとなる。デフォルト は今までどおり1とした。
© Copyright 2024 ExpyDoc