1.液滴画像の読み込み
・概要
- 初期状態となる画像を読み込み、粒子化(規定のピクセル数に離散化)します。既存の画像を使うか、あるいは新たに作成してもよい。後者の場合は、拡張子「ppm」,「tiff」,「bmp」がつくものにしてください。
・書式
- 英語表記: LoadImage ( “画像ファイル名” ) ;
- 日本語表記: 液滴画像読み込み ( “画像ファイル名” ) ;
・引数
- 画像ファイル名:読み込ませる画像ファイル名を指定します。
PPM、TIFF、BMP形式の画像フォーマットに対応しており、判別は拡張子で行います。
・書式例
- LoadImage ( “sample1.bmp” ) ;画像ファイルsample1.bmpを液滴画像として読み込みます。
液滴画像読み込み ( “sample2.tif” ) ;画像ファイルsample2.tifを液滴画像として読み込みます。
注意: 自分で作った画像を初期画像とする場合で、縦横のサイズが等しくない場合は、長いほうが長さ1となります。短い方では、画像の両端に空白が表示されます。
2.攪拌円柱の設定
・概要
- 液滴画像を攪拌する円柱の設定を行います。(##個まで指定可能) 各円柱には、インデックスと呼ばれる番号付けをします。
・書式
- 英語表記: SetCylinder ( インデックス, 横方向位置, 縦方向位置, 半径 ) ;
- 日本語表記: 円柱設定 ( インデックス, 横方向位置, 縦方向位置, 半径 ) ;
・引数
- インデックス: 円柱のインデックスを指定します。(0 番〜 )
- 横方向位置: 円柱の横方向位置を指定します。( 0.0 〜 1.0 )
- 縦方向位置: 円柱の縦方向位置を指定します。( 0.0 〜 1.0 )
- 半径: 円柱の半径を指定します。
・書式例
- SetCylinder ( 0, 0.5, 0.5, 0.1 ) ;
- 液滴画像の中心に半径0.1の攪拌円柱を設定します。
- 円柱設定 ( 1, 0.25, 0.5, 0.3 ) ;
- 横方向0.25 縦方向0.5の位置に半径0.3の攪拌円柱を設定します。
3.粘性指数設定
・概要
- 流体の粘性指数を設定します。粘性指数とは、円柱の回転にともなって周囲の流体が引きずられて円柱の周りをまわるときの、追従性の強さを表す数です。ハチミツや水あめのように高粘性の液体では2とし、水のようにさらさらした液体では2より大きく、固まりかけたのりのような物質だと2より小さく設定するとよい。
・書式
- 英語表記: SetIndex ( 粘性指数 ) ;
- 日本語表記: 粘性設定( 粘性指数 ) ;
・引数
- 粘性指数: 0.0か、正の数を設定します。(大きくても10位にしましょう)
・書式例
- SetIndex ( 1.0 ) ;
- 粘性指数を1.0に設定します。
- 粘性指数設定 ( 0.5 ) ;
- 粘性指数を0.5に設定します。
・備考
- 円柱の回転角度が流体(この場合画像の各々の点)の移動に与える計算式
- 流体のステップ毎回転角度 =
円柱のステップ毎回転角度 /( 0.01 + (円柱の中心からの距離/円柱の半径) 粘性指数 )
- なお、分母の「0.01+」は、理論的には不要です。しかし、万一分母が0になると計算がストップするので、危険防止のためにつけました。
- 流体が上の式に支配されて回転するとき、場合によっては他の円柱の内部に入り込むことがあります。これは実際には起きないことなので、円柱内に入った液体を円柱外に排除する操作をしています(これは、プログラム実行中に自動的におこないます)。
4.円柱の回転設定
・概要
- 攪拌円柱の回転手順を設定します。回転の向き、角度,回転する期間のいずれも任意に設定できます。角度は、1周を360とし、反時計回りを正、時計回りを負の角度で与えます。
・書式
- 英語表記: SetRotation ( 対象円柱インデックス, 開始ステップ,
- 終了ステップ, ステップ毎回転角度 ) ;
- 日本語表記: 円柱回転設定( 対象円柱インデックス, 開始ステップ,
- 終了ステップ, ステップ毎回転角度 ) ;
・引数
- 対象円柱インデックス: 設定したい円柱のインデックス
- 開始ステップ: 回転を開始させるステップ
- 終了ステップ: 回転を終了させるステップ
- ステップ毎回転角度: ステップ毎の回転角度
・書式例
- SetRotation ( 0, 10, 200, 15. ) ;
- 円柱インデックス0に対して、10ステップから200ステップまで、毎ステップ15度づつ反時計まわりに回転します。
- 円柱回転設定 ( 1, 0, 200, -30 ) ;
- 円柱インデックス1に対して、0ステップから200ステップまで、毎ステップ
- 30度づつ時計まわりに回転します。
- SetRotation ( 0, 0, 1, 180 ) ;
- SetRotation ( 1, 1, 2, 180 ) ;
- SetRotation ( 0, 2, 3, ー180 ) ;
- SetRotation ( 1, 3, 4, ー180 ) ;
- 円柱1、円柱2の順にそれぞれ180度ずつ反時計回りにまわし、次に円柱1、
- 円柱2の順にそれぞれ180度ずつ時計回りにまわします。
5.画像キャプチャの設定
・概要
- 指定したステップでのシミュレーション結果を画像キャプチャします。
・書式
- 英語表記: SetCaptureImage ( ステップ, “画像ファイル名” ) ;
- 日本語表記: 画像キャプチャ ( ステップ, “画像ファイル名” ) ;
・引数
- ステップ: キャプチャしたいステップを指定
- 画像ファイル名: キャプチャした画像をファイル化する際の画像ファイル名
- 画像フォーマットは、拡張子により設定。( BMP, TIFF, PPM )
・書式例
- SetCaptureImage ( 20, “capt1.bmp” ) ;
- 20ステップ目のイメージをキャプチャし、画像ファイルcapt1.bmpに書き込みます。
- 画像キャプチャ ( 100, “capt2.tif” ) ;
- 100ステップ目のイメージをキャプチャし、画像ファイルcapt1.bmpに書き込みます。
|