JP6093704B2 - 描画装置、描画方法及び描画プログラム - Google Patents

描画装置、描画方法及び描画プログラム Download PDF

Info

Publication number
JP6093704B2
JP6093704B2 JP2013533419A JP2013533419A JP6093704B2 JP 6093704 B2 JP6093704 B2 JP 6093704B2 JP 2013533419 A JP2013533419 A JP 2013533419A JP 2013533419 A JP2013533419 A JP 2013533419A JP 6093704 B2 JP6093704 B2 JP 6093704B2
Authority
JP
Japan
Prior art keywords
streamline
node
quadrilateral
stream line
viewpoint
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013533419A
Other languages
English (en)
Other versions
JPWO2013038548A1 (ja
Inventor
正宏 渡邉
正宏 渡邉
真智子 中川
真智子 中川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2013038548A1 publication Critical patent/JPWO2013038548A1/ja
Application granted granted Critical
Publication of JP6093704B2 publication Critical patent/JP6093704B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/24Fluid dynamics

Description

本発明は、描画装置、描画方法及び描画プログラムに関する。
近年、計算機シミュレーションは、計算機の計算能力の向上により、様々な分野で利用されるようになってきた。そして、計算機シミュレーション結果のデータ量は、計算機の計算能力の向上とともに増加傾向にあり、特に高度科学技術計算(HPC:High Performance Computing)の分野においては、従来よりもデータ量が膨大なものとなっている。
図1は、計算機シミュレーション結果を可視化した例を示している。図1は、立方体内に存在する流体の流れを示している。流体は、流体を構成している分子が時間と共にその位置を変えている。特定の流体の分子に着目し、その分子が時間の経過によって流体内を移動する軌跡を流線と呼ぶ。計算機シミュレーションにより、1つ以上の開始点を予め定めておき、その開始点から複数の流線を計算することができる。流線自体は、幅を持たない線であるため、計算機シミュレーションのデータから流線だけを描画しても、人間が把握することが容易ではない。このため、図1に示されるように、流線をチューブ状のオブジェクトとして三次元空間上に配置する。そして、視点位置を定め、三次元空間上に配置したオブジェクトを視点位置から見える二次元グラフィック表示としてレンダリング(描画処理)を行うことにより、流線の可視化が実現できる。
上述の流線の可視化を行う際には、様々な視点位置および視点方向からの観察が求められる。この場合、三次元形状のチューブの表面を複数のポリゴンで表現することが知られている。チューブに対して、特定の光源からのシェーディング(陰影処理)を施す。チューブの位置における物理値(例えば、流体の速度、温度等)に応じて色づけ又は模様づけをするためにテクスチャマッピングを行う。そして、定められた視点位置および視点方向から見える二次元画像を形成するために、レンダリングを行うこととなる。計算機シミュレーションのデータ量は、従来よりも膨大な量(テラバイト〜ペタバイト単位のデータ量)となる。このため、1回のレンダリングに従来よりも多くの時間を要する。しかも、視点位置および視点方向を変えた場合には、レンダリングを再度行わなければならない。
例えば、人物をVR空間において表示しようとする場合、モデルを複数の平面で捉え、視点位置及び視点方向情報に基づき、これらの複数の平面のうち、少なくとも1つの平面を選択し、選択された平面の情報にのみに基づき表示処理する技術が知られている。しかしながら、この技術では、視点位置及び視点方向に対応して、モデルに対して複数の平面を予め用意しておく必要があり、用意すべき平面の数が多くなってしまう。
また、三次元画像データによる物体の周囲に複数の投影面を設定し、各投影面に物体の見える面を平行投影し、各投影面の投影画像から物体表面の色データを持つテクスチャ画像を生成する。そして、これらの投影面毎のテクスチャ画像との対応関係を示す関連情報を付加した三次元形状データを生成する。三次元形状データで表現される物体を任意の視点方向から見た二次元画像データを生成し、そのテクスチャ関連情報に基づいて各投影面のテクスチャ画像を多重的にマッピングして物体を再現する技術が知られている。
また、三次元仮想空間に設定した物体、光源及び視点に基づいて前記空間の情景(シーン)を表す二次元画像を生成するために、物体のモデルデータを視点の座標系に変換し、視点座標系によるモデルデータを投影面に投影し、視点からの着目物体方向等を基準として、各物体のレンダリング方法を切り替える技術が知られている。
図2Aは、ワイヤーフレームで閉じられた多数のポリゴンで表現された流線を可視化したチューブ状のワイヤーフレームを示している。また、図2Bは、流線の可視化処理の流れを示している。上述のように、これらのポリゴンの数は年々増加傾向にある。そして、各空間位置には、物理値が存在している。物理値の例としては、渦度などのスカラー値、速度、応力などのベクトル値、せん断応力などのテンソル値などがある。まず、ステップ210で、シミュレーション結果等のデータを入力する。そして、ステップ220で、必要に応じて、数値データに対しフィルタ処理などの加工を施す。その後、ステップ230で、まず流線を計算する。図2Aで示したように、流線をチューブ状として表現するために、多数のポリゴンによるチューブ状の形状を生成する。そして、ステップ240でグラフィック処理によるシェーディング等を行った後、レンダリングを行なう。物理値は、ポリゴン上に色などを用いて表現する。
このように、計算機シミュレーションによる物理値は近年増加しており、しかも従来より多数のポリゴンを有するチューブの形状に色とシェーディングを付与して二次元画像をレンダリングする必要がある。このためには、従来より膨大な計算量及び長時間を要する。
加えて、視点を遮る陰面の透過処理を行わない場合や視点を動かさない通常の三次元可視化処理においては、隠面側の視点から見えない形状については、可視化のために必ずしも計算しなくてよい。しかしながら、自由に視点を動かして観察することが必要となる計算機シミュレーションデータ等の可視化の場合には、隠面側の視点から見えない形状についても、可視化のために計算を行っておくことが必要となる。
特開平10−222692号公報 特開平10−283487号公報 特開2003−115055号公報
1つの側面では、本発明は、数値シミュレーション結果を表示する際の処理負荷の軽減を図ることを目的とする。
本装置の一観点によれば、三次元空間における流体の流れを表す流線を、任意の視点位置から見た二次元画像として描画する描画装置において、所定の開始位置から流線を生成する流線生成部と、前記視点位置を前記三次元空間内に設定するビュー設定部と、複数の多角形面を連結した帯状面を、前記設定された視点位置に基づき、前記流線に沿うように形成する帯状面形成部と、前記三次元空間の所定位置に配置された光源に対する前記帯状面の反射光を表すテクスチャを、前記複数の多角形面の各々にマッピングするテクスチャマッピング部を有することを特徴とする描画装置が提供される。
数値シミュレーション結果を表示する際の処理負荷の軽減を図ることができる。
計算機シミュレーション結果の可視化の例を示す図である。 多数のポリゴンで表現されたチューブによって流線を示す図である。 流線の可視化処理の流れを示す図である。 流線を示す図である。 流線に沿って四辺形を連結した帯状面を形成する処理を示す図である。 流線に沿って四辺形を連結した帯状面を形成する処理を示す図である。 流線に沿って四辺形を連結した帯状面を形成する処理を示す図である。 流線に沿って四辺形を連結した帯状面を形成する処理を示す図である。 法線マップを示す図である。 反射光と物理値に対応するカラーテクスチャのマッピングを示す図である。 物理値とテクスチャの色とのマッピングを示す図である。 物理値とチューブの太さとのマッピングを示す図である。 2つの物理値をチューブの太さと色にマッピングした例を示す図である。 視点Iaに対する四辺形の向きの決定を示す図である。 視点Ibに対する四辺形の向きの決定を示す図である。 視点Ibに対する四辺形の向きの決定を示す図である。 一実施形態の処理フローを示す図である。 一実施形態の処理装置を示すブロック図である。 一実施形態のハードウエア構成を示す図である。 四辺形の傾きを変更した場合の四辺形の修正を示す図である。 四辺形の傾きを変更した場合の四辺形の修正を示す図である。
図3は、三次元空間上に満たされた流体(不図示)の流線L300を示している。一般に、ある瞬間における各点の流体分子の速度ベクトルに沿ってできる曲線を「流線」という。また、同一の開始点から次々と流れる複数の流体分子をある瞬間に結んでできる曲線を「流脈線(流条線)」という。そして、一つの流体分子の移動経路を継続追跡して描かれる曲線を「流跡線」という。定常な流れでは、これら三者は同一となるが、非定常な流れでは異なる線となる。本明細書においては、上記の「流線」、「流脈線(流条線)」及び「流跡線」を、便宜上総称して「流線」の語を用いて説明する。本明細書に記載された複数の実施例は、これら三者のいずれにも適用できることは言うまでもない。
図3において、流線L300は、各時間ステップのベクトル場を入力データとして、本出願の出願日時点で当業者に知られているRunge-Kutta法、あるいは、Dormand-Prince法により、流線L300を計算することができる。流線L300には、曲率の大きな特徴部分に点(節点)P301乃至P306を配置してもよい。
図4A乃至図4Dは、流線に沿って四辺形を連結した帯状面を形成する処理を示している。なお、本実施形態では、四辺形(矩形)を用いているが、四辺形以外の多角形面を用いてもよい。
図4Aにおいて、三次元空間上に視点I及び視線ベクトルVを設定する。この視点I及び視線ベクトルVは、ユーザによって指定されてもよい。ユーザからの指定がない場合は、予め定められた視点Iの位置及び視点ベクトルVの値を用いてもよい。また、様々な角度から、流線を観察するために、これらの値は、ユーザにより適宜変更されてもよい。指定された視点I及び視線ベクトルVの情報は、記憶部に記憶され、本実施例のシステムによって利用される。
開始位置P401から終端位置Pendまで、流線L400が示されている。まず、流線L400の開始位置P401と、隣の節点P402を含むように、四辺形M410を生成する。四辺形M410の辺H401上に開始位置P401が存在し、辺H402上に節点P402が存在するようにしてもよい。節点を通る辺H401、H402は、予め定められた一定の長さとしてもよい。あるいは、節点における物理値(例えば、流体の速度、温度)に応じて、辺の長さを決定してもよい。四辺形M410は、4つの頂点(P401a、P401b、P402a、P402b)を持つ。四辺形M410の面の傾きは、視点Iから四辺形M410が見える面積が最大となるように決定される。同様に、節点P402と節点P403を用いて、四辺形M420を生成する。四辺形M420は、節点P402を通る辺H402と、節点P403を通る辺H403を持ち、4つの頂点(P402a、P402b、P403a、P403b)を有する。そして、四辺形M410と四辺形M420は、辺H402を共有する。なお、各々の四辺形は、必ずしも長方形又は正方形である必要はなく、平行四辺形又は台形となってもよい。あるいは四辺形以外の三角形やその他の多角形でもよい。以上の操作を繰り返し、終端位置Pendまで、四辺形を生成する。この操作によって、複数の四辺形により接続された帯状面Q400が流線L400に沿って形成される。なお、各四辺形の面の向きをどのように決定するかのアルゴリズムの詳細は後述する。
図4Bは、着目する流線と平行になるように新たな流線をコピーする操作を示している。この操作は、図4Cで後述するように、四辺形の数を増やし、帯状面Q400を滑らかにするための前処理として位置づけられる。四辺形を適切な数だけ生成する処理は、ここで述べる方法以外にもあり得る点に留意すべきである。例えば、図4Aにおいて、予め節点の数を増やしておき、四辺形を生成してもよい。流線L400を挟むように、流線L400に近似した近似流線L400a及びL400bを描く。L400aは、四辺形の頂点P401a、P402a、P403a、...、Pendaを通るように、流線L400を平行移動して生成した曲線としてもよい。同様に、四辺形の頂点P401b、P402b、P403b、...、Pendbを通る曲線L400bを生成する。なお、本実施形態では、着目する流線を挟むように2つの新たな曲線を生成したが、新たな流線を1つだけ生成してもよい。
図4Cは、辺を追加することにより、四辺形の数を増加させる操作を示している。例えば、辺H401と辺H402の間に、辺H401aが追加されている。同様に、辺H402と辺H403の間に、辺H402aが追加されている。
辺の追加は、例えば以下のように行えばよい。
(1)各流線において隣り合う2つの節点を結ぶ線分の勾配(勾配ベクトル)を求める。
(2)2つの節点を結ぶ線分勾配の差が、予め定められた閾値thより大きい場合、例えば、その2つの節点の中間点に新たな節点を生成する。
(3)各流線において生成した新たな節点を結ぶ新たな辺を生成する。
(4)新たな辺と、隣接する既存の辺とで構成される四辺形を生成する。
以上の操作により、例えば、辺H401と、新たな辺H401aとを持つ新たな四辺形を形成することができる。同様に辺H401aと辺H402とで、新たな四辺形を形成する。この操作を繰り返すことにより、四辺形の数を増加させることができる。なお、上述のように、四辺形の増加の方法は、この実施形態に限定されない。
なお、上記(2)の処理において、2つの節点の中間点以外に新たな節点を生成しても良い。
図4Dは、三角形のポリゴンを形成する操作を示している。ポリゴンとは、立体形状を三次元的に表現する場合に用いられる当該立体形状の表面を分割する多角形である。計算のしやすさを考慮した場合、ポリゴンとして三角形が用いられる。本実施形態では、三角形のポリゴンを形成している。例えば、四辺形に一本の対角線m401を引くことにより、三角形のポリゴンPg401とPg402が形成される。対角線m401乃至m404を引くことにより、ポリゴンPg401乃至Pg408が形成される。三角形のポリゴンを形成することにより、汎用的な三次元グラフィクスソフト及びレンダリングハードウエアを用いて処理を行うことが容易となる。なお、この段階で、四辺形の辺のうち、流線と交叉している辺の長さを、流線のその位置での物理値に基づいて伸縮させてもよい。辺の長さを伸縮させることにより、チューブの太さを変化させることができる。辺の長さの伸縮は、適切な他の処理段階で行ってもよいことは言うまでもない。なお、最終的なチューブ形状に見える二次元画像をレンダリングするために、ポリゴンを生成することは必須ではない。
従来技術では、流線1本あたりのポリゴン数がより多い。このため、処理を行う計算機の画像処理性能によっては、流線の可視化により多大な時間が必要となる。このため、入力の段階において単純にデータ量を減らす方法が知られている。シミュレーションのデータは既に時間空間で離散化されているが、再度サンプリングして、より疎なデータとする。この方法では、観察者が見たい現象を正確に再現できないというリスクがある。すなわち、この方法は、処理前に情報を削減してしまうため、流線の構造が、データの削減前のものと同じにならない可能性が高い。
これに比して、本実施例では、データ量を削減せずに、流線の1本あたりのポリゴン数を大幅に削減できる。
図5(A)は、法線マップの模式図を示している。四辺形500は面であるため、このままの状態でレンダリングを行うと、単純な面として描画されてしまう。この四辺形をチューブ形状に見えるようにするために、四辺形の各領域c1乃至c4に、それぞれ法線ベクトルu1乃至u4をマッピングする。この法線ベクトルu1乃至u4は、チューブ形状の法線をシミュレートするよう設定される。図5(B)は、法線マップ情報をメモリ上に記憶する際のテーブルの例を示している。それぞれの位置に対応づけて法線ベクトルの値が格納される。なお、この実施形態では、4つの位置に法線ベクトルを対応付けたが、更に多くのベクトルを持つ法線マップを用いて細かい対応付けを行ってもよい。また、法線マップの代わりに、チューブ形状の高さを示す高さマップを保持してもよい。
なお、法線マップは、長方形500に対応して保持しておけば、平行四辺形、台形等の四辺形(矩形)に対する法線マップを計算することができる。たとえば、四辺形500の四隅の頂点を台形の四隅の頂点と対応付けて、モーフィングと同様の手法で法線マップを台形にマッピングすればよい。同様に、三角形や四辺形以外の多角形に対しても、長方形500の法線マップを利用することができる。なお、三角形やその他の多角形用のための法線マップ情報を、ライブラリとして別途記憶しておいてもよいことは言うまでもない。
なお、上述の例では、ポリゴンとして三角形を用いているが、ポリゴンは、三次元形状のモデリングの手法として用いるものであり、法線マップのデータ構造とは別個に扱うことができる。
図6(A)は、反射光のテクスチャのマッピングを示している。上述の法線マップを適用して光源650からの光の反射を考慮し、視点Iから視線ベクトルV方向に見た四辺形600をレンダリングした結果が示されている。例として、適用したテクスチャは単色である。
図6(B)は、それぞれの流線の位置における物理値(例えば、速度)を色にマッピングしたテクスチャを用いてレンダリングした結果を示している。図6(B)は、白黒の階調表示で描かれているが、実際には、色を変化させたテクスチャをマッピングしている。
このように、流線をチューブ形状によって可視化すると共に、流線の個々の位置における物理値(例えば、温度)を色によって表現することができる。更に、別の物理値(例えば、速度)に応じてチューブ形状の太さを変えることにより、チューブ形状の色と太さにより、二つの物理値(例えば、温度と速度)を同時に表現することができる(図9参照)。
図7は、物理値とテクスチャの色とのマッピングを示している。例えば物理値として流体の温度を四辺形に対して色のテクスチャとしてマッピングするための関係を示している。温度が低い場合には、青にマッピングされ、温度が高い場合には赤にマッピングされる。温度が中程度であれば黄色にマッピングされる。
図8は、物理値とチューブの太さとのマッピングを示している。例えば、流体の速度(流速)が小さければチューブの太さを太くする(すなわち四辺形の辺のうち、流線と交叉している辺の長さを長くする)。逆に、流体の速度が大きければチューブの太さを捕捉する(すなわち四辺形の辺のうち、流線と交叉している辺の長さを短くする)。
図9は、図7及び図8の関係を用いて、帯状面を形成し、テクスチャマッピングを施し、レンダリングを行った結果の例を示している。図9において、951乃至954は、それぞれ、四辺形を表している。描かれたチューブは、901及び903の領域で細くなっており、902の領域で太くなっている。このことから、902の領域では、他の部分に比べて流速が小さいことが分かる(図8参照)。また、図9においては、白黒となっているが、901及び903の領域では、赤い色を示しており、902の領域では黄色い色を示している。したがって、902の領域では、他の部分に比べて温度が低いことが分かる。
図10A及び図10Bは、視点を視点Iaから視点Ibに移動させた場合に、四辺形M100の面の向きを決定する処理を示している。
まず、図10Aにおいて、視点は、視点Iaに位置している。四辺形M100において、2つの対向する辺は、流線L100の節点P101とP102において接している。この場合、四辺形M100は、方向D120又は方向D130に、面の傾きを変化させることができる。四辺形M100の面の傾きは、視点が視点Iaの位置にある場合には、例えば以下のように決定することができる。
[視点が視点Iaの位置にある場合の四辺形M100の向きの決定]
(1)四辺形M100上に単位面積T150を設定する。そして、視点Iaから見てT150の面積が最大に見えるように、四辺形M100の傾きを決定する。又は、
(2)四辺形M100上の任意の点S160から四辺形M100に対する法線ベクトルVsを延ばす。そして、視点Iaから法線ベクトルVsに垂線を下ろし、その垂線の長さLaが最小となるように、四辺形M100の傾きを決定する。
(3)四辺形M100の四隅の点から視点までの距離の総和が最小となるように、四辺形M100の傾きを決定する。
以上が、四辺形M100の面の傾きを決定する処理の例である。上記の決定処理以外にも、当業者であれば、M100の面の傾きを決定する手法は見いだせるであろう。
図10Bは、視点が視点Iaから視点Ibに移動した場合の、四辺形M100の面の傾きを決定する処理を示している。
上述のように、視点Ibから見て、四辺形M100上の単位面積T150が最大に見えるように、四辺形M100の面の傾きを決定すればよい。又は、四辺形M100上の任意の点S160から四辺形M100に対する法線ベクトルVsを延ばす。そして、視点Ibから法線ベクトルVsに垂線を下ろし、その垂線の長さLbが最小となるように、四辺形M100の傾きを決定すればよい。
図10Cは、視点が視点Iaから視点Ibに移動した場合の、四辺形M100の面の傾きを決定する別の処理を示している。視点Ibと、四辺形M100の各頂点K181、K182、K183、及びK184とを結んだ直線を、それぞれN181、N182、N183、及びN184とする。そして、直線N181、N182、N183、及びN184の長さの総和が最も小さくなるように、四辺形M100の傾きを決定すればよい。
以上の操作を他の四辺形の面の傾きの決定にも行えば、帯状面の全体の傾きが変更される。その後、テクスチャマッピングを施し、レンダリングを行えば、新たな視点Ibから見たチューブ状の流線の二次元画像が得られる。
このように、帯状面を生成し、テクスチャマッピングを利用して、帯状面をチューブ状に見えるようレンダリングする。三次元空間上にチューブを実際に生成するよりも、帯状面を利用する方が、ポリゴン数を従来よりも減少させることができる。したがって、流線を可視化する処理を従来よりも短縮することが可能である。また、視点を変えた場合にも、上述のように四辺形の面の向きを変更し、テクスチャマッピングを施し、レンダリングを行えばよい。上述のように、少ないポリゴン数のため、視線を変更しても従来よりも高速に二次元画像が得られる。
なお、四辺形の面の傾きをより高速に決定するには、更に視線ベクトル及び視野を考慮してもよい(図示せず)。すなわち、視線ベクトルと視野によって、最終的にレンダリングされるべき三次元モデルの部分が特定される。この特定された三次元モデル部分だけに着目して、四辺形の傾きの変更、テクスチャマッピング、レンダリング等の処理を限定して行えばよい。
図11Aは、一実施形態の処理フローを示している。以下に示す処理フローは、矛盾のない限り、順番を入れ替えてもよい。そして、また、プログラムに係る請求項及び、方法に係る請求項における、各ステップについても、矛盾のない限り順番を入れ替えてもよいことは言うまでもない。そして、請求項内のステップの順番を入れ替えた場合でも、その請求項の技術的範囲に包含される。また、既に記憶部にデータが記憶されており、改めてユーザからの指示を受け付ける必要がない場合がある点に留意すべきである。加えて、ユーザからの指示がない場合には、デフォルト値を用いて処理を行ってもよい。
ステップ1102で、まず、三次元空間上の視点位置、視線方向、流線開始位置の指示をユーザから受け取る。なお、これらのデータは、予め記憶装置に記憶しておいてもよい。
ステップ1104で、シミュレーションなどによって得られたベクトル場のデータを読み込む。
ステップ1106で、記憶部に記憶された流線の開始位置を読み込む。
ステップ1108で、流線を生成する。
ステップ1110で、記憶部に記憶された視点位置を読み込む。
ステップ1112で、流線に沿って、帯状面を生成する。ここでは、まず、複数の四辺形を生成する。次に、流線をコピーして新たな流線を生成する。そして、四辺形の両端の辺において、流線に沿った勾配ベクトルの変化量が、予め定められた閾値thよりも大きい場合には、例えば中間点において、四辺形を分割する。なお、既に述べたように、流線をコピーせずに、流線における節点を適切に増加させ、隣接する節点間によって四辺形を形成させてもよい。なお、例えば、節点における物理値(例えば、速度、温度等)に基づいて、節点を含む四辺形の辺の長さを、予め定めた関数を用いて決定してもよい。
ステップ1114で、四辺形に対角線を一本引いて、2つの三角形を生成する。この処理を、全ての四辺形に行う。この処理によって、帯状面は、三角形のポリゴンで表現されることとなる。なお、ポリゴンは、必ずしも三角形である必要はないため、四辺形のままでポリゴンとして扱ってもよい。なお、三角形のポリゴンを用いる場合には、三次元モデルの処理が容易化される。
ステップ1116で、法線マップのデータを読み込む。法線マップは、長方形に対する法線マップのデータを記憶させておいてもよい。実際の四辺形がひし形、台形である場合には、長方形の法線マップをひし形、台形に適用することができる。例えば、長方形の各頂点を、台形の各頂点と対応させ、変形量を比例配分して台形の法線マップを計算すればよい。
ステップ1118で、法線マップを利用して、反射を表現するテクスチャを生成する。また、流線の各位置における物理値(例えば、速度、温度等)に対応付けて色を加えたテクスチャを生成してもよい。
ステップ1120において、未処理の流線があるか否かがチェックされる。未処理の流線がある場合には、ステップ1106に戻る。なお、流線の数は、流線の開始位置の個数と一致する。そして、未処理の流線がない場合には、全ての流線に対する帯状面の作成及びテクスチャマッピングが終了したこととなる。この場合には、ステップ1130に進む。
ステップ1130で、視点位置から、視線方向に見たチューブ状の流線が、レンダリングされる。レンダリングされたデータは、表示装置に表示される。そして、処理は「A」を経由してステップ1142に進む。
ステップ1142において、視点を変更するユーザからの指示があるか否かがチェックされる。ユーザは、視点位置を変更して、流線の状況を観察したい場合があるからである。このチェックで、視点位置を変更しない場合には、ステップ1162に進む。
ステップ1132で、視線方向を変更するユーザからの指示があるか否かがチェックされる。このチェックで視線方向の変更が指示されていることが分かった場合には、ステップ1164に進む。
ステップ1164では、ユーザから視線方向の指示を受け取る。この場合には、視点位置は、変更されていないため、視界の変更の指示がなされたことになる。そして、この場合には、ステップ1130において指示された視点及び視線方向に対する二次元画像をレンダリングすればよい。
ステップ1142のチェックで、YESである場合には、ステップ1144に進む。
ステップ1144では、視点位置、視線方向の変更指示をユーザから受け取り、記憶部に記憶する。この場合、視線方向については、変更の指示がなく、視点位置のみが変更される場合もある。
ステップ1146で、受け付けた視点位置を読み込む。
ステップ1148で、視点位置に基づいて、帯状面の各々の四辺形の傾きを修正する。
ステップ1150で、ポリゴンの生成が行われる。この処理は、ステップ1114と同様である。
ステップ1152で、法線マップデータが読み込まれる。この処理は、ステップ1116と同様である。
ステップ1154で、法線マップを利用して、反射を表現するテクスチャを生成する。また、流線の各位置における物理値(例えば、速度、温度等)に対応付けて色を加えたテクスチャを生成してもよい。この処理は、ステップ1118と同様である。
ステップ1156で、未処理の流線があるか否かがチェックされる。未処理の流線がある場合には、ステップ1146に戻る。そして、未処理の流線がない場合には、全ての流線に対する帯状面の各四辺形の傾きの修正及びテクスチャマッピングが終了したこととなる。この場合には、ステップ1130に進み、レンダリングが行われる。
ステップ1162において、視線方向を変更しない場合(NO)には、ユーザは、視点位置及び視線方向の変更を望んでいないため、更なる処理は不要であるため、一連の処理が終了する。
図11Bは、一実施形態の処理装置のブロック図を示す。まず、データ入力部1172から流体の流れのシミュレーションデータ等のベクトルデータを読み込み、記憶部1192に記憶する。
ビュー設定部1174では、ユーザからの指示を受け付ける。例えば、視点位置、視線方向、焦点距離、並びに、三次元空間上での光源の位置等を受付け、記憶部に記憶する。
開始位置設定部1176では、流体の流れを示す流線の開始位置に関するユーザの指定を受け付ける。このデータは、記憶部に記憶される。
色、チューブ形状設定部1178では、チューブ形状の色をどのように設定するかに関するユーザからの指定を受け付ける。例えば、流線上の各位置での流体の温度をチューブの色にマッピングする場合には、例えば図7に示したようなマッピング関係を設定する。また、チューブの太さを流体の物理値と関連付けることができる。この場合には、図8に示したように、例えば、流体の流速をチューブの太さに関連付けることができる。なお、チューブの太さは、帯状面を形成する各四辺形の辺の幅を伸縮させることによりコントロールできる。
流線生成部1180は、開始位置設定部1176から受け付けられて記憶部に記憶された流線の開始位置と、シミュレーションデータとを用いて、流線を生成する。複数の開始位置が設定されていれば、複数の流線が生成される。
帯状面形成部1182は、帯状面を形成する。面形状決定手段1184において、流線に沿って複数の四辺形が決定される。面傾き決定部1183において、この複数の四辺形の傾きが決定される。この処理を経て、帯状面が形成される。また、帯状面を三角形のポリゴンに分割する。なお、面傾き決定部1183は、視点の位置等が変更された場合にも、面の傾きを変更するために利用される。
テクスチャマッピング部1185は、複数の四辺形の各々にテクスチャをマッピングする。色適用手段1186は上述のように、物理値と色とのマッピングから、テクスチャに色を適用する。法線マップ適用手段1187は、法線マップ1193を記憶部1192から読み出す。そして、光源の位置と法線マップの法線ベクトルを四辺形の傾きに適用し、反射をシミュレートしたテクスチャを四辺形にマッピングする。
レンダリング部1189は、二次元平面に流線を可視化したチューブを描画する。
表示部1190は、レンダリングされた画像を表示する。
図12は、一実施形態のハードウエア構成1200を示している。ハードウエアには、CPU1202、メモリ1204、動的メモリ1206、媒体1209を読み書きするドライブ1208、通信インターフェース1210、表示装置1213等に画像信号を送るビデオインターフェース1212、I/Oインターフェース1214、I/Oとしてのキーボード1216、マウス1218、プリンタ1220が含まれる。
CPU1202は、メモリ1204や動的メモリ1206に格納されている上記説明した種々の機能を実現するプログラムを実行する。
また、プログラムに係る本発明は、機械読み取り可能な記録媒体に格納されてもよい。機械読み取り可能な記録媒体には、磁気記録媒体、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録媒体には、HDD、フレキシブルディスク(FD)、磁気テープ(MT)などがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc−Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。また、光磁気記録媒体には、MO(Magneto−Optical disk)などがある。
図13は、四辺形の傾きを変更した場合の四辺形の修正を示す図である。図13(a)は、流線L1300に対し、四辺形M1310及びM1320が、節点P1320を通る辺H1350を共有している。視点(図示せず)の位置を変更した場合、これらの四辺形の傾きを変更する処理が行われ、図13(b)のように、二つの四辺形がM1311及びM1321のように傾きを変えたと仮定する。この場合、二つの四辺形M1311及びM1321は、辺を共有しなくなってしまう場合がある。そのため、節点P1302を通り四辺形M1311及びM1321のそれぞれの面が交わる直線α1380を求める。図13(c)に示すように、先に求めた直線α1380を共有する辺H1352として、四辺形M1312及びM2322に示すように修正すればよい。この処理を他の四辺形と共有する辺に対しても行えばよい。
図14は、四辺形の傾きを変更した場合の四辺形の別の修正を示す図である。図14(a)は、四辺形M1410、M1420、及びM1430が、流線L1400に沿って帯状面を形成している。この3つの四辺形は、それぞれ隣り合う四辺形と辺を共有している。図14(b)は、視点(図示せず)の位置が変更されたために、1つ置きに四辺形の傾きを変更させた状態を示している。すなわち、四辺形M1431及びM1421が四辺形の傾きを変えている。そして、この状態で、両四辺形の頂点K1491とK1494とを結ぶ。同様に両四辺形の頂点K1492とK1493とを結ぶ。図14(c)は、その結果、新たな四辺形M1411が形成された様子を示している。この処理により、簡便に四辺形の傾きを変えることができる。なお、新たに作成された四辺形M1411は、厳密に平面にならず、捻れた面となる場合があるが、平面に近似して(例えば、対角線で2分して、2つの三角形ポリゴンに置き換えて)後のレンダリング処理等を行ってもよい。

Claims (7)

  1. 三次元空間における流体の流れを表す流線を、任意の視点位置から見た二次元画像として描画する描画装置において、
    所定の開始位置から流線を生成する流線生成部と、
    前記視点位置を前記三次元空間内に設定するビュー設定部と、
    前記流線生成部が生成した着目対象の流線と、前記着目対象の流線と平行な流線とを含む各流線において、前記着目対象の流線の互いに隣り合う第1の節点と第2の節点とを結ぶ線分における前記第1の節点の位置の勾配と前記第2の節点の位置の勾配との差が予め定められた閾値より大きい場合、前記第1の節点と前記第2の節点の間の前記着目対象の流線に第3の節点を生成することで、前記着目対象の流線の前記第1の節点と、該第1の節点に対応する前記平行な流線の頂点とを結ぶ第1の辺と、前記着目対象の流線の前記第3の節点と、該第3の節点に対応する前記平行な流線の頂点とを結ぶ第2の辺とを含むように生成された多角形面が含まれる複数の多角形面の各々を、1枚ずつ前記流線方向に連結した帯状面を、前記設定された視点位置に基づき、前記流線に沿うように形成する帯状面形成部と、
    前記三次元空間の所定位置に配置された光源に対する前記帯状面の反射光を表す色のテクスチャを、前記複数の多角形面の各々に対応する前記流線の位置における前記流体の物理値に基づいて、前記複数の多角形面の各々にマッピングするテクスチャマッピング部とを有することを特徴とする描画装置。
  2. 前記物理値は前記流体の流れを表す形状の法線をシミュレートする法線ベクトルであって、
    前記テクスチャマッピング部は、
    記法ベクトルを用いることにより、前記三次元空間の所定位置に配置された光源に対する前記帯状面の反射光を表すテクスチャを導出することで前記反射光を表すテクスチャを前記複数の多角形面の各々にマッピングすることを特徴とする請求項1記載の描画装置。
  3. 前記帯状面形成部は、
    前記設定された視点位置から見た前記複数の多角形面の各々の面積が最大となるよう、又は、前記複数の多角形面の各々の上に存在する特定の点から延ばした法線に対して、前記設定された視点位置から下ろした垂線の長さが最小となるよう、又は、前記複数の多角形面の各々の各頂点と前記設定された視点位置間の距離の総和が最小となるように、前記複数の多角形面の各々の傾きを決定することを特徴とする請求項1記載の描画装置。
  4. 前記帯状面形成部は、
    前記複数の多角形面において互いに隣接する第1の多角形面と第2の多角形面とが共有する辺が、前記流線と交叉するように前記帯状面を形成することを特徴とする請求項1記載の描画装置。
  5. 前記帯状面形成部は、
    前記複数の多角形面の各々に対応する前記流線の位置における前記流体の物理値に基づいて、前記複数の多角形面の各々の形状を決定することを特徴とする請求項1記載の描画装置。
  6. 三次元空間における流体の流れを表す流線を、任意の視点位置から見た二次元画像として描画する描画方法において、
    コンピュータが、
    所定の開始位置から流線を生成し、
    前記視点位置を前記三次元空間内に設定し、
    生成された着目対象の流線と、前記着目対象の流線と平行な流線とを含む各流線において、前記着目対象の流線の互いに隣り合う第1の節点と第2の節点とを結ぶ線分における前記第1の節点の位置の勾配と前記第2の節点の位置の勾配との差が予め定められた閾値より大きい場合、前記第1の節点と前記第2の節点の間の前記着目対象の流線に第3の節点を生成することで、前記着目対象の流線の前記第1の節点と、該第1の節点に対応する前記平行な流線の頂点とを結ぶ第1の辺と、前記着目対象の流線の前記第3の節点と、該第3の節点に対応する前記平行な流線の頂点とを結ぶ第2の辺とを含むように生成された多角形面が含まれる複数の多角形面の各々を、1枚ずつ前記流線方向に連結した帯状面を、前記設定された視点位置に基づき、前記流線に沿うように形成し、
    前記三次元空間の所定位置に配置された光源に対する前記帯状面の反射光を表す色のテクスチャを、前記複数の多角形面の各々に対応する前記流線の位置における前記流体の物理値に基づいて、前記複数の多角形面の各々にマッピングすることを特徴とする描画方法。
  7. 三次元空間における流体の流れを表す流線を、任意の視点位置から見た二次元画像として描画する描画プログラムにおいて、
    コンピュータに、
    所定の開始位置から流線を生成させ、
    前記視点位置を前記三次元空間内に設定させ、
    生成された着目対象の流線と、前記着目対象の流線と平行な流線とを含む各流線において、前記着目対象の流線の互いに隣り合う第1の節点と第2の節点とを結ぶ線分における前記第1の節点の位置の勾配と前記第2の節点の位置の勾配との差が予め定められた閾値より大きい場合、前記第1の節点と前記第2の節点の間の前記着目対象の流線に第3の節点を生成することで、前記着目対象の流線の前記第1の節点と、該第1の節点に対応する前記平行な流線の頂点とを結ぶ第1の辺と、前記着目対象の流線の前記第3の節点と、該第3の節点に対応する前記平行な流線の頂点とを結ぶ第2の辺とを含むように生成された多角形面が含まれる複数の多角形面の各々を、1枚ずつ前記流線方向に連結した帯状面を、前記設定された視点位置に基づき、前記流線に沿うように形成させ、
    前記三次元空間の所定位置に配置された光源に対する前記帯状面の反射光を表す色のテクスチャを、前記複数の多角形面の各々に対応する前記流線の位置における前記流体の物理値に基づいて、前記複数の多角形面の各々にマッピングさせることを特徴とする描画プログラム。
JP2013533419A 2011-09-15 2011-09-15 描画装置、描画方法及び描画プログラム Expired - Fee Related JP6093704B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/071152 WO2013038548A1 (ja) 2011-09-15 2011-09-15 描画装置、描画方法及び描画プログラム

Publications (2)

Publication Number Publication Date
JPWO2013038548A1 JPWO2013038548A1 (ja) 2015-03-23
JP6093704B2 true JP6093704B2 (ja) 2017-03-08

Family

ID=47882807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013533419A Expired - Fee Related JP6093704B2 (ja) 2011-09-15 2011-09-15 描画装置、描画方法及び描画プログラム

Country Status (4)

Country Link
US (1) US9595122B2 (ja)
EP (1) EP2757532A4 (ja)
JP (1) JP6093704B2 (ja)
WO (1) WO2013038548A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6915237B2 (ja) 2016-07-05 2021-08-04 富士通株式会社 情報処理装置、シミュレータ結果表示方法、及びシミュレータ結果表示プログラム
JP6741252B2 (ja) * 2016-12-06 2020-08-19 富士通株式会社 流脈線可視化装置、流脈線可視化方法、および流脈線可視化プログラム
CN109147019A (zh) * 2018-07-27 2019-01-04 厦门大学嘉庚学院 基于流线生长法和变态粒子法的多层纹理生成方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10222692A (ja) 1997-02-05 1998-08-21 Mitsubishi Electric Corp 仮想空間表示装置
JPH10283487A (ja) 1997-04-04 1998-10-23 Fujitsu F I P Kk 多重テクスチャマッピング装置及び方法並びに多重テクスチャマッピングのためのプログラムを格納した記憶媒体
JP4258824B2 (ja) 1998-05-20 2009-04-30 株式会社セガ 画像処理装置、画像処理方法及び記録媒体
JP3467197B2 (ja) * 1998-12-29 2003-11-17 株式会社ナムコ ゲーム装置及び情報記憶媒体
JP2000242631A (ja) * 1999-02-24 2000-09-08 Chokosoku Network Computer Gijutsu Kenkyusho:Kk データ変換方式
JP2003115055A (ja) 2001-10-05 2003-04-18 Canon Inc 画像生成装置
US7412362B2 (en) * 2005-05-18 2008-08-12 Microsoft Corporation River modeling
JP4734137B2 (ja) * 2006-02-23 2011-07-27 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及び画像生成システム

Also Published As

Publication number Publication date
US20140184590A1 (en) 2014-07-03
EP2757532A1 (en) 2014-07-23
US9595122B2 (en) 2017-03-14
EP2757532A4 (en) 2015-06-17
JPWO2013038548A1 (ja) 2015-03-23
WO2013038548A1 (ja) 2013-03-21

Similar Documents

Publication Publication Date Title
US7483024B2 (en) Accelerated ray-object intersection
JP5592011B2 (ja) マルチスケール3次元配向
JP3285563B2 (ja) グラフィックオブジェクトの生成方法及び生成システム
Stanculescu et al. Freestyle: Sculpting meshes with self-adaptive topology
Heidrich et al. Ray-tracing procedural displacement shaders
JPH07120434B2 (ja) ボリュームレンダリングを行う方法及び装置
Jin et al. General constrained deformations based on generalized metaballs
Mudge et al. Viewpoint quality and scene understanding
KR102151443B1 (ko) 하이브리드 gpu 아키텍처 기반의 그래픽 처리 장치
CN111788608A (zh) 用于建模光反射的混合射线跟踪方法
Brosz et al. Single camera flexible projection
US20080043023A1 (en) Approximating subdivision surfaces with bezier patches
CA2357962C (en) System and method for the coordinated simplification of surface and wire-frame descriptions of a geometric model
US8358311B1 (en) Interpolation between model poses using inverse kinematics
Mosegaard et al. GPU accelerated surgical simulators for complex morphology
US9401044B1 (en) Method for conformal visualization
JP6093704B2 (ja) 描画装置、描画方法及び描画プログラム
CN115495938A (zh) 海面波浪的三维动态模拟和可视化方法
Bonatto et al. Explorations for real-time point cloud rendering of natural scenes in virtual reality
CN109983509B (zh) 一种使用几何面的即时布尔运算方法
JP4333452B2 (ja) 座標変換装置およびプログラム
JPH11328442A (ja) 三次元物体の表面形成方法
Limberger et al. Procedural texture patterns for encoding changes in color in 2.5 D treemap visualizations
JP4920775B2 (ja) 画像生成装置及び画像生成プログラム
McDonnell et al. Dynamic subdivision-based solid modeling

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150727

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20151027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160125

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160202

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20160226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170213

R150 Certificate of patent or registration of utility model

Ref document number: 6093704

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees