三次元空間への多角形及び格子による面の描画


面データの種類

PostPlot3D1.0では面データとして以下の4種類のデータ形式が使用できます。
二次元格子
多重二次元格子
三角形要素
四角形要素
面データでは以下の表現が出来ます。
・ワイヤーフレーム表示
・陰線処理
・クライテリア表示
・等高線表示

 


二次元格子


二次元格子はPostPlot3Dで面を描画する最も簡単なデータ形式です。
ユーザーはix×iy個の格子上に並んだ二次元物理量を用意し、これを順にテキストファイルに格納すれば良いのです。postPlot3Dは自動的にx-y平面にix×iy個の格子データを作成し、物理量をz座標にプロットします。具体的な例を以下に示します。

サンプル1

この9×4のデータを2DLatticeデータとして読み込みたい場合、以下の書式でテキストファイルを作成します。
#---------------------------------
9 4
0 -1 -1.5 -1 0 1 1.5 1 0
0 -1 -1.5 -1 0 1 1.5 1 0
0 -1 -1.5 -1 0 1 1.5 1 0
0 -1 -1.5 -1 0 1 1.5 1 0
#---------------------------------

作成したファイルは「File〜Open 2D lattice data」メニューで読み込みます。データ入力結果は以下のようになります。


2DLatticeでは、実際のx,y座標は0≦x≦ix、0≦y≦iyの範囲で表示されます。テキストファイルで与える物理量はそのままz座標として使用されますので、鳥瞰図として使用する場合はテキストファイル側で適宜見やすい高さに変換して下さい。

サンプル2

関数z=exp(0.2x)sin(y)の曲面
データ作成用ソースコード
FORTRAN
2DLatticeデータファイル
2dlat_sample2.dat(152K)

#----------------------------結果

トップへ戻る 


 



多重二次元格子

多重二次元格子と上記の二次元格子ファイルとは以下の三点で異なります。
・複数の二次元格子を描画できる
・ファイル内で節点座標を指定する
・節点毎に物理量を付与する(スカラー量)
すなわち、もしユーザーが自分で座標を指定して二次元格子を描画したい場合、多重二次元格子ファイルフォーマットを使用することになります。
二次元格子ファイルの書式の具体例を以下に示します。

サンプル1


ix×iy=5×4の二枚の格子データ

以上の2枚の格子データをM2DLatticeデータとして読み込みたい場合、以下の書式でテキストファイルを作成します。
 この書式では、Lは独立したオブジェクト数を示します。具体的には、サンプル1ではL=2となります。格子数ix,iyはオブジェクト単位で設定します。また、物理量pはVelocity Magnitudeとして認識されますので、等高線表示等を行う場合はVelocity Magnitudeを指定して下さい。さらに多くの物理量(Pressure, Velocity, ViscosityおよびLocal shear)を割り当てたい場合はresファイルを読み込むことで対応することが出来ます。

#---------------------------------
L
ix1 iy1
x(1) y(1) z(1) p(1)
x(2) y(2) z(2) p(2)
x(3) y(3) z(3) p(3)
.
.
x(n1) y(n1) z(n1) p(n1)

ix2 iy2
x(n1+1) y(n1+1) z(n1+1) p(n1+1)
x(n1+2) y(n1+2) z(n1+2) p(n1+2)
x(n1+3) y(n1+3) z(n1+3) p(n1+3)
.
.
x(n1+n2) y(n1+n2) z(n1+n2) p(n1+n2)

#※但しn1=ix1*iy1, n2=ix2*iy2

#---------------------------------
具体的なデータを見るには、ここをクリックして下さい。

#---------------------------------
データを見る
#---------------------------------

作成したファイルは「File〜Open Multi 2D lattice data」メニューで読み込みます。データ入力結果は以下のようになります。
#---------------------------------
結果


テキストファイルで与えた物理量pは、PostPlot 3D内ではVelocity Magnitudeとして認識されます。コントア表示するには、「Plot Results〜Velocity Magnitude」メニューを選択して下さい。

多重二次元格子データセットでは座標を自由に決められるため、以下のサンプルに示すようなかなり自由度の高い曲面を作成することが出来ます。

サンプル2

データ作成用ソースコード
FORTRAN
2DLatticeデータファイル
donuts.dat(88K)

#----------------------------結果



サンプル3

トップへ戻る


 


四角形及び三角形要素


 三角形及び四角形要素は、座標データ以外に要素毎に要素結合情報を持つデータ形式で、有限要素法等の技術計算で使用されるデータ形式です。このデータ形式は節点が必ずしも格子状に並んでいる必要が無いため、非常に柔軟な曲面形状を作成することが可能です。

PostPlot3Dではこれらの要素形状を読み込むために、有限要素法解析で広く使用されるユニバーサルファイルを使用します。但し、PostPlot3Dでは形状読み込みしか行いませんので、サポートするIDは座標を格納する2411及び要素結合表を格納する2412のみとします。また、取り扱える要素形状は三節点三角形要素及び四節点四角形要素のみとします。

これらの要素では、ユーザーは節点座標のみでなく要素結合情報をも作成しなければならないため、データ作成は容易ではありませんが、PostPlot3Dでは三角形要素の自動生成機能を持っていますので、二次元散布データからのコントア作成等に活用することができます。

----------------------------------------------------------------------------
Universal Dataset Number: 2411

Name: 倍精度節点
Status: Current
Owner: Simulation
Revision Date: 23-OCT-1992
----------------------------------------------------------------------------

Record 1: FORMAT(4I10)
Field 1 -- 節点ID
Field 2 -- 出力座標系ID(PostPlot 3Dでは使用しない)
Field 3 -- 変位座標系ID(PostPlot 3Dでは使用しない)
Field 4 -- 節点色(PostPlot 3Dでは使用しない)
Record 2: FORMAT(1P3D25.16)
Fields 1-3 -- 座標

Records 1と2を繰り返して表記します。
未使用フィールドにはダミーパラメータ(0など)を入力して下さい。

例:

-1
2411
121 0 0 0
5.0000000000000000D+00 1.0000000000000000D+00 0.0000000000000000D+00
122 0 0 0
6.0000000000000000D+00 1.0000000000000000D+00 0.0000000000000000D+00
-1



-----------------------------------------------------------------------
Universal Dataset Number: 2412

Name: 要素
Status: Current
Owner: Simulation
Revision Date: 14-AUG-1992
-----------------------------------------------------------------------

Record 1: FORMAT(6I10)
Field 1 -- 要素ID
Field 2 -- 未使用
Field 3 -- 未使用
Field 4 -- 未使用
Field 5 -- 未使用
Field 6 -- 1要素内の節点数

Record 2: *** FOR NON-BEAM ELEMENTS ***
FORMAT(8I10)
Fields 1-n -- 要素を定義する節点番号


Records 1 と2 を繰り返して表記します。
PostPlot3D ver.1.0では梁要素はサポートしません。
未使用フィールドにはダミーパラメータ(0など)を入力して下さい。

例:

-1
2412
1 0 0 0 0 4
1 2 6 7
1 0 0 0 0 4
3 4 8 9
-1
-------------------------------------------------------------------------

--------------------------------------------------------------------------


要素結合表は以下のようにして作成します。
#--------------------------------sample1 

 

このメッシュの入力データは以下のようになります。
要素結合情報は、要素1に対しては1,2,7,6、要素2に対しては2,3,9,7というように、各要素を囲む節点番号を時計回りまたは反時計回りに書き込んでゆきます。

#-----------------------------
-1
2412
1 0 0 0 0 4
1 2 7 6
2 0 0 0 0 4
2 3 9 7
3 0 0 0 0 4
3 4 11 9
4 0 0 0 0 4
4 5 11 10
5 0 0 0 0 3
7 9 8
6 0 0 0 0 3
7 8 12
7
0 0 0 0 4
6 7 16 15
8 0 0 0 0 4
7 12 17 16
9 0 0 0 0 4
12 13 18 17

10 0 0 0 0 4
13 14 19 18

-1
-1
2411
1 0 0 0
0.0 2.0 0.0
2
0 0 0
2.0 2.0 0.0
3
0 0 0
4.0 2.0 0.0
4
0 0 0
5.0 2.0 0.0
5
0 0 0
6.0 2.0 0.0
6
0 0 0
0.0 0.0 0.0
7
0 0 0
2.0 0.0 0.0
8
0 0 0
4.0 0.0 0.0
9
0 0 0
4.0 1.0 0.0
10
0 0 0
5.0 1.0 0.0
11
0 0 0
6.0 1.0 0.0
12
0 0 0
4.0 -1.0 0.0
13
0 0 0
5.0 -1.0 0.0
14
0 0 0
6.0 -1.0 0.0
15
0 0 0
0.0 -2.0 0.0
16
0 0 0
2.0 -2.0 0.0
17
0 0 0
4.0 -2.0 0.0
18
0 0 0
5.0 -2.0 0.0
19
0 0 0
6.0 -2.0 0.0
-1
#-----------------------------
メッシュ入力結果

一般に四角形を含む有限要素メッシュは作成が容易ではありませんが、PostPlot3Dは二次元三角形要素の自動生成機能を持っています。これを使用すると、以下のようなメッシュを作成、表示することができます。
注:version0.80bではまだメッシュ自動生成機能は使用できません。

ビットマップデータからの輪郭座標の読み取り

境界データからの三角形メッシュの自動生成(内部節点を自動生成)

トップへ戻る