描画装置、描画方法及び描画プログラム
【課題】
シミュレーションデータ等に対する可視化処理において、可視化範囲のデータからその範囲を明瞭に表示するためのカラーマップを自動的に決定すること。
【解決手段】
三次元空間に形成されたモデルの各々の領域の物理値に基づいて、前記モデルについての可視化範囲を描画する描画装置において、前記可視化範囲を設定する設定部と、前記設定された可視化範囲に対応する前記モデルの各々の領域の物理値を前記描画装置の表示対象である可視化平面に射影する射影部と、前記可視化平面に射影された前記モデルの各々の領域の物理値に基づき、前記可視化範囲において物理値を塗り分ける範囲を特定する特定部と、前記物理値の範囲に基づき、物理値と色との関係を定める色情報を定義する定義部と、前記定義された色情報と前記特定された物理値を塗り分ける範囲とに基づき、前記可視化範囲を塗り分ける描画部と、を有する。
シミュレーションデータ等に対する可視化処理において、可視化範囲のデータからその範囲を明瞭に表示するためのカラーマップを自動的に決定すること。
【解決手段】
三次元空間に形成されたモデルの各々の領域の物理値に基づいて、前記モデルについての可視化範囲を描画する描画装置において、前記可視化範囲を設定する設定部と、前記設定された可視化範囲に対応する前記モデルの各々の領域の物理値を前記描画装置の表示対象である可視化平面に射影する射影部と、前記可視化平面に射影された前記モデルの各々の領域の物理値に基づき、前記可視化範囲において物理値を塗り分ける範囲を特定する特定部と、前記物理値の範囲に基づき、物理値と色との関係を定める色情報を定義する定義部と、前記定義された色情報と前記特定された物理値を塗り分ける範囲とに基づき、前記可視化範囲を塗り分ける描画部と、を有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、描画装置、描画方法及び描画プログラムに関する。
【背景技術】
【0002】
近年、計算機シミュレーションは、様々な分野で利用されるようになってきた。計算機シミュレーションの大規模・高度化により、計算機シミュレーションのデータ量は、計算機の計算能力の向上とともに増加傾向にあり、特に高度科学技術計算(HPC:High Performance Computing)の分野においては、従来よりもデータ量が膨大なものとなっている。近年のシミュレーションでは、ナノデバイスシミュレーションのような原子構造、生体シミュレーションの各臓器などの形状表現に多くの表示用多面体(ポリゴン)を利用する。また、離散化したデータとしては通常目に見えない応力、渦度などの空間上のスカラー値、速度・主応力などのベクトル値、せん断応力やMRIによって出力されるテンソル値などの空間データがある。これらは一般に抽象化した3次元形状で表示され、その3次元形状が空間に大量に生成される。
【0003】
近年のシミュレーションの出力データ量の増加は著しく、従来よりも膨大な量(テラバイト〜ペタバイト単位のデータ量)のデータとなりつつあるため、表示のためのポリゴン数が増加し可視化処理時間も従来よりも増加している。
【0004】
そして、この三次元形状の上に更にカラーをマッピングして、この三次元形状を更に見やすくする処理が行われる。どのパラメータ(物理値:例えば、応力、速度、温度等)にカラーをマッピングするかは、ユーザがどのパラメータ(物理値)に着目しているかに依存する。物理値と色とのマッピングを定義したものをカラーマップと呼ぶ。
【0005】
このような大規模データに対応する可視化技術やシステムの開発が現在進められているが、可視化処理中でユーザが最も手間がかかる作業の一つが上述のカラーマップの設定である。可視化処理では、ポリゴン上に、ユーザが指定した物理値分布をカラーマップに従ってカラーに置き換えて、コンピュータグラフィックスの処理を行うことでシミュレーション対象の現象の観察を容易化する。しかしながら、時間変化を伴うデータや着目したい細かな現象にあわせてカラーマップを設定するためには、着目した部分の物理値の分布を観察しながら適したカラーマップを繰り返し設定して確認することになり、かなりの処理時間が必要となる。
【0006】
図1Aは、表示された画像の一部を拡大した画像に対するカラーマップの調整を示している。図1A(a)は、全体の画像を示している。この中から、ユーザが関心を持っている領域を可視化範囲として白枠により指定する。なお、可視化範囲の指定は、マウス、タブレットなどのポインティングデバイスで指定してもよい。あるいは、シミュレーションしたカメラを用いて、カメラ位置、レンズ焦点距離、レンズ方向等を決定することにより行ってもよい。
【0007】
図1A(b)は、全体画像(図1A(a))に適用したカラーマップをそのまま用いて可視化範囲をレンダリングした画像を示している。この場合には、画面上の8割程度が黒に近い色調の画像となっている。ユーザが関心を持っている可視化範囲が適切にレンダリングされていないことが分かる。
【0008】
これに対して、図1A(c)は、可視化範囲のカラーマップを手動で調整した例を示している。可視化範囲の現象が顕著に観察できるよう、カラーマップを適正に設定している。図1A(c)においては、白黒の画像となっているが、実際の画像は、カラーがマッピングされており、ユーザが見やすい画像となっている。ユーザによるカラーマップの設定を行う際、可視化範囲の現象がより鮮明にレンダリングされるように、ユーザは複数回のカラーマップの設定及びレンダリングの処理を繰り返し、試行錯誤を繰り返すこととなる。このように、カラーマップの調整には時間がかかる。
【0009】
図1Bに可視化処理の流れを示す。まず数値データを処理装置に入力する(110)。そして、必要に応じて前処理として数値データのフィルタ処理を行う(120)。フィルタ処理としては、対象とするデータ範囲の選択処理等が挙げられる。この時、カラー表示の対象とする物理値を選択する。次に、可視化の手法によって処理することで、形状生成を行う。また、可視化対象の物理値をカラーマップによって色に置き換える(130)。この形状とカラーを入力として、レンダリング処理等のグラフィック処理を行う。
【0010】
カラーマップを設定し直す場合には、数値データのフィルタ処理のステップ120に戻る必要がある。ステップ130の処理後においては、データはカラーデータと形状データとが一体となっており、図1A(c)のように調整ができない。したがって、ステップ110においてデータ入力を再度行う必要があり、処理時間を要することとなる。
【0011】
例えば、数値シミュレーション結果の数値データを可視化する装置において、輝度計算手段が、数値データ格納手段から供給される数値データを補間して各画素に対する数値データを求め、この数値データに対応する色を予め用意してあるデータ値と色との対応表とから求め、この色に供給される各画素が表示すべき地点に当たる光の強度を掛け合わせることにより画素の輝度を計算する技術が知られている。
【0012】
また、骨組構造の応答シミュレーション表示システムにおいて、任意の点をマウス等の時系列点指定手段により指定し、指定された時系列点における各節点、各要素または各面要素の有する物理量レベルを、表示装置に表示された骨組構造物の対応する各節点、各要素または各面要素部分に物理量レベル値に応じて色分け表示する技術が知られている。
【0013】
また、解析対象の状態を解析計算し、その解析計算結果から、あらかじめ与えられている可視化のためのパラメータに基づき、解析対象の状態を画像として示すためのピクセルデータを生成し、加えて、ピクセルデータの所定の視点からの深さデータであるZバッファ値を生成し、ピクセルデータとZバッファ値とにより1フレームのピクセルデータを合成してこれを表示する可視化処理方法が知られている。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】特許第3047339号
【特許文献2】特開平8−129579号公報
【特許文献3】特開平9−293146号公報
【発明の概要】
【発明が解決しようとする課題】
【0015】
1つの側面では、本発明は、シミュレーションデータに対する可視化処理において、可視化範囲のデータから可視化範囲を明瞭に表示するためのカラーマップを自動的に決定することを目的とする。
【課題を解決するための手段】
【0016】
本描画装置の一観点によれば、三次元空間に形成されたモデルの各々の領域の物理値に基づいて、前記モデルについての可視化範囲を描画する描画装置において、前記可視化範囲を設定する設定部と、前記設定された可視化範囲に対応する前記モデルの各々の領域の物理値を前記描画装置の表示対象である可視化平面に射影する射影部と、前記可視化平面に射影された前記モデルの各々の領域の物理値に基づき、前記可視化範囲において物理値を塗り分ける範囲を特定する特定部と、前記物理値の範囲に基づき、物理値と色との関係を定める色情報を定義する定義部と、前記定義された色情報と前記特定された物理値を塗り分ける範囲とに基づき、前記可視化範囲を塗り分ける描画部と、を有することを特徴とする描画装置が提供される。
【発明の効果】
【0017】
シミュレーションデータ等に対する可視化処理において、可視化範囲のデータからその範囲を明瞭に表示するためのカラーマップを自動的に決定することができる。
【図面の簡単な説明】
【0018】
【図1A】一部を拡大した画像に対するカラーマップの調整を示す図である。
【図1B】可視化処理の流れを示す図である。
【図2】可視化処理の装置構成を示す図である。
【図3】可視化処理のハードウェア構成を示す図である。
【図4】可視化範囲の指定の例を示す図である。
【図5】可視化範囲の物理値の抽出を示す図である。
【図6】可視化平面に物理値を射影した図である。
【図7】可視化平面の構造格子の格子点に物理値を補間計算により割り当てる図である。
【図8】可視化画面上での物理値の変曲点ラインを示す図である。
【図9】変曲点ラインが時間と共に移動する様子を示す図である。
【図10】カラーマップの例を示す図である。
【図11】ベクトルデータに対するカラーマップの適用を示す図である。
【図12】テンソルデータに対するカラーマップの適用を示す図である。
【図13】一実施形態の処理フローを示す図である。
【図14】一実施形態の機能ブロック図である。
【発明を実施するための形態】
【0019】
図2は、一実施形態としての可視化処理の装置構成200を示している。計算機210を用いて数値シミュレーションのためのアプリケーションを実行させる。数値シミュレーションの例としては、流体の流れ、部材への曲げ応力による部材の挙動等が挙げられる。なお、本実施形態は、計算機による数値シミュレーション以外に、実際の物理的現象から取得されたデータをも対象としていることは言うまでもない。例えば、MRI(Magnetic Resonance Imaging)による患者の内蔵の計測データなどの現実の物理現象から取得されたデータの可視化にも利用できる。
【0020】
数値シミュレーションアプリケーション220を実行させた結果として、数値データ225が取得される。数値データ225は、一旦ファイルサーバ230に格納される。可視化用計算機240には、可視化アプリケーション250がインストールされている。この可視化アプリケーションは、本実施形態の多くの部分の処理を実行するプログラムである。最終的にレンダリングされた画像265は、ディスプレイ260に表示される。
【0021】
図3は、可視化処理のハードウェア構成を示している。処理装置300の各々のハードウェアは、バス330によって相互に接続されている。演算部301は、アプリケーションプログラムの実行など全体の処理を実行する。メモリ302及びHDD(Hard Disk Drive)303は、必要なプログラム及びデータを格納する。グラフィック処理部は、三次元モデルのレンダリングに関連する処理を行う。グラフィック処理部は、専用のGPU(Graphics Processing Unit)を備えていてもよい。レンダリングされた画像は、最終的に表示装置310に送られ、画面に表示される。通信インターフェースは、インターネット等のネットワーク309を介して、外部の機器との通信を行う。ドライブ306は、プログラムやデータを格納したコンピュータ読み取り可能な記憶媒体315に対して、読み書きを行うことができる。インターフェース部308は、キーボード、マウス等の入力装置307とのインターフェースをつかさどる。
【0022】
なお、本実施形態のプログラムは、コンピュータ読み取り可能な記憶媒体に格納することができる。コンピュータ読み取り可能な記憶媒体とは、構造(structure)を有する1つ以上の非一時的(non-transitory)な、有形(tangible)な、記憶媒体を言う。例示として、コンピュータ読み取り可能な記憶媒体としては、磁気記録媒体、光ディスク、光磁気記録媒体、不揮発性メモリなどがある。磁気記録媒体には、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)などがある。
【実施例】
【0023】
図4は、可視化範囲の指定の例を示している。図4(a)は、シミュレーション結果の全体の画像を示す。シミュレーション結果から、三次元空間上のモデルを二次元平面にレンダリングする技術は、当業者に既知の様々な手法を用いることができる。図4(a)には、ユーザがマウス等のポインティングデバイスで、関心対象(可視化範囲)を長方形で囲んでいる様子が描かれている。
【0024】
図4(b)は、ユーザにより指示された可視化範囲を拡大表示した画像である。ユーザは、通常、シミュレーション結果全体の画像から、特に関心のある領域を詳細に観察したい場合がある。この場合、全体の画像(a)に用いられたカラーマップが、可視化範囲(b)に対するカラーマップとして適切である保証はない。この点は、図1Aを例に上述した通りである。したがって、ユーザは、可視化範囲(b)に対して、必要に応じて異なる最適なカラーマップを適用する必要がある。なお、図4(b)のモデルは、複数の三角形のポリゴンPgnで構成されている。なお、三次元形状をモデル化する手法として、ポリゴン以外の手法を用いてもよいことは言うまでもない。また、ポリゴンPgnは、必ずしも三角形である必要はないが、三角形のポリゴンが計算上の有利さから一般的に用いられている。
【0025】
また、ユーザに対し、注視点P及び注視範囲Eを更に指定させるようにしてもよい。注視点P及び注視範囲Eとは、ユーザが指定した可視化範囲の中で、とりわけ重要視したい点、あるいは範囲を示すものである。例えば、以下に例示する各種実施形態において、注視点Pに近い物理値の特徴は、より優先的に取り扱ってもよい。また、注視範囲Eに入る物理値の特徴は、他の場所にある物理値の特徴よりも優先して取り扱ってもよい。なお、注視点Pや、注視範囲Eを指定しなくてもよい。あるいは、可視化範囲の中央位置を注視点として、デフォルトで扱ってもよい。また、可視化範囲の中央部を注視範囲Eとしてデフォルトで扱ってもよい。
【0026】
図5は、一実施形態としての可視化範囲の物理値を可視化平面上に抽出する例を示している。なお、可視化平面とは、可視化範囲が写像された平面を言う。図5では、三次元モデルのそれぞれの位置における物理値を抽出する例を二つ図示している。物理値を抽出する理由は、後の処理に示すように、可視化画面上で物理値の特徴抽出を行うためである。この操作を行うことによって、画面に表示させるための可視化範囲に関連する物理値だけを、後の処理対象とすることができ、無駄な計算を排除することができる。
【0027】
なお、この一連の処理で対象とするポリゴンPgnは、対象とするモデルの表面のポリゴンである。したがって、この処理に先立ち、視点の位置関係から、視点に一番近い(すなわち一番手前に存在する)ポリゴンを対象とすればよい。手前にあるポリゴンを探索するためには、Zバッファを用いる等の既存の手法が利用できる。
【0028】
図5(a)は、ポリゴンの節点に着目し、それぞれの節点位置での物理値を抽出する。例えば、節点Bnの位置に対応する物理値を抽出する。
【0029】
図5(b)は、ポリゴンの重心位置における物理値を抽出する例を示している。たとえば、ポリゴンの重心bmの位置に対応する物理値を抽出すればよい。
【0030】
なお、実際に計算結果として保持している有限個のシミュレーションデータの物理値は、三次元空間上に離散的に存在している。したがって、必ずしも図5(a)または図5(b)の丸で示した各位置に、物理値のデータが存在しない場合もあり得る。この場合には、丸の位置の周辺に存在する物理値を補間して、その丸の位置の物理値として採用してもよい。
【0031】
図6は、可視化平面に物理値を射影した様子を示している。図において示される枠601は、可視化平面である。例えば、Bnの位置に物理値が射影されている。便宜上、可視化平面上に、直交座標(u,v)を定義し、その後の計算に用いてもよい。図6に示すように、射影された物理値の位置は、可視化平面上に等間隔に整然と並んでいるわけでなく、球面状に歪んでいることが分かる。
【0032】
図7は、可視化平面に等間隔の直交する格子を仮想的に設け、図6において得られた物理値と物理値の可視辺面上の位置に基づき補間計算を行い、格子点の各々の位置に物理値を割り当てる処理を示している。例えば、格子点Qに物理値が割り当てられていない場合には、格子点Qの周辺に存在する点B1ないし点B4の4つの点の物理値及び位置と、格子点Qの位置とに基づいて、線形補間計算を行う。その計算結果を、格子点Qの物理値として割り当ててもよい。なお、袖領域を設けて、対象とする可視化平面上の端の位置の各々の格子点での物理値の補間計算の誤差を排除できるようにしてもよい。以上の処理によって、可視化平面上に等間隔に並ぶ格子点の各々に、物理値が割り当てられることになり、後の計算を容易化することができる。なお、格子点を設けずに、後の処理を行ってもよい。本実施形態の開示は、本発明を限定するためのものではない。この点は、その余の実施形態の開示についても同様である。
【0033】
図8は、可視化画面上での物理値の変曲点ラインHを示している。物理値の変曲点とは、物理値を二階微分した場合に、零となる点を言う。物理値は、可視化平面上に二次元的に広がっているため、空間的に二階微分を行う。ここで、変曲点ラインHとは、変曲点を結んだ線を言う。図8(b)は、これを模式的に示した図である。図8(b)の下の図は、可視化平面が持つ物理値の値を高さとして模式的に示している。物理値の値を高さで表現した場合、凸面から凹面(又はその逆)に変化する点が変曲点である。変曲点を結んだ線を変曲点ラインと呼ぶ。これを可視化平面上で射影した線が変曲点ラインHとして示されている。変曲点ラインは、物理値が大きく変化し、特徴的な部分であると言える。そして、変曲点ラインが物理値に対して界面を形成していると見ることもできる。変曲点ラインは、このように物理値の特徴的な位置を示すにもかかわらず、通常のカラーマップでは、その位置をカラーから認識することは非常に難しかった。また、この変曲点ラインが、時間と共に、可視化平面を移動してゆくことも、通常のカラーマップの適用では認識できるようにすることが難しかった。上述のように、ユーザに対して、試行錯誤のカラーマップのマニュアル設定を行わせなければならないからである。
【0034】
図9は、上述したように、変曲点ラインが時間と共に移動する様子を示している。時刻t1に存在した変曲点ラインH1が、時刻t2においては、H2に移動している。この変曲点ラインを追跡するために、インデックスを付与して管理してもよい。また、新たな変曲点ラインが出現した場合には、新たなインデックスを追加して付与してもよい。なお、この変曲点ラインが閉曲線となる場合もある。また、変曲点ラインが、複数本存在する場合もある。そして、この変曲点ラインを持つ物理値の前後で、カラーリングが明瞭になるようにしてもよい。
【0035】
図10は、カラーマップの例を示している。カラーマップは、一般的に、パラメータ(物理値)の特定の値に対して特定の色を対応付けることにより、塗り分けを行なうためのマッピングを定義したものである。したがって、カラーマップは、このマッピングを定義できれば、どのような形式であってもよい。形式としては、グラフ形式、表形式、あるいは、関数の形式など、様々な形式をとることができる。図10においては、グラフの形式でカラーマップを表現している。図10においては、物理値の範囲のうち、M2の範囲に対して、他の範囲(M1及びM3)よりもより多様な色を割り当てることにより、塗り分けを行なっていることが分かる。したがって、例えば、物理値が範囲M2にあるときには、微少な物理値の変化をより大きな色の変化として表現することが可能となることが分かる。
【0036】
例えば、図9における変曲点ラインの物理値が、範囲M2に収まっている場合を仮定する。この場合には、変曲点が存在する物理値の近傍の物理値の変化に対し、敏感に色が変化することとなる。したがって、図9に示すように変曲点ラインの特徴を認識し、その特徴に基づいて図10に示すようにカラーマップを設定すれば、可視化範囲において、物理値の特徴を適切に表現できるカラーマップを自動的に定義することができる。なお、上述の実施形態では、強調するべき物理量に対して、広範なカラーをマッピングしたが、人間に対して目立つ色(例えば赤色系などの色)を選択的にマッピングすることにより、塗り分けるようにしてもよい。或いは、カラーマップの代わりにグレースケール等のモノクロ階調マップをマッピングすることにより、塗り分けをしてもよい。
【0037】
上述の本実施形態に従えば、物理値の特徴を失うことなく、より適切なカラーマップの設定による塗り分けが行えることとなる。
【0038】
なお、上記実施形態では、二階微分がゼロとなる変曲点の存在を前提とした。二階微分がゼロとならない場合も当然存在する。この場合には、可視化平面内で物理値の増加率又は減少率がゼロをまたがない場合である。この場合は、可視化平面上で最大値と最小値をとる物理値を抽出し、その最大値と最小値との間で、モデルに色づけがなされるよう、カラーマップを設定してもよい。あるいは、物理値の勾配が大きな領域は、その現象が把握しづらくなる可能性がある。このため、物理値の勾配が最も大きくなる位置及び方向を特定し、その方向における物理値の最大値と最小値との間については、図10の範囲M2に示すような、広い範囲のカラーをマッピングすることにより、塗りわけを行なってもよい。
【0039】
図11は、ベクトルデータに対するカラーマップの適用を示している。上述の各種実施形態は、モデルの表面にカラーをマッピングするものであった。図11(a)では、矢印を用いたベクトル表現に対して、カラーをマッピングした例を示している。ベクトルに対してカラーをマッピングする場合にも、上述の各種実施形態と同様にカラーマップの適用を行うことができる。なお、ベクトルは、長さを持つため、ベクトルの始点位置を可視化平面上に射影することとしてもよい。カラーのマッピングの対象となるベクトルの物理値として何を選ぶかは、ユーザが指定すればよい。図11(b)は、矢印の代わりにパラソル状のポリゴンを用いたものであり、表現形式を変えたものに過ぎない。この場合にも、例えばパラソル状の枝の位置を可視化平面上に射影すればよい。パラソル状のポリゴンに適用するカラーマップの設定に関しては、他の実施形態と同様の手法を用いることができる。なお、カラーマップの代わりにグレースケール等のモノクロ階調マップを設定して、塗りわけを行なってもよい。
【0040】
図12は、テンソルデータに対するカラーマップの適用示している。テンソル値には、例えばMRIで出力される空間データが挙げられる。テンソルの場合、glyphと呼ばれるアイコンにより可視化が行われるのが通例である。テンソルは、空間上の離散点毎に以下のように定義される。
【0041】
【数1】
このテンソル量に対して、固有値λ、固有ベクトルeは以下のように定義される。
【0042】
Dei=λiei
固有値から得られる3つの係数と、3つの固有ベクトルにより、glyphと呼ばれる形状による表現を実現する。
【0043】
まず、基準となるglyphが正方形の場合、縦横高さの比を上記の3つの値を用いる。次に、固有ベクトルにより、このglyphの3次元的な回転を決定する。配色は、用いる対象によるが、固有値又は固有ベクトルのいずれかを選択し、この値の大きさにより配色を実現しカラーマップを定義する。なお、カラーマップの代わりにグレースケール等のモノクロ階調マップを定義して、塗りわけを行なってもよい。
【0044】
このglyphをベクトルのポリゴンの矢印と同様に、glyphの代表点(例えば重心の位置)をその位置として決定し、可視化平面の構造格子の格子点の物理値を補間する処理以降の処理を実行することでカラーマップの自動調整が可能となる。図12を参照すると、glyph形状1201、1202、1203に異なる色がマッピングされることにより、塗りわけが行なわれる。
【0045】
図13は、一実施形態の処理フローを示している。図13(a)は、時間変化のない静的なモデルに対する処理を示している。なお、前提として、表示対象のモデルの全体がレンダリングされていると仮定する。
【0046】
ステップ1302で、まずユーザが始点座標、可視化範囲の設定を行う。
【0047】
ステップ1304で、ポリゴンの節点位置、又は重心位置の座標と物理値を抽出する。
【0048】
ステップ1306で、可視化平面上に物理値を射影する。
【0049】
ステップ1308で、可視化平面上の格子点の物理値を補間する。
【0050】
ステップ1310で、可視化平面上での物理値の特徴を抽出する。具体的には、二階微分を行うことにより、変曲点ラインを特定する。変曲点ラインが発見できなければ、勾配の大きいベクトルの位置と方向、物理値の最大値と最小値等を特定する。
【0051】
ステップ1312で、特定された特徴に基づき、カラーマップの設定を行う。
【0052】
ステップ1314で、カラーマップを用いて、レンダリングを行う。
【0053】
以上の操作を経ることにより、画像が表示される。さらに始点座標や可視化範囲を変更したい場合には、ステップ1302に戻る。
【0054】
図13(b)は、動的に変化する対象に対する処理フローを示している。処理の詳細は以下の通りである。
【0055】
ステップ1322で、まずユーザが始点座標、可視化範囲の設定を行う。
【0056】
ステップ1324で、ポリゴンの節点位置、又は重心位置の座標と物理値を抽出する。
【0057】
ステップ1326で、可視化平面上に物理値を射影する。
【0058】
ステップ1328で、可視化平面上の格子点の物理値を補間する。
【0059】
ステップ1330で、可視化平面上での物理値の特徴を抽出する。具体的には、二階微分を行うことにより、変曲点ラインを特定する。変曲点ラインが発見できなければ、勾配の大きいベクトルの位置と方向、物理値の最大値と最小値等を特定する。
【0060】
ステップ1332で、特定された特徴に基づき、カラーマップの設定を行う。
【0061】
ステップ1334で、カラーマップを用いて、レンダリングを行う。
【0062】
以上の処理の内容は、図13(a)と同じであるが、対象が動的に変化するため、処理は、ステップ1336において、前ステップでの可視化平面上のデータを保存し、その後、ステップ1324に戻ることとなる。
【0063】
なお、このフローでは、毎回カラーマップの設定を行っているが、カラーマップは最初の処理のときに決定したものに固定させてもよい。対象の時間的な変化を観察するには、カラーマップは固定しておいた方が、変化部分が分かりやすいからである。なお、途中で新たな変曲点ラインが出現したり、既に存在していた変曲点ラインが消滅したりする場合もある。この場合には、カラーマップを再設定するようにしてもよい。あるいは、ユーザによる指示に基づいて、カラーマップの再設定を適宜必要な時期に実行させてもよい。なお、カラーマップの代わりにグレースケール等のモノクロ階調マップを設定してもよい。
【0064】
図14は、一実施形態の機能ブロック図を示している。
【0065】
データ入力部1410は、数値シミュレーションデータや、MRI測定データなどのデータの入力を行い、記憶部1460に格納する。
【0066】
可視化範囲受取部は、ユーザが関心を持っている可視化範囲の指示を受け付ける。
【0067】
諸情報設定部1414は、必要に応じて、可視化範囲の中で、特に注目する点である注目点、注目範囲の入力を受け付けたり、カラーマップの再設定指示等のマニュアル入力を受け付けたりする。
【0068】
物理値射影部1420は、物理値を可視化平面に射影する処理を行う。
【0069】
補間手段1422は、射影された物理値を、可視化平面上の各格子点の位置に補間する処理を行う。
【0070】
強調標示物理値範囲特定部1430は、物理値の特徴を特定し、強調すべき物理値の範囲を特定する。
【0071】
二階微分手段1432は、可視化平面上での物理値の二階微分を行い、変曲点ラインを特定する。
【0072】
インデックス追跡部1436は、変曲点ラインにインデックスを付与し、動的に変化する対象のインデックスの追跡、インデックスの新たな出現、消滅の管理を行う。
【0073】
最大最小特定部1434は、物理値の最大値、最小値の特定を行う。また、物理値が最大の勾配ベクトルを持つ可視化平面上の位置と方向を特定してもよい。
【0074】
カラーマップ定義部1450は、認識された物理値の特徴から、カラーマップを定義する。もちろん、カラーマップの代わりにグレースケール等のモノクロ階調マップを定義しても良い。
【0075】
レンダリング部1416は、定義されたカラーマップに基づいて、可視化平面上に画像をレンダリングすることにより塗りわけを行なう。また、モデルの全体の画像のレンダリングも行う。
【0076】
表示部1418は、レンダリングされた画像を表示する。
【0077】
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
三次元空間に形成されたモデルの各々の領域の物理値に基づいて、前記モデルについての可視化範囲を描画する描画装置において、
前記可視化範囲を設定する設定部と、
前記設定された可視化範囲に対応する前記モデルの各々の領域の物理値を前記描画装置の表示対象である可視化平面に射影する射影部と、
前記可視化平面に射影された前記モデルの各々の領域の物理値に基づき、前記可視化範囲において物理値を塗り分ける範囲を特定する特定部と、
前記物理値の範囲に基づき、物理値と色との関係を定める色情報を定義する定義部と、
前記定義された色情報と前記特定された物理値を塗り分ける範囲とに基づき、前記可視化範囲を塗り分ける描画部と、
を有することを特徴とする描画装置。
(付記2)
前記特定部は、
前記可視化平面に射影された前記モデルの各々の領域の物理値の二階微分が零となる変曲点を結んだ範囲を前記塗り分ける範囲として特定することを特徴とする付記1記載の描画装置。
(付記3)
前記特定部は、
前記可視化平面における物理値の最大値と最小値とを含む範囲として前記物理値を塗り分ける範囲を特定することを特徴とする付記1記載の描画装置。
(付記4)
前記射影部は、
前記モデルの各々の領域の格子点の位置に物理値が割り当てられていない場合、前記格子点の周囲の物理値によって補間値を算出し、算出した補間値を格子点の位置の物理値として割当てることを特徴とする付記1記載の描画装置。
(付記5)
三次元空間に形成されたモデルの各々の領域の物理値に基づいて、前記モデルについての可視化範囲を描画する描画方法において、
コンピュータが、
前記可視化範囲を設定し、
前記設定された可視化範囲に対応する前記モデルの各々の領域の物理値を表示対象である可視化平面に射影し、
前記可視化平面に射影された前記モデルの各々の領域の物理値に基づき、前記可視化範囲において物理値を塗り分ける範囲を特定し、
前記物理値の範囲に基づき、物理値と階調との関係を定める階調情報を定義し、
前記定義された階調情報と前記特定された物理値を塗り分ける範囲とに基づき、前記可視化範囲を塗り分けることを特徴とする描画方法。
(付記6)
前記特定する処理は、
コンピュータが、
前記可視化平面に射影された前記モデルの各々の領域の物理値の二階微分が零となる変曲点を結んだ範囲を前記塗り分ける範囲として特定することを特徴とする付記5記載の描画方法。
(付記7)
前記特定する処理は、
コンピュータが、
前記可視化平面における物理値の最大値と最小値とを含む範囲として前記物理値を塗り分ける範囲を特定することを特徴とする付記5記載の描画方法。
(付記8)
前記射影する処理は、
コンピュータが、
前記モデルの各々の領域の格子点の位置に物理値が割り当てられていない場合、前記格子点の周囲の物理値によって補間値を算出し、算出した補間値を格子点の位置の物理値として割当てることを特徴とする付記5記載の描画方法。
(付記9)
三次元空間に形成されたモデルの各々の領域の物理値に基づいて、前記モデルについての可視化範囲を描画する描画プログラムにおいて、
コンピュータに、
前記可視化範囲を設定させ、
前記設定された可視化範囲に対応する前記モデルの各々の領域の物理値を表示対象である可視化平面に射影させ、
前記可視化平面に射影された前記モデルの各々の領域の物理値に基づき、前記可視化範囲において物理値を塗り分ける範囲を特定させ、
前記物理値の範囲に基づき、物理値と階調との関係を定める階調情報を定義させ、
前記定義された階調情報と前記特定された物理値を塗り分ける範囲とに基づき、前記可視化範囲を塗り分けさせることを特徴とする描画プログラム。
(付記10)
前記特定させる処理は、
コンピュータに、
前記可視化平面に射影された前記モデルの各々の領域の物理値の二階微分が零となる変曲点を結んだ範囲を前記塗り分ける範囲として特定させることを特徴とする付記9記載の描画プログラム。
(付記11)
前記特定させる処理は、
コンピュータに、
前記可視化平面における物理値の最大値と最小値とを含む範囲として前記物理値を塗り分ける範囲を特定させることを特徴とする付記9記載の描画プログラム。
(付記12)
前記射影させる処理は、
コンピュータに、
前記モデルの各々の領域の格子点の位置に物理値が割り当てられていない場合、前記格子点の周囲の物理値によって補間値を算出し、算出した補間値を格子点の位置の物理値として割当てさせることを特徴とする付記9記載の描画プログラム。
【符号の説明】
【0078】
1410 データ入力部
1412 可視化範囲受取部
1414 諸情報設定部
1416 レンダリング部
1418 表示部
1420 物理値射影部
1430 強調表示物理値範囲特定部
1450 カラーマップ定義部
1460 記憶部
【技術分野】
【0001】
本発明は、描画装置、描画方法及び描画プログラムに関する。
【背景技術】
【0002】
近年、計算機シミュレーションは、様々な分野で利用されるようになってきた。計算機シミュレーションの大規模・高度化により、計算機シミュレーションのデータ量は、計算機の計算能力の向上とともに増加傾向にあり、特に高度科学技術計算(HPC:High Performance Computing)の分野においては、従来よりもデータ量が膨大なものとなっている。近年のシミュレーションでは、ナノデバイスシミュレーションのような原子構造、生体シミュレーションの各臓器などの形状表現に多くの表示用多面体(ポリゴン)を利用する。また、離散化したデータとしては通常目に見えない応力、渦度などの空間上のスカラー値、速度・主応力などのベクトル値、せん断応力やMRIによって出力されるテンソル値などの空間データがある。これらは一般に抽象化した3次元形状で表示され、その3次元形状が空間に大量に生成される。
【0003】
近年のシミュレーションの出力データ量の増加は著しく、従来よりも膨大な量(テラバイト〜ペタバイト単位のデータ量)のデータとなりつつあるため、表示のためのポリゴン数が増加し可視化処理時間も従来よりも増加している。
【0004】
そして、この三次元形状の上に更にカラーをマッピングして、この三次元形状を更に見やすくする処理が行われる。どのパラメータ(物理値:例えば、応力、速度、温度等)にカラーをマッピングするかは、ユーザがどのパラメータ(物理値)に着目しているかに依存する。物理値と色とのマッピングを定義したものをカラーマップと呼ぶ。
【0005】
このような大規模データに対応する可視化技術やシステムの開発が現在進められているが、可視化処理中でユーザが最も手間がかかる作業の一つが上述のカラーマップの設定である。可視化処理では、ポリゴン上に、ユーザが指定した物理値分布をカラーマップに従ってカラーに置き換えて、コンピュータグラフィックスの処理を行うことでシミュレーション対象の現象の観察を容易化する。しかしながら、時間変化を伴うデータや着目したい細かな現象にあわせてカラーマップを設定するためには、着目した部分の物理値の分布を観察しながら適したカラーマップを繰り返し設定して確認することになり、かなりの処理時間が必要となる。
【0006】
図1Aは、表示された画像の一部を拡大した画像に対するカラーマップの調整を示している。図1A(a)は、全体の画像を示している。この中から、ユーザが関心を持っている領域を可視化範囲として白枠により指定する。なお、可視化範囲の指定は、マウス、タブレットなどのポインティングデバイスで指定してもよい。あるいは、シミュレーションしたカメラを用いて、カメラ位置、レンズ焦点距離、レンズ方向等を決定することにより行ってもよい。
【0007】
図1A(b)は、全体画像(図1A(a))に適用したカラーマップをそのまま用いて可視化範囲をレンダリングした画像を示している。この場合には、画面上の8割程度が黒に近い色調の画像となっている。ユーザが関心を持っている可視化範囲が適切にレンダリングされていないことが分かる。
【0008】
これに対して、図1A(c)は、可視化範囲のカラーマップを手動で調整した例を示している。可視化範囲の現象が顕著に観察できるよう、カラーマップを適正に設定している。図1A(c)においては、白黒の画像となっているが、実際の画像は、カラーがマッピングされており、ユーザが見やすい画像となっている。ユーザによるカラーマップの設定を行う際、可視化範囲の現象がより鮮明にレンダリングされるように、ユーザは複数回のカラーマップの設定及びレンダリングの処理を繰り返し、試行錯誤を繰り返すこととなる。このように、カラーマップの調整には時間がかかる。
【0009】
図1Bに可視化処理の流れを示す。まず数値データを処理装置に入力する(110)。そして、必要に応じて前処理として数値データのフィルタ処理を行う(120)。フィルタ処理としては、対象とするデータ範囲の選択処理等が挙げられる。この時、カラー表示の対象とする物理値を選択する。次に、可視化の手法によって処理することで、形状生成を行う。また、可視化対象の物理値をカラーマップによって色に置き換える(130)。この形状とカラーを入力として、レンダリング処理等のグラフィック処理を行う。
【0010】
カラーマップを設定し直す場合には、数値データのフィルタ処理のステップ120に戻る必要がある。ステップ130の処理後においては、データはカラーデータと形状データとが一体となっており、図1A(c)のように調整ができない。したがって、ステップ110においてデータ入力を再度行う必要があり、処理時間を要することとなる。
【0011】
例えば、数値シミュレーション結果の数値データを可視化する装置において、輝度計算手段が、数値データ格納手段から供給される数値データを補間して各画素に対する数値データを求め、この数値データに対応する色を予め用意してあるデータ値と色との対応表とから求め、この色に供給される各画素が表示すべき地点に当たる光の強度を掛け合わせることにより画素の輝度を計算する技術が知られている。
【0012】
また、骨組構造の応答シミュレーション表示システムにおいて、任意の点をマウス等の時系列点指定手段により指定し、指定された時系列点における各節点、各要素または各面要素の有する物理量レベルを、表示装置に表示された骨組構造物の対応する各節点、各要素または各面要素部分に物理量レベル値に応じて色分け表示する技術が知られている。
【0013】
また、解析対象の状態を解析計算し、その解析計算結果から、あらかじめ与えられている可視化のためのパラメータに基づき、解析対象の状態を画像として示すためのピクセルデータを生成し、加えて、ピクセルデータの所定の視点からの深さデータであるZバッファ値を生成し、ピクセルデータとZバッファ値とにより1フレームのピクセルデータを合成してこれを表示する可視化処理方法が知られている。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】特許第3047339号
【特許文献2】特開平8−129579号公報
【特許文献3】特開平9−293146号公報
【発明の概要】
【発明が解決しようとする課題】
【0015】
1つの側面では、本発明は、シミュレーションデータに対する可視化処理において、可視化範囲のデータから可視化範囲を明瞭に表示するためのカラーマップを自動的に決定することを目的とする。
【課題を解決するための手段】
【0016】
本描画装置の一観点によれば、三次元空間に形成されたモデルの各々の領域の物理値に基づいて、前記モデルについての可視化範囲を描画する描画装置において、前記可視化範囲を設定する設定部と、前記設定された可視化範囲に対応する前記モデルの各々の領域の物理値を前記描画装置の表示対象である可視化平面に射影する射影部と、前記可視化平面に射影された前記モデルの各々の領域の物理値に基づき、前記可視化範囲において物理値を塗り分ける範囲を特定する特定部と、前記物理値の範囲に基づき、物理値と色との関係を定める色情報を定義する定義部と、前記定義された色情報と前記特定された物理値を塗り分ける範囲とに基づき、前記可視化範囲を塗り分ける描画部と、を有することを特徴とする描画装置が提供される。
【発明の効果】
【0017】
シミュレーションデータ等に対する可視化処理において、可視化範囲のデータからその範囲を明瞭に表示するためのカラーマップを自動的に決定することができる。
【図面の簡単な説明】
【0018】
【図1A】一部を拡大した画像に対するカラーマップの調整を示す図である。
【図1B】可視化処理の流れを示す図である。
【図2】可視化処理の装置構成を示す図である。
【図3】可視化処理のハードウェア構成を示す図である。
【図4】可視化範囲の指定の例を示す図である。
【図5】可視化範囲の物理値の抽出を示す図である。
【図6】可視化平面に物理値を射影した図である。
【図7】可視化平面の構造格子の格子点に物理値を補間計算により割り当てる図である。
【図8】可視化画面上での物理値の変曲点ラインを示す図である。
【図9】変曲点ラインが時間と共に移動する様子を示す図である。
【図10】カラーマップの例を示す図である。
【図11】ベクトルデータに対するカラーマップの適用を示す図である。
【図12】テンソルデータに対するカラーマップの適用を示す図である。
【図13】一実施形態の処理フローを示す図である。
【図14】一実施形態の機能ブロック図である。
【発明を実施するための形態】
【0019】
図2は、一実施形態としての可視化処理の装置構成200を示している。計算機210を用いて数値シミュレーションのためのアプリケーションを実行させる。数値シミュレーションの例としては、流体の流れ、部材への曲げ応力による部材の挙動等が挙げられる。なお、本実施形態は、計算機による数値シミュレーション以外に、実際の物理的現象から取得されたデータをも対象としていることは言うまでもない。例えば、MRI(Magnetic Resonance Imaging)による患者の内蔵の計測データなどの現実の物理現象から取得されたデータの可視化にも利用できる。
【0020】
数値シミュレーションアプリケーション220を実行させた結果として、数値データ225が取得される。数値データ225は、一旦ファイルサーバ230に格納される。可視化用計算機240には、可視化アプリケーション250がインストールされている。この可視化アプリケーションは、本実施形態の多くの部分の処理を実行するプログラムである。最終的にレンダリングされた画像265は、ディスプレイ260に表示される。
【0021】
図3は、可視化処理のハードウェア構成を示している。処理装置300の各々のハードウェアは、バス330によって相互に接続されている。演算部301は、アプリケーションプログラムの実行など全体の処理を実行する。メモリ302及びHDD(Hard Disk Drive)303は、必要なプログラム及びデータを格納する。グラフィック処理部は、三次元モデルのレンダリングに関連する処理を行う。グラフィック処理部は、専用のGPU(Graphics Processing Unit)を備えていてもよい。レンダリングされた画像は、最終的に表示装置310に送られ、画面に表示される。通信インターフェースは、インターネット等のネットワーク309を介して、外部の機器との通信を行う。ドライブ306は、プログラムやデータを格納したコンピュータ読み取り可能な記憶媒体315に対して、読み書きを行うことができる。インターフェース部308は、キーボード、マウス等の入力装置307とのインターフェースをつかさどる。
【0022】
なお、本実施形態のプログラムは、コンピュータ読み取り可能な記憶媒体に格納することができる。コンピュータ読み取り可能な記憶媒体とは、構造(structure)を有する1つ以上の非一時的(non-transitory)な、有形(tangible)な、記憶媒体を言う。例示として、コンピュータ読み取り可能な記憶媒体としては、磁気記録媒体、光ディスク、光磁気記録媒体、不揮発性メモリなどがある。磁気記録媒体には、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)などがある。
【実施例】
【0023】
図4は、可視化範囲の指定の例を示している。図4(a)は、シミュレーション結果の全体の画像を示す。シミュレーション結果から、三次元空間上のモデルを二次元平面にレンダリングする技術は、当業者に既知の様々な手法を用いることができる。図4(a)には、ユーザがマウス等のポインティングデバイスで、関心対象(可視化範囲)を長方形で囲んでいる様子が描かれている。
【0024】
図4(b)は、ユーザにより指示された可視化範囲を拡大表示した画像である。ユーザは、通常、シミュレーション結果全体の画像から、特に関心のある領域を詳細に観察したい場合がある。この場合、全体の画像(a)に用いられたカラーマップが、可視化範囲(b)に対するカラーマップとして適切である保証はない。この点は、図1Aを例に上述した通りである。したがって、ユーザは、可視化範囲(b)に対して、必要に応じて異なる最適なカラーマップを適用する必要がある。なお、図4(b)のモデルは、複数の三角形のポリゴンPgnで構成されている。なお、三次元形状をモデル化する手法として、ポリゴン以外の手法を用いてもよいことは言うまでもない。また、ポリゴンPgnは、必ずしも三角形である必要はないが、三角形のポリゴンが計算上の有利さから一般的に用いられている。
【0025】
また、ユーザに対し、注視点P及び注視範囲Eを更に指定させるようにしてもよい。注視点P及び注視範囲Eとは、ユーザが指定した可視化範囲の中で、とりわけ重要視したい点、あるいは範囲を示すものである。例えば、以下に例示する各種実施形態において、注視点Pに近い物理値の特徴は、より優先的に取り扱ってもよい。また、注視範囲Eに入る物理値の特徴は、他の場所にある物理値の特徴よりも優先して取り扱ってもよい。なお、注視点Pや、注視範囲Eを指定しなくてもよい。あるいは、可視化範囲の中央位置を注視点として、デフォルトで扱ってもよい。また、可視化範囲の中央部を注視範囲Eとしてデフォルトで扱ってもよい。
【0026】
図5は、一実施形態としての可視化範囲の物理値を可視化平面上に抽出する例を示している。なお、可視化平面とは、可視化範囲が写像された平面を言う。図5では、三次元モデルのそれぞれの位置における物理値を抽出する例を二つ図示している。物理値を抽出する理由は、後の処理に示すように、可視化画面上で物理値の特徴抽出を行うためである。この操作を行うことによって、画面に表示させるための可視化範囲に関連する物理値だけを、後の処理対象とすることができ、無駄な計算を排除することができる。
【0027】
なお、この一連の処理で対象とするポリゴンPgnは、対象とするモデルの表面のポリゴンである。したがって、この処理に先立ち、視点の位置関係から、視点に一番近い(すなわち一番手前に存在する)ポリゴンを対象とすればよい。手前にあるポリゴンを探索するためには、Zバッファを用いる等の既存の手法が利用できる。
【0028】
図5(a)は、ポリゴンの節点に着目し、それぞれの節点位置での物理値を抽出する。例えば、節点Bnの位置に対応する物理値を抽出する。
【0029】
図5(b)は、ポリゴンの重心位置における物理値を抽出する例を示している。たとえば、ポリゴンの重心bmの位置に対応する物理値を抽出すればよい。
【0030】
なお、実際に計算結果として保持している有限個のシミュレーションデータの物理値は、三次元空間上に離散的に存在している。したがって、必ずしも図5(a)または図5(b)の丸で示した各位置に、物理値のデータが存在しない場合もあり得る。この場合には、丸の位置の周辺に存在する物理値を補間して、その丸の位置の物理値として採用してもよい。
【0031】
図6は、可視化平面に物理値を射影した様子を示している。図において示される枠601は、可視化平面である。例えば、Bnの位置に物理値が射影されている。便宜上、可視化平面上に、直交座標(u,v)を定義し、その後の計算に用いてもよい。図6に示すように、射影された物理値の位置は、可視化平面上に等間隔に整然と並んでいるわけでなく、球面状に歪んでいることが分かる。
【0032】
図7は、可視化平面に等間隔の直交する格子を仮想的に設け、図6において得られた物理値と物理値の可視辺面上の位置に基づき補間計算を行い、格子点の各々の位置に物理値を割り当てる処理を示している。例えば、格子点Qに物理値が割り当てられていない場合には、格子点Qの周辺に存在する点B1ないし点B4の4つの点の物理値及び位置と、格子点Qの位置とに基づいて、線形補間計算を行う。その計算結果を、格子点Qの物理値として割り当ててもよい。なお、袖領域を設けて、対象とする可視化平面上の端の位置の各々の格子点での物理値の補間計算の誤差を排除できるようにしてもよい。以上の処理によって、可視化平面上に等間隔に並ぶ格子点の各々に、物理値が割り当てられることになり、後の計算を容易化することができる。なお、格子点を設けずに、後の処理を行ってもよい。本実施形態の開示は、本発明を限定するためのものではない。この点は、その余の実施形態の開示についても同様である。
【0033】
図8は、可視化画面上での物理値の変曲点ラインHを示している。物理値の変曲点とは、物理値を二階微分した場合に、零となる点を言う。物理値は、可視化平面上に二次元的に広がっているため、空間的に二階微分を行う。ここで、変曲点ラインHとは、変曲点を結んだ線を言う。図8(b)は、これを模式的に示した図である。図8(b)の下の図は、可視化平面が持つ物理値の値を高さとして模式的に示している。物理値の値を高さで表現した場合、凸面から凹面(又はその逆)に変化する点が変曲点である。変曲点を結んだ線を変曲点ラインと呼ぶ。これを可視化平面上で射影した線が変曲点ラインHとして示されている。変曲点ラインは、物理値が大きく変化し、特徴的な部分であると言える。そして、変曲点ラインが物理値に対して界面を形成していると見ることもできる。変曲点ラインは、このように物理値の特徴的な位置を示すにもかかわらず、通常のカラーマップでは、その位置をカラーから認識することは非常に難しかった。また、この変曲点ラインが、時間と共に、可視化平面を移動してゆくことも、通常のカラーマップの適用では認識できるようにすることが難しかった。上述のように、ユーザに対して、試行錯誤のカラーマップのマニュアル設定を行わせなければならないからである。
【0034】
図9は、上述したように、変曲点ラインが時間と共に移動する様子を示している。時刻t1に存在した変曲点ラインH1が、時刻t2においては、H2に移動している。この変曲点ラインを追跡するために、インデックスを付与して管理してもよい。また、新たな変曲点ラインが出現した場合には、新たなインデックスを追加して付与してもよい。なお、この変曲点ラインが閉曲線となる場合もある。また、変曲点ラインが、複数本存在する場合もある。そして、この変曲点ラインを持つ物理値の前後で、カラーリングが明瞭になるようにしてもよい。
【0035】
図10は、カラーマップの例を示している。カラーマップは、一般的に、パラメータ(物理値)の特定の値に対して特定の色を対応付けることにより、塗り分けを行なうためのマッピングを定義したものである。したがって、カラーマップは、このマッピングを定義できれば、どのような形式であってもよい。形式としては、グラフ形式、表形式、あるいは、関数の形式など、様々な形式をとることができる。図10においては、グラフの形式でカラーマップを表現している。図10においては、物理値の範囲のうち、M2の範囲に対して、他の範囲(M1及びM3)よりもより多様な色を割り当てることにより、塗り分けを行なっていることが分かる。したがって、例えば、物理値が範囲M2にあるときには、微少な物理値の変化をより大きな色の変化として表現することが可能となることが分かる。
【0036】
例えば、図9における変曲点ラインの物理値が、範囲M2に収まっている場合を仮定する。この場合には、変曲点が存在する物理値の近傍の物理値の変化に対し、敏感に色が変化することとなる。したがって、図9に示すように変曲点ラインの特徴を認識し、その特徴に基づいて図10に示すようにカラーマップを設定すれば、可視化範囲において、物理値の特徴を適切に表現できるカラーマップを自動的に定義することができる。なお、上述の実施形態では、強調するべき物理量に対して、広範なカラーをマッピングしたが、人間に対して目立つ色(例えば赤色系などの色)を選択的にマッピングすることにより、塗り分けるようにしてもよい。或いは、カラーマップの代わりにグレースケール等のモノクロ階調マップをマッピングすることにより、塗り分けをしてもよい。
【0037】
上述の本実施形態に従えば、物理値の特徴を失うことなく、より適切なカラーマップの設定による塗り分けが行えることとなる。
【0038】
なお、上記実施形態では、二階微分がゼロとなる変曲点の存在を前提とした。二階微分がゼロとならない場合も当然存在する。この場合には、可視化平面内で物理値の増加率又は減少率がゼロをまたがない場合である。この場合は、可視化平面上で最大値と最小値をとる物理値を抽出し、その最大値と最小値との間で、モデルに色づけがなされるよう、カラーマップを設定してもよい。あるいは、物理値の勾配が大きな領域は、その現象が把握しづらくなる可能性がある。このため、物理値の勾配が最も大きくなる位置及び方向を特定し、その方向における物理値の最大値と最小値との間については、図10の範囲M2に示すような、広い範囲のカラーをマッピングすることにより、塗りわけを行なってもよい。
【0039】
図11は、ベクトルデータに対するカラーマップの適用を示している。上述の各種実施形態は、モデルの表面にカラーをマッピングするものであった。図11(a)では、矢印を用いたベクトル表現に対して、カラーをマッピングした例を示している。ベクトルに対してカラーをマッピングする場合にも、上述の各種実施形態と同様にカラーマップの適用を行うことができる。なお、ベクトルは、長さを持つため、ベクトルの始点位置を可視化平面上に射影することとしてもよい。カラーのマッピングの対象となるベクトルの物理値として何を選ぶかは、ユーザが指定すればよい。図11(b)は、矢印の代わりにパラソル状のポリゴンを用いたものであり、表現形式を変えたものに過ぎない。この場合にも、例えばパラソル状の枝の位置を可視化平面上に射影すればよい。パラソル状のポリゴンに適用するカラーマップの設定に関しては、他の実施形態と同様の手法を用いることができる。なお、カラーマップの代わりにグレースケール等のモノクロ階調マップを設定して、塗りわけを行なってもよい。
【0040】
図12は、テンソルデータに対するカラーマップの適用示している。テンソル値には、例えばMRIで出力される空間データが挙げられる。テンソルの場合、glyphと呼ばれるアイコンにより可視化が行われるのが通例である。テンソルは、空間上の離散点毎に以下のように定義される。
【0041】
【数1】
このテンソル量に対して、固有値λ、固有ベクトルeは以下のように定義される。
【0042】
Dei=λiei
固有値から得られる3つの係数と、3つの固有ベクトルにより、glyphと呼ばれる形状による表現を実現する。
【0043】
まず、基準となるglyphが正方形の場合、縦横高さの比を上記の3つの値を用いる。次に、固有ベクトルにより、このglyphの3次元的な回転を決定する。配色は、用いる対象によるが、固有値又は固有ベクトルのいずれかを選択し、この値の大きさにより配色を実現しカラーマップを定義する。なお、カラーマップの代わりにグレースケール等のモノクロ階調マップを定義して、塗りわけを行なってもよい。
【0044】
このglyphをベクトルのポリゴンの矢印と同様に、glyphの代表点(例えば重心の位置)をその位置として決定し、可視化平面の構造格子の格子点の物理値を補間する処理以降の処理を実行することでカラーマップの自動調整が可能となる。図12を参照すると、glyph形状1201、1202、1203に異なる色がマッピングされることにより、塗りわけが行なわれる。
【0045】
図13は、一実施形態の処理フローを示している。図13(a)は、時間変化のない静的なモデルに対する処理を示している。なお、前提として、表示対象のモデルの全体がレンダリングされていると仮定する。
【0046】
ステップ1302で、まずユーザが始点座標、可視化範囲の設定を行う。
【0047】
ステップ1304で、ポリゴンの節点位置、又は重心位置の座標と物理値を抽出する。
【0048】
ステップ1306で、可視化平面上に物理値を射影する。
【0049】
ステップ1308で、可視化平面上の格子点の物理値を補間する。
【0050】
ステップ1310で、可視化平面上での物理値の特徴を抽出する。具体的には、二階微分を行うことにより、変曲点ラインを特定する。変曲点ラインが発見できなければ、勾配の大きいベクトルの位置と方向、物理値の最大値と最小値等を特定する。
【0051】
ステップ1312で、特定された特徴に基づき、カラーマップの設定を行う。
【0052】
ステップ1314で、カラーマップを用いて、レンダリングを行う。
【0053】
以上の操作を経ることにより、画像が表示される。さらに始点座標や可視化範囲を変更したい場合には、ステップ1302に戻る。
【0054】
図13(b)は、動的に変化する対象に対する処理フローを示している。処理の詳細は以下の通りである。
【0055】
ステップ1322で、まずユーザが始点座標、可視化範囲の設定を行う。
【0056】
ステップ1324で、ポリゴンの節点位置、又は重心位置の座標と物理値を抽出する。
【0057】
ステップ1326で、可視化平面上に物理値を射影する。
【0058】
ステップ1328で、可視化平面上の格子点の物理値を補間する。
【0059】
ステップ1330で、可視化平面上での物理値の特徴を抽出する。具体的には、二階微分を行うことにより、変曲点ラインを特定する。変曲点ラインが発見できなければ、勾配の大きいベクトルの位置と方向、物理値の最大値と最小値等を特定する。
【0060】
ステップ1332で、特定された特徴に基づき、カラーマップの設定を行う。
【0061】
ステップ1334で、カラーマップを用いて、レンダリングを行う。
【0062】
以上の処理の内容は、図13(a)と同じであるが、対象が動的に変化するため、処理は、ステップ1336において、前ステップでの可視化平面上のデータを保存し、その後、ステップ1324に戻ることとなる。
【0063】
なお、このフローでは、毎回カラーマップの設定を行っているが、カラーマップは最初の処理のときに決定したものに固定させてもよい。対象の時間的な変化を観察するには、カラーマップは固定しておいた方が、変化部分が分かりやすいからである。なお、途中で新たな変曲点ラインが出現したり、既に存在していた変曲点ラインが消滅したりする場合もある。この場合には、カラーマップを再設定するようにしてもよい。あるいは、ユーザによる指示に基づいて、カラーマップの再設定を適宜必要な時期に実行させてもよい。なお、カラーマップの代わりにグレースケール等のモノクロ階調マップを設定してもよい。
【0064】
図14は、一実施形態の機能ブロック図を示している。
【0065】
データ入力部1410は、数値シミュレーションデータや、MRI測定データなどのデータの入力を行い、記憶部1460に格納する。
【0066】
可視化範囲受取部は、ユーザが関心を持っている可視化範囲の指示を受け付ける。
【0067】
諸情報設定部1414は、必要に応じて、可視化範囲の中で、特に注目する点である注目点、注目範囲の入力を受け付けたり、カラーマップの再設定指示等のマニュアル入力を受け付けたりする。
【0068】
物理値射影部1420は、物理値を可視化平面に射影する処理を行う。
【0069】
補間手段1422は、射影された物理値を、可視化平面上の各格子点の位置に補間する処理を行う。
【0070】
強調標示物理値範囲特定部1430は、物理値の特徴を特定し、強調すべき物理値の範囲を特定する。
【0071】
二階微分手段1432は、可視化平面上での物理値の二階微分を行い、変曲点ラインを特定する。
【0072】
インデックス追跡部1436は、変曲点ラインにインデックスを付与し、動的に変化する対象のインデックスの追跡、インデックスの新たな出現、消滅の管理を行う。
【0073】
最大最小特定部1434は、物理値の最大値、最小値の特定を行う。また、物理値が最大の勾配ベクトルを持つ可視化平面上の位置と方向を特定してもよい。
【0074】
カラーマップ定義部1450は、認識された物理値の特徴から、カラーマップを定義する。もちろん、カラーマップの代わりにグレースケール等のモノクロ階調マップを定義しても良い。
【0075】
レンダリング部1416は、定義されたカラーマップに基づいて、可視化平面上に画像をレンダリングすることにより塗りわけを行なう。また、モデルの全体の画像のレンダリングも行う。
【0076】
表示部1418は、レンダリングされた画像を表示する。
【0077】
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
三次元空間に形成されたモデルの各々の領域の物理値に基づいて、前記モデルについての可視化範囲を描画する描画装置において、
前記可視化範囲を設定する設定部と、
前記設定された可視化範囲に対応する前記モデルの各々の領域の物理値を前記描画装置の表示対象である可視化平面に射影する射影部と、
前記可視化平面に射影された前記モデルの各々の領域の物理値に基づき、前記可視化範囲において物理値を塗り分ける範囲を特定する特定部と、
前記物理値の範囲に基づき、物理値と色との関係を定める色情報を定義する定義部と、
前記定義された色情報と前記特定された物理値を塗り分ける範囲とに基づき、前記可視化範囲を塗り分ける描画部と、
を有することを特徴とする描画装置。
(付記2)
前記特定部は、
前記可視化平面に射影された前記モデルの各々の領域の物理値の二階微分が零となる変曲点を結んだ範囲を前記塗り分ける範囲として特定することを特徴とする付記1記載の描画装置。
(付記3)
前記特定部は、
前記可視化平面における物理値の最大値と最小値とを含む範囲として前記物理値を塗り分ける範囲を特定することを特徴とする付記1記載の描画装置。
(付記4)
前記射影部は、
前記モデルの各々の領域の格子点の位置に物理値が割り当てられていない場合、前記格子点の周囲の物理値によって補間値を算出し、算出した補間値を格子点の位置の物理値として割当てることを特徴とする付記1記載の描画装置。
(付記5)
三次元空間に形成されたモデルの各々の領域の物理値に基づいて、前記モデルについての可視化範囲を描画する描画方法において、
コンピュータが、
前記可視化範囲を設定し、
前記設定された可視化範囲に対応する前記モデルの各々の領域の物理値を表示対象である可視化平面に射影し、
前記可視化平面に射影された前記モデルの各々の領域の物理値に基づき、前記可視化範囲において物理値を塗り分ける範囲を特定し、
前記物理値の範囲に基づき、物理値と階調との関係を定める階調情報を定義し、
前記定義された階調情報と前記特定された物理値を塗り分ける範囲とに基づき、前記可視化範囲を塗り分けることを特徴とする描画方法。
(付記6)
前記特定する処理は、
コンピュータが、
前記可視化平面に射影された前記モデルの各々の領域の物理値の二階微分が零となる変曲点を結んだ範囲を前記塗り分ける範囲として特定することを特徴とする付記5記載の描画方法。
(付記7)
前記特定する処理は、
コンピュータが、
前記可視化平面における物理値の最大値と最小値とを含む範囲として前記物理値を塗り分ける範囲を特定することを特徴とする付記5記載の描画方法。
(付記8)
前記射影する処理は、
コンピュータが、
前記モデルの各々の領域の格子点の位置に物理値が割り当てられていない場合、前記格子点の周囲の物理値によって補間値を算出し、算出した補間値を格子点の位置の物理値として割当てることを特徴とする付記5記載の描画方法。
(付記9)
三次元空間に形成されたモデルの各々の領域の物理値に基づいて、前記モデルについての可視化範囲を描画する描画プログラムにおいて、
コンピュータに、
前記可視化範囲を設定させ、
前記設定された可視化範囲に対応する前記モデルの各々の領域の物理値を表示対象である可視化平面に射影させ、
前記可視化平面に射影された前記モデルの各々の領域の物理値に基づき、前記可視化範囲において物理値を塗り分ける範囲を特定させ、
前記物理値の範囲に基づき、物理値と階調との関係を定める階調情報を定義させ、
前記定義された階調情報と前記特定された物理値を塗り分ける範囲とに基づき、前記可視化範囲を塗り分けさせることを特徴とする描画プログラム。
(付記10)
前記特定させる処理は、
コンピュータに、
前記可視化平面に射影された前記モデルの各々の領域の物理値の二階微分が零となる変曲点を結んだ範囲を前記塗り分ける範囲として特定させることを特徴とする付記9記載の描画プログラム。
(付記11)
前記特定させる処理は、
コンピュータに、
前記可視化平面における物理値の最大値と最小値とを含む範囲として前記物理値を塗り分ける範囲を特定させることを特徴とする付記9記載の描画プログラム。
(付記12)
前記射影させる処理は、
コンピュータに、
前記モデルの各々の領域の格子点の位置に物理値が割り当てられていない場合、前記格子点の周囲の物理値によって補間値を算出し、算出した補間値を格子点の位置の物理値として割当てさせることを特徴とする付記9記載の描画プログラム。
【符号の説明】
【0078】
1410 データ入力部
1412 可視化範囲受取部
1414 諸情報設定部
1416 レンダリング部
1418 表示部
1420 物理値射影部
1430 強調表示物理値範囲特定部
1450 カラーマップ定義部
1460 記憶部
【特許請求の範囲】
【請求項1】
三次元空間に形成されたモデルの各々の領域の物理値に基づいて、前記モデルについての可視化範囲を描画する描画装置において、
前記可視化範囲を設定する設定部と、
前記設定された可視化範囲に対応する前記モデルの各々の領域の物理値を前記描画装置の表示対象である可視化平面に射影する射影部と、
前記可視化平面に射影された前記モデルの各々の領域の物理値に基づき、前記可視化範囲において物理値を塗り分ける範囲を特定する特定部と、
前記物理値の範囲に基づき、物理値と色との関係を定める色情報を定義する定義部と、
前記定義された色情報と前記特定された物理値を塗り分ける範囲とに基づき、前記可視化範囲を塗り分ける描画部と、
を有することを特徴とする描画装置。
【請求項2】
前記特定部は、
前記可視化平面に射影された前記モデルの各々の領域の物理値の二階微分が零となる変曲点を結んだ範囲を前記塗り分ける範囲として特定することを特徴とする請求項1記載の描画装置。
【請求項3】
前記特定部は、
前記可視化平面における物理値の最大値と最小値とを含む範囲として前記物理値を塗り分ける範囲を特定することを特徴とする請求項1記載の描画装置。
【請求項4】
前記射影部は、
前記モデルの各々の領域の格子点の位置に物理値が割り当てられていない場合、前記格子点の周囲の物理値によって補間値を算出し、算出した補間値を格子点の位置の物理値として割当てることを特徴とする請求項1記載の描画装置。
【請求項5】
三次元空間に形成されたモデルの各々の領域の物理値に基づいて、前記モデルについての可視化範囲を描画する描画方法において、
コンピュータが、
前記可視化範囲を設定し、
前記設定された可視化範囲に対応する前記モデルの各々の領域の物理値を表示対象である可視化平面に射影し、
前記可視化平面に射影された前記モデルの各々の領域の物理値に基づき、前記可視化範囲において物理値を塗り分ける範囲を特定し、
前記物理値の範囲に基づき、物理値と階調との関係を定める階調情報を定義し、
前記定義された階調情報と前記特定された物理値を塗り分ける範囲とに基づき、前記可視化範囲を塗り分けることを特徴とする描画方法。
【請求項6】
三次元空間に形成されたモデルの各々の領域の物理値に基づいて、前記モデルについての可視化範囲を描画する描画プログラムにおいて、
コンピュータに、
前記可視化範囲を設定させ、
前記設定された可視化範囲に対応する前記モデルの各々の領域の物理値を表示対象である可視化平面に射影させ、
前記可視化平面に射影された前記モデルの各々の領域の物理値に基づき、前記可視化範囲において物理値を塗り分ける範囲を特定させ、
前記物理値の範囲に基づき、物理値と階調との関係を定める階調情報を定義させ、
前記定義された階調情報と前記特定された物理値を塗り分ける範囲とに基づき、前記可視化範囲を塗り分けさせることを特徴とする描画プログラム。
【請求項1】
三次元空間に形成されたモデルの各々の領域の物理値に基づいて、前記モデルについての可視化範囲を描画する描画装置において、
前記可視化範囲を設定する設定部と、
前記設定された可視化範囲に対応する前記モデルの各々の領域の物理値を前記描画装置の表示対象である可視化平面に射影する射影部と、
前記可視化平面に射影された前記モデルの各々の領域の物理値に基づき、前記可視化範囲において物理値を塗り分ける範囲を特定する特定部と、
前記物理値の範囲に基づき、物理値と色との関係を定める色情報を定義する定義部と、
前記定義された色情報と前記特定された物理値を塗り分ける範囲とに基づき、前記可視化範囲を塗り分ける描画部と、
を有することを特徴とする描画装置。
【請求項2】
前記特定部は、
前記可視化平面に射影された前記モデルの各々の領域の物理値の二階微分が零となる変曲点を結んだ範囲を前記塗り分ける範囲として特定することを特徴とする請求項1記載の描画装置。
【請求項3】
前記特定部は、
前記可視化平面における物理値の最大値と最小値とを含む範囲として前記物理値を塗り分ける範囲を特定することを特徴とする請求項1記載の描画装置。
【請求項4】
前記射影部は、
前記モデルの各々の領域の格子点の位置に物理値が割り当てられていない場合、前記格子点の周囲の物理値によって補間値を算出し、算出した補間値を格子点の位置の物理値として割当てることを特徴とする請求項1記載の描画装置。
【請求項5】
三次元空間に形成されたモデルの各々の領域の物理値に基づいて、前記モデルについての可視化範囲を描画する描画方法において、
コンピュータが、
前記可視化範囲を設定し、
前記設定された可視化範囲に対応する前記モデルの各々の領域の物理値を表示対象である可視化平面に射影し、
前記可視化平面に射影された前記モデルの各々の領域の物理値に基づき、前記可視化範囲において物理値を塗り分ける範囲を特定し、
前記物理値の範囲に基づき、物理値と階調との関係を定める階調情報を定義し、
前記定義された階調情報と前記特定された物理値を塗り分ける範囲とに基づき、前記可視化範囲を塗り分けることを特徴とする描画方法。
【請求項6】
三次元空間に形成されたモデルの各々の領域の物理値に基づいて、前記モデルについての可視化範囲を描画する描画プログラムにおいて、
コンピュータに、
前記可視化範囲を設定させ、
前記設定された可視化範囲に対応する前記モデルの各々の領域の物理値を表示対象である可視化平面に射影させ、
前記可視化平面に射影された前記モデルの各々の領域の物理値に基づき、前記可視化範囲において物理値を塗り分ける範囲を特定させ、
前記物理値の範囲に基づき、物理値と階調との関係を定める階調情報を定義させ、
前記定義された階調情報と前記特定された物理値を塗り分ける範囲とに基づき、前記可視化範囲を塗り分けさせることを特徴とする描画プログラム。
【図1B】
【図2】
【図3】
【図5】
【図6】
【図7】
【図8】
【図9】
【図13】
【図14】
【図1A】
【図4】
【図10】
【図11】
【図12】
【図2】
【図3】
【図5】
【図6】
【図7】
【図8】
【図9】
【図13】
【図14】
【図1A】
【図4】
【図10】
【図11】
【図12】
【公開番号】特開2013−61882(P2013−61882A)
【公開日】平成25年4月4日(2013.4.4)
【国際特許分類】
【出願番号】特願2011−201080(P2011−201080)
【出願日】平成23年9月14日(2011.9.14)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成25年4月4日(2013.4.4)
【国際特許分類】
【出願日】平成23年9月14日(2011.9.14)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]