地球磁気圏などの3次元シミュレーション結果をよりよく理解するためには、 3次元可視化は不可欠である。ここに、インターネット3次元可視化のための 国際標準言語VRML(Virtual Reality Modeling Language)の登場のよって、 3次元画像処理専用機と3次元画像処理専用ソフトウエアを持たなくても、 VRMLファイルとVRMLのビューア(cosmoplayerなど)さえあれば誰でも3次元画 像を自分の好きなよ うに見ることができるようになった。そのVRML3次元画像ファイルをFortran によって作成する方法と例題、及びVRMLコンテンツ作成用のインターフェース サブルーチンパッケージを示す。
1. 基本的な例題 (1)
Fortranプログラムを用いて、VRML2.0型式の画像ファイルを作成する基本的な例題を示す。 具体的には、各メインプログラムとサブルーチンパッケージ:pk1subrtn.fをコンパイル・ リンク・実行してVRML2.0型式の画像ファイルを作成する。 使用方法: 1. f77 -c -O pk1subrtn.f サブルーチンパッケージ(pk1subrtn.f)をコンパイルしてオブジェクトモジュール (pk1subrtn.o)を作成する。 2. f77 -O box1.f pk1subrtn.o メインプログラム(box1.f etc.)とオブジェクトモジュール(pk1subrtn.o)をリン クして実行ファイル(a.out)を作成する。 3. a.out 実行ファイル(a.out)を実行してVRML 2.0 ファイル(fort.10)を作成する。 4. mv fort.10 box1.wrl 作成したVRMLのファイル名を“***.wrl“に変更する。
No. | Contents | Fortran Program | VRML file | gif file |
サブルーチンパッケージ | pk1subrtn.f | |||
1 | 立方体 | box1.f | box1.wrl | box1.gif |
2 | 直方体 | box2.f | box2.wrl | box2.gif |
3 | 三角柱 | cone1.f | cone1.wrl | cone1.gif |
4 | 円柱 | cylinder1.f | cylinder1.wrl | cylinder1.gif |
5 | 球 | sphere1.f | sphere1.wrl | sphere1.gif |
6 | 背景色 | backgrd4.f | backgrd4.wrl | backgrd4.gif |
7 | 文字列 | text1.f | text1.wrl | text1.gif |
8 | 折れ線 1色 | lineset1.f | lineset1.wrl | lineset1.gif |
9 | 折れ線 グラデーション | lineset2.f | lineset2.wrl | lineset2.gif |
10 | 点線 1色 | pointset1.f | pointset1.wrl | pointset1.gif |
11 | 点線 グラデーション | pointset2.f | pointset2.wrl | pointset2.gif |
12 | 太い矢印 | arrow2.f | arrow2.wrl | arrow2.gif |
13 | 太さのある曲線 | linemesh1.f | linemesh1.wrl | linemesh1.gif |
14 | 面1 | mesh1.f | mesh1.wrl | mesh1.gif |
15 | 面2 | triangb1.f | triangb1.wrl | triangb1.gif |
16 | 面3 | triangm1.f | triangm1.wrl | triangm1.gif |
17 | 立体 | defusem1.f | defusem1.wrl | defusem1.gif |
18 | テクスチャ画像の貼りつけ | image1.f | image1.wrl | image1.gif |
19 | 複雑な表面 | ebmesh3d.f | ebmesh3d.wrl | ebmesh3d.gif |
2. 基本的な例題 (2)
Fortranプログラムを用いて、VRML 2.0形式の画像ファイルを作成する基本的でかつ シミュレーションデータの解析応用にそのまま利用できる例題を示す。具体的には、 各メインプログラムとサブルーチンパッケージ:zvrsuba.fをコンパイル・リンク・ 実行してVRML 2.0形式の画像ファイルを作成する。 使用方法: 1. f77 -c -O zvrsuba.f サブルーチンパッケージ(zvrsuba.f)をコンパイルしてオブジェクトモジュール (zvrsuba.o)を作成する。 2. f77 -O msymbol.f zvrsuba.o メインプログラム(msymbol.f etc.)とオブジェクトモジュール(zvrsuba.o)をリ ンクして実行ファイル(a.out)を作成する。 3. a.out 実行ファイル(a.out)を実行してVRML 2.0 ファイル(fort.10)を作成する。 4. mv fort.10 msymbol.wrl 作成したVRMLのファイル名を“***.wrl“に変更する。
No. | Contents | Fortran Program | VRML file | gif file | jpg file | rgb file |
サブルーチンパッケージ | zvrsuba.f |
|||||
1 | 文字を描く | msymbol.f | msymbol.wrl | msymbol.gif | ||
2 | 点を描く | mpoint.f | mpoint.wrl | mpoint.gif | ||
3 | 線を描く | mline.f | mline.wrl | mline.gif | ||
4 | 三角メッシュを描く | mtriangm.f | mtriangm.wrl | mtriangm.gif | mtriangm.jpg | mtriangm.rgb |
5 | ピクセルイメージを描く | mzpt03.f | mzpt03.wrl | mzpt03.gif | mzpt03.jpg | mzpt03.rgb |
6 | 枠とピクセルイメージと文字を描く | mpixe015.f | mpixe015.wrl | mpixe015.gif | mpixe015.jpg | mpixe015.rgb |
7 | 等値面を描く | mcube301.f | mcube301.wrl | mcube301.gif | mcube301.jpg | mcube301.rgb |
3. MHDシミュレーションへの応用
太陽風と地球磁気圏の3次元グローバルMHDシミュレーションから得られた朝夕非対称の 3次元磁気圏データをインプットに用いて、VRMLファイルを作成する具体的な応用例を示す。
No. | Contents | Fortran Program | VRML file | gif file |
サブルーチンパッケージ | zvrsuba.f | |||
1 | 地球磁気圏のプラズマ温度などの断面図をピクセルイメージで描く | zvrcroa.f | zvrcroa.wrl | zvrcroa.gif |
2 | 地球磁気圏の3次元構造を描く | zvrmaga.f | zvrmaga.wrl | zvrmaga.gif |
3 | ピクセルイメージと磁力線の3次元画像の合成 | zvr01.wrl | zvr01.gif | |
サブルーチンパッケージ | zvrsuba.f | |||
4 | 地球磁気圏のプラズマ温度分布を多重ピクセル面イメージを使って描く | zvrmpxa.f | fa410zx.wrl fa410yz.wrl fa410xy.wrl fa410xyz.wrl |
fa410zx.gif fa410yz.gif fa410xy.gif fa410xyz.gif |
4. 3-Dimensional MHD Simulation of Earth's Magnetosphere
(Example to execute the MHD Code and Graphic programs)
No. | Contents | Fortran Main Program | Subroutine Package | PostScript file | VRML file or gif file |
3D MHD simulation of 1/4 earth's magnetosphere | earthb10.f | ||||
Graphics program to make PostScript files | |||||
1 | noon-midnight meridian and equatorial plots (black and white) | gm150b.f | gsub150.f | gm150b.ps | gm150b.gif |
2 | energy distribution of cross section | gm220b.f | gsub220.f | gm220b.ps | gm220b.gif |
3 | 3-dimensional magnetic field lines | gm480b.f | gsub480b.f | gm480b.ps | gm480b.gif |
3-dimensional graphics program by VRML files (Virtual Reality Modeling Language) | |||||
1 | 3-dimensional magnetic field lines | zvrmagb.f | zvrsuba.f | zvrml1b.wrl zvrml1b.jpg |
|
2 | cross sectional pattern by pixel image | zvrcrob.f | zvrsubb.f |
5.Visualization to Various 3-dimensional MHD Models of Earth's Magnetosphere
5-a. Half volume model of earth's magnetosphere with IMF By and Bz components
No. | Contents | Fortran Main Program | VRML file | gif file |
Subroutine Package | zvrsuba.f | |||
1 | 3-dimensional magnetic field lines | zvrmaga.f | fa410w.wrl | fa410w.gif fa410s.gif |
2 | cross sectional pattern by pixel image | zvrcroa.f | ||
3 | cross sectional pattern by velocity vectors | zvrvela.f | ||
4 | 3-dimensional pixel image with multi-planes | zvrmpxa.f | fa410xyz.wrl fa410yz.wrl |
fa410xyz.gif fa410yz.gif |
5-b. Quarter volume model of earth's magnetosphere
No. | Contents | Fortran Main Program | VRML file | gif file |
Subroutine Package | zvrsubb.f | |||
1 | 3-dimensional magnetic field lines | zvrmagb.f | fb240w.wrl fbq240w.wrl |
fb240w.gif fb240s.gif fbq240w.gif fbq240s.gif |
2 | cross sectional pattern by pixel image | zvrcrob.f zvrcrobq.f |
||
3 | cross sectional pattern by velocity vectors | zvrvelb.f zvrvelbq.f |
||
4 | 3-dimensional pixel image with multi-planes | zvrmpxb.f | fb240xyz.wrl fb240yz.wrl |
fb240xyz.gif fb240yz.gif |
5-c. Half volume model of earth's magnetosphere with dipole tilt
No. | Contents | Fortran Main Program | VRML file | gif file |
Subroutine Package | zvrsubc.f | |||
1 | 3-dimensional magnetic field lines | zvrmagc.f | fc360w.wrl | fc360w.gif fc360s.gif |
2 | cross sectional pattern by pixel image | zvrcroc.f | ||
3 | cross sectional pattern by velocity vectors | zvrvelc.f | ||
4 | 3-dimensional pixel image with multi-planes | zvrmpxc.f | fc360xyz.wrl fc360yz.wrl |
fc360xyz.gif fc360yz.gif |
5-d. Whole volume model of earth's magnetosphere
No. | Contents | Fortran Main Program | VRML file | gif file |
Subroutine Package | zvrsubd.f | |||
1 | 3-dimensional magnetic field lines | zvrmagd.f | fde180w.wrl | fde180w.gif fde180s.gif |
2 | cross sectional pattern by pixel image | zvrcrod.f | ||
3 | cross sectional pattern by velocity vectors | zvrveld.f | ||
4 | 3-dimensional pixel image with multi-planes | zvrmpxd.f | fde180xyz.wrl fde180yz.wrl |
fde180xyz.gif fde180yz.gif |