(57)【要約】【課題】一つの側面では、３次元データの断面の変化を理解することができるプログラム等を提供することにある。【解決手段】一態様のプログラム１２Ｐは、情報処理装置１に、シミュレーションを開始してから経過した経過時間に基づいて変化する値を配置した３次元のデータを取得し、取得した３次元データの断面の値を前記経過時間毎に取得し、取得した値を３次元の時空間上で時系列順に配置し、配置した値を３次元の画像で表示する処理を実行させ、前記断面の値を取得した経過時間と同一の経過時間に前記断面に隣接する値を取得し、取得した断面の値と前記断面に隣接する値とが所定の範囲内であるか否かを判定し、取得した断面の値と前記断面に隣接する値とが所定の範囲内であると判定した場合、前記断面に隣接する位置を含む断面を生成し、前記経過時間以降、生成した断面の値を取得する。【選択図】図１
2017072902.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置に、
シミュレーションを開始してから経過した経過時間に基づいて変化する値を配置した３次元のデータを取得し、
取得した３次元データの断面の値を前記経過時間毎に取得し、
取得した値を３次元の時空間上で時系列順に配置し、
配置した値を３次元の画像で表示する
処理を実行させるプログラム。
【請求項２】
前記断面の値を取得した経過時間と同一の経過時間に前記断面に隣接する値を取得し、
取得した断面の値と前記断面に隣接する値とが所定の範囲内であるか否かを判定し、
取得した断面の値と前記断面に隣接する値とが所定の範囲内であると判定した場合、前記断面に隣接する位置を含む断面を生成し、
前記経過時間以降、生成した断面の値を取得する
処理を実行させる請求項１に記載のプログラム。
【請求項３】
取得した値を該値の大小に基づいて分割し、
分割した値を該値に対応する色で表示する
請求項１又は請求項２に記載のプログラム。
【請求項４】
取得した値の内、同一の値を抽出し、
抽出した値を該値に対応する色で表示する
請求項１から請求項３のいずれか一つに記載のプログラム。
【請求項５】
シミュレーションを開始してから経過した経過時間に基づいて変化する値が配置された３次元のデータを取得する取得部と、
該取得部で取得した３次元データの断面の値を前記経過時間毎に取得する値取得部と、
該値取得部で取得した値を３次元の時空間上で時系列順に配置する配置部と、
該配置部で配置した値を３次元の画像で表示する画像表示部と
を備える情報処理装置。
【請求項６】
シミュレーションを開始してから経過した経過時間に基づいて変化する値が配置された３次元のデータを取得し、
取得した３次元データの断面の値を前記経過時間毎に取得し、
取得した値を３次元の時空間上で時系列順に配置し、
配置した値を３次元の画像で表示する
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元データを表示するプログラム等に関する。
【背景技術】
【０００２】
従来、時間毎に変化する３次元データを表示する技術が知られている（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−３３４１８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に開示された技術では、３次元データの断面の変化を理解することが難しいという問題がある。
【０００５】
一つの側面では、３次元データの断面の変化を理解することができるプログラム等を提供することにある。
【課題を解決するための手段】
【０００６】
一態様のプログラムは、情報処理装置に、シミュレーションを開始してから経過した経過時間に基づいて変化する値を配置した３次元のデータを取得し、取得した３次元データの断面の値を前記経過時間毎に取得し、取得した値を３次元の時空間上で時系列順に配置し、配置した値を３次元の画像で表示する処理を実行させる。
【発明の効果】
【０００７】
一側面によれば、３次元データの断面の変化を理解することができる。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置のハードウェア群を示すブロック図である。
【図２】シミュレーションＤＢに格納されているデータの一例を示す図である。
【図３】レンダリングＤＢに格納されているデータの一例を示す図である。
【図４】本実施形態に係るシミュレーションデータの３次元モデルを示す説明図である。
【図５】計測断面上におけるシミュレーションデータの圧力分布を示す分布図である。
【図６】レンダリング画面の角部のレンダリング座標を示す拡大図である。
【図７】レンダリング画像を示す説明図である。
【図８】本実施形態における情報処理システムの処理手順を示したフローチャートである。
【図９】本実施形態における情報処理システムの処理手順を示したフローチャートである。
【図１０】本実施形態における情報処理システムの処理手順を示したフローチャートである。
【図１１】情報処理装置のハードウェア群を示すブロック図である。
【図１２】計測断面ＤＢに格納されているデータの一例を示す図である。
【図１３】シミュレーションデータ、計測断面及びレンダリング画面を示す説明図である。
【図１４】計測断面とシミュレーション座標とを示す説明図である。
【図１５】シミュレーションデータの一部を拡大した拡大図である。
【図１６】本実施形態における情報処理システムの処理手順を示したフローチャートである。
【図１７】本実施形態における情報処理システムの処理手順を示したフローチャートである。
【図１８】等高線を表示したレンダリング画像を示す説明図である。
【図１９】本実施形態における情報処理システムの処理手順を示したフローチャートである。
【図２０】計測断面における要素値の算出方法を説明するための説明図である。
【図２１】計測断面における圧力分布を示す分布図である。
【図２２】本実施形態における情報処理システムの処理手順を示したフローチャートである。
【図２３】情報処理装置のハードウェア群を示すブロック図である。
【図２４】情報処理装置の機能ブロック図である。
【発明を実施するための形態】
【０００９】
実施の形態１
以下本実施の形態を、図面を参照して説明する。以下の説明では各図中上に矢印で示す上下、左右、奥行き方向を表す。図１は情報処理装置１のハードウェア群を示すブロック図である。図１に示す情報処理装置１は、ＣＰＵ(Central Processing Unit)１１、記憶部１２、ＲＡＭ１３、入力部１４、表示部１５、通信部１６及び計時部１７を備える。
【００１０】
ＣＰＵ１１は、バスを介してハードウェア各部と接続されている。ＣＰＵ１１は例えば一もしくは複数のＣＰＵ又はマルチコアＣＰＵ等を備える。ＣＰＵ１１は、記憶部１２に記憶されたプログラム１２Ｐに従いハードウェアの各部を制御する。
【００１１】
記憶部１２は例えばハードディスクまたは大容量メモリ等である。記憶部１２にはＣＰＵ１１が処理を行う際に必要とする種々のデータ、シミュレーションＤＢ１２１、レンダリングＤＢ１２２、プログラム１２Ｐを格納する。
【００１２】
ＲＡＭ１３は例えばＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）、フラッシュメモリ等である。ＲＡＭ１３は、記憶部としても機能し、ＣＰＵ１１による各種プログラムの実行時に発生する種々のデータを一時的に記憶する。
【００１３】
入力部１４はマウス又はキーボード等の入力デバイスであり、受け付けた操作情報をＣＰＵ１１へ送信する。表示部１５はＣＰＵ１１から送信された画像データを表示する。表示部１５は例えば液晶画面である。通信部１６は、例えば無線ＬＡＮカード又は携帯電話用通信モジュール等であり、通信網Ｎを介して各種情報を他の情報処理装置との間で送受信する。計時部１７は、例えば現在の時点における時刻を計時し、ＣＰＵ１１の要求に従って、計時結果をＣＰＵ１１に出力する。
【００１４】
以下、情報処理システムの概要を説明する。ＣＰＵ１１は時間毎に変化する要素値が配置されたシミュレーションデータ（以下、場合により３次元データとする）をシミュレーションＤＢ１２１に記憶している。シミュレーションデータは例えば、液体又は心臓等の動きを再現したデータである。ＣＰＵ１１はシミュレーションデータを動作させることにより液体又は心臓等が発生させる温度もしくは圧力値等の物理量の変化を経過時間毎に算出する。
【００１５】
ユーザが例えば津波に衝突された壁面の圧力値の分布を調べたい場合、ＣＰＵ１１は以下の処理を行う。ＣＰＵ１１はシミュレーションデータの壁面における圧力値を取得する。ＣＰＵ１１は取得した壁面の圧力値を時系列順に並べることで左右方向をＸ方向とし、上下方向をＹ方向とし、奥行き方向を時間とする３次元のレンダリング画像を生成する。ＣＰＵ１１は生成したレンダリング画像を表示部１５に表示する。このことによりＣＰＵ１１はシミュレーションデータの壁面における圧力値を時系列順に表示できる。
【００１６】
図２はシミュレーションＤＢ１２１に格納されているデータの一例を示す図である。シミュレーションＤＢ１２１はシミュレーションデータ等を記憶するデータベースである。シミュレーションＤＢ１２１は経過時間列、要素値列及びシミュレーション座標列等を備える。経過時間列にはシミュレーションを開始してから経過した時間を示す経過時間が記憶される。経過時間の単位は例えば、秒である。要素値列には要素値が記憶される。要素値とは例えば、温度又は圧力値等の物理量である。シミュレーション座標列には、シミュレーションデータ上の座標が記憶される。本実施形態におけるシミュレーション座標及び後述するレンダリング座標は４次元デカルト座標系で表される。シミュレーション座標列には例えば、（１，１，５０，１）が記憶される。（１，１，５０，１）は左からＸ座標、Ｙ座標、Ｚ座標、Ｗ座標を表す。Ｗ座標とはＸ座標、Ｙ座標及びＺ座標の平行移動を行うために導入された座標である。Ｘ座標、Ｙ座標、Ｚ座標、Ｗ座標の単位は例えばピクセルである。シミュレーションＤＢ１２１の記憶方法は後述する。
【００１７】
図３はレンダリングＤＢ１２２に格納されているデータの一例を示す図である。図３Ａは時系列順に並べた要素値の間の値を補間する補間処理を行う前のレンダリングＤＢ１２２に格納されているデータの一例を示す図である。図３Ｂは補間処理を行った後のレンダリングＤＢ１２２に格納されているデータの一例を示す図である。補間処理の詳細は後述する。レンダリングＤＢ１２２はレンダリングに関するデータを記憶するデータベースである。レンダリングＤＢ１２２は要素値列及びレンダリング座標列等を備える。要素値列には要素値が記憶される。レンダリング座標列には、レンダリング画面における座標を示すレンダリング座標が記憶される。レンダリング画面とは要素値を３次元の時空間上で時系列順に表示した画面である。レンダリング座標列には例えば、（１，１，１，１）が記憶される。（１，１，１，１）は左からＸ座標、Ｙ座標、経過時間ｔ、Ｗ座標を表す。なお、各列の情報は互いに対応づけられている。レンダリングＤＢ１２２の記憶方法は後述する。
【００１８】
図４は本実施形態に係るシミュレーションデータの３次元モデルを示す説明図である。図４の左右方向、上下方向及び奥行き方向の夫々はＸ方向、Ｙ方向及びＺ方向を表す。図４に示すように、本実施形態に係るシミュレーションデータは箱体３の内部を満たす液体３１の動きをシュミレーションしたデータである。箱体３の一壁面には造波板３２が設置されている。造波板３２はＺ方向に振動させることで液面に波を発生させる板である。波３３の動作は以下の通りである。ＣＰＵ１１は造波板３２を一定時間振動させることで液体３１に波３３を発生させる。発生した波３３は正のＺ方向に進行する。波３３は造波板３２を設置した一壁面に対して反対側の壁面３４に衝突した後、負のＺ方向に進行し、徐々に進行方向に対する速度を弱めて消滅する。
【００１９】
以下、シミュレーションデータの詳細について説明する。ＣＰＵ１１は液体３１内の粒子が壁面３４又は他の粒子から受ける圧力値（以下、場合により要素値とする）を算出する。ＣＰＵ１１は算出した圧力値を粒子が存在するシミュレーション座標に配置する。ＣＰＵ１１は圧力値、粒子が存在するシミュレーション座標及び圧力値が発生した際の経過時間を対応づけてシミュレーションＤＢ１２１に記憶する。
【００２０】
以下に情報処理システムの動作を説明する。ユーザは入力部１４でＺ座標＝５０を入力する。ＣＰＵ１１はＺ座標＝５０の入力を受け付ける。ＣＰＵ１１はＺ座標を５０とし、Ｘ座標及びＹ座標を任意の点とする壁面３４に要素値を計測する計測断面を生成する。
【００２１】
図５は計測断面上におけるシミュレーションデータの圧力分布を示す分布図である。図５Ａは計測断面上における波３３の高さが最高に達した場合の圧力分布を示す分布図である。図５Ｂは計測断面上における波３３の高さが中間に達した場合の圧力分布を示す分布図である。図５Ｃは計測断面上における波３３の高さが最低に達した場合の圧力分布を示す分布図である。白色は圧力が低いことを示す。黒色は圧力が高いことを示す。図５Ａから図５Ｃは、波の高さに応じて圧力値が下側に移動していることが示されている。
【００２２】
図６はレンダリング画面の角部のレンダリング座標を示す拡大図である。図６の左右方向、上下方向及び奥行き方向の夫々はＸ方向、Ｙ方向及び経過時間ｔを表す。レンダリング画面はｔ＝１の座標面内の（１，１，１，１）、（１，２，１，１）、（１，３，１，１）に位置するレンダリング座標４１１、４２１、４３１を備える。さらにレンダリング画面はｔ＝２の座標面内の（１，１，２，１）、（１，２，２，１）、（１，３，２，１）に位置するレンダリング座標４１２、４２２、４３２を備える。さらにレンダリング画面はｔ＝３の座標面内の（１，１，３，１）、（１，２，３，１）、（１，３，３，１）に位置するレンダリング座標４１３、４２３、４３３を備える。
【００２３】
ＣＰＵ１１はｔ＝１のシミュレーションデータを読み込む。ＣＰＵ１１はシミュレーション座標（１，１，５０，１）上の要素値１を取得する。ＣＰＵ１１はシミュレーション座標（１，２，５０，１）上の要素値２を取得する。ＣＰＵ１１はシミュレーション座標（１，３，５０，１）上の要素値３を取得する。ＣＰＵ１１はレンダリング座標４１１、４２１及び４３１の夫々に要素値１、２及び３を配置する。以下、同様の処理をすべてのｔ＝１の座標面内のＸ座標及びＹ座標に対して行う。ＣＰＵ１１は経過時間ｔに１秒を加算し、経過時間ｔ＝２のシミュレーションデータを読み込む。ＣＰＵ１１はシミュレーション座標（１，１，５０，１）上の要素値２を取得し、シミュレーション座標（１，２，５０，１）上の要素値２を取得し、シミュレーション座標（１，３，５０，１）上の要素値３を取得する。ＣＰＵ１１はレンダリング座標４１２、４２２及び４３２の夫々に要素値２、２及び３を配置する。以下、同様の処理をすべてのｔ＝２の座標面内のＸ座標及びＹ座標に対して行う。ＣＰＵ１１は経過時間ｔに１秒を加算し、経過時間ｔ＝３のシミュレーションデータを読み込む。ＣＰＵ１１はシミュレーション座標（１，１，５０，１）上の要素値２を取得する。ＣＰＵ１１はシミュレーション座標（１，２，５０，１）上の要素値３を取得する。ＣＰＵ１１はシミュレーション座標（１，３，５０，１）上の要素値３を取得する。ＣＰＵ１１はレンダリング座標４１３、４２３及び４３３の夫々に要素値２、３及び３を配置する。以下、同様の処理をすべてのｔ＝３の座標面内のＸ座標及びＹ座標に対して行う。ＣＰＵ１１は同様の処理を終了時間まで繰り返す。終了時間とはレンダリングを終了する経過時間である。
【００２４】
ＣＰＵ１１はさらに補間処理を行う。本実施形態におけるシミュレーションデータは１秒毎に要素値を算出しているが、１秒毎の時間間隔では見易いレンダリング画像になっていない場合が多い。このため、ＣＰＵ１１はシミュレーションデータの時間間隔よりさらに短い時間間隔で要素値を算出する。
【００２５】
以下に補間処理の詳細を説明する。ＣＰＵ１１は要素値をレンダリング座標に配置した後、経過時間ｔ＝１とｔ＝２との間の経過時間ｔ＝１．５における要素値の補間を行う。要素値の補間は補間関数に基づいて算出する。補間関数とは経過時間の間の値を補間する関数である。補間関数とは例えば、一次関数であり、前後の経過時間及び要素値に基づいて値が一意に決まる。
【００２６】
図３Ａに示すように、レンダリング座標（１，１，１，１）の要素値は１であり、かつレンダリング座標（１，１，２，１）の要素値は２である。ＣＰＵ１１は一次関数に経過時間ｔ＝１、経過時間ｔ＝２、算出したい経過時間ｔ＝１．５、要素値１及び要素値２を代入することで要素値１．５を算出する。図３Ｂに示すように、ＣＰＵ１１は算出した要素値１．５をレンダリング座標（１，１，１．５，１）に配置する。以下、同様の処理をすべてのｔ＝１．５の座標面内のＸ座標及びＹ座標について行う。
【００２７】
次にＣＰＵ１１は経過時間ｔ＝２とｔ＝３との間の経過時間ｔ＝２．５における要素値の補間を行う。図３Ａに示すように、レンダリング座標（１，１，２，１）の要素値は２であり、かつレンダリング座標（１，１，３，１）の要素値は３である。ＣＰＵ１１は経過時間ｔ＝２、経過時間ｔ＝３、算出したい経過時間ｔ＝２．５、要素値２及び要素値３を代入することで要素値２．５を算出する。図３Ｂに示すように、ＣＰＵ１１は算出した要素値２．５をレンダリング座標（１，１，２．５，１）に配置する。ＣＰＵ１１は以下、同様の処理をすべてのｔ＝２．５の座標面内のＸ座標及びＹ座標について行い、終了時間まで繰り返す。ＣＰＵ１１は終了時間に達した場合、レンダリングＤＢ１２２に経過時間、要素値及びレンダリング座標を記憶する。
【００２８】
ＣＰＵ１１は要素値の内、最大値及び最小値を取得する。ＣＰＵ１１は最大値及び最小値に基づいて要素値を分割する。すなわちＣＰＵ１１は値の大小に基づいて要素値を分割する。例えば、本実施形態における要素値の最大値が５であり、最小値が１であった場合、ＣＰＵ１１は最大値５を取得し、最小値１を取得する。ＣＰＵ１１は要素値１〜５の間の要素値をｎ等分分割する。具体的には以下の通りである。ＣＰＵ１１は最大値と最小値との差を算出する。ＣＰＵ１１は算出した差をｎ等分する。ＣＰＵ１１は最小値にｎ等分した差を加算していくことで最大値と最小値との間の要素値をｎ等分する。具体的にはＣＰＵ１１は「１〜１．９」、「２〜２．９」、「３〜３．９」、「４〜５」のように要素値を分割する。
【００２９】
ＣＰＵ１1は分割した要素値を色分けする。ＣＰＵ１１は例えば、要素値「１〜１．９」に赤色を割り当てる。ＣＰＵ１１は要素値「２〜２．９」に赤紫を割り当てる。ＣＰＵ１１は要素値「３〜３．９」に紫を割り当てる。ＣＰＵ１１は要素値「４〜５」に青紫を割り当てる。ＣＰＵ１１は色分けした要素値に基づいてレンダリングしたレンダリング画像６を生成し、生成したレンダリング画像６を表示部１５に表示する。図７はレンダリング画像６を示す説明図である。図７の左右方向、上下方向及び奥行き方向の夫々はＸ方向、Ｙ方向及び経過時間ｔを表す。図７に示すように、ＣＰＵ１１は経過時間ｔを軸として波状の圧力分布を生成したレンダリング画像６をレンダリング画面に表示する。
【００３０】
図８〜１０は本実施形態における情報処理システムの処理手順を示したフローチャートである。ＣＰＵ１１は初期設定を行う（ステップＳ１０）。具体的には以下の通りである。ＣＰＵ１１は経過時間ｔを開始時間に設定する。ＣＰＵ１１は終了時間を設定する。ＣＰＵ１１は時間間隔ｕを設定する。時間間隔ｕとは例えば、シミュレーションデータに記憶された２つの経過時間ｔの時間間隔である。ＣＰＵ１１は分割時間ｖを設定する。分割時間とは時間間隔ｕを分割した時間間隔である。開始時間、終了時間、時間間隔ｕ及び分割時間ｖは予め記憶部１２に記憶されており、ユーザにより任意に変更することができる。ＣＰＵ１１は断面位置の入力を受け付ける（ステップＳ１１）。ＣＰＵ１１は入力された断面位置に基づいて計測断面を生成する（ステップＳ１２）。ＣＰＵ１１は経過時間ｔにおけるシミュレーションデータを読み込む（ステップＳ１３）。
【００３１】
ＣＰＵ１１は計測断面における要素値を取得する（ステップＳ１４）。ＣＰＵ１１は要素値をレンダリング座標に配置する（ステップＳ１５）。ＣＰＵ１１は経過時間ｔに時間間隔ｕを加算する（ステップＳ１６）。ＣＰＵ１１は経過時間ｔが終了時間であるか否かを判定する（ステップＳ１７）。ＣＰＵ１１は経過時間ｔが終了時間でないと判定した場合（ステップＳ１７：ＮＯ）、処理をステップＳ１３に戻し、経過時間ｔが終了時間になるまで処理を繰り返す。ＣＰＵ１１は経過時間ｔが終了時間であると判定した場合（ステップＳ１７：ＹＥＳ）、経過時間ｔを開始時間に設定する（ステップＳ１８）。
【００３２】
ＣＰＵ１１は経過時間ｔにおける計測断面の要素値を取得済みであるか否かを判定する（ステップＳ１９）。ＣＰＵ１１は経過時間ｔにおける計測断面の要素値を取得済みであると判定した場合（ステップＳ１９：ＹＥＳ）、処理をステップＳ２２に移す。ＣＰＵ１１は経過時間ｔにおける計測断面の要素値を取得済みでないと判定した場合（ステップＳ１９：ＮＯ）、補間関数に基づいて経過時間ｔにおける計測断面の要素値を算出する（ステップＳ２０）。ＣＰＵ１１は要素値をレンダリング座標に配置する（ステップＳ２１）。ＣＰＵ１１はステップＳ１９又はＳ２１を終了した後、経過時間ｔに分割時間ｖを加算する（ステップＳ２２）。すなわち、ＣＰＵ１１は一方の経過時間ｔに分割時間ｖを加算する。
【００３３】
ＣＰＵ１１は経過時間ｔが終了時間であるか否かを判定する（ステップＳ２３）。ＣＰＵ１１は経過時間ｔが終了時間でないと判定した場合（ステップＳ２３：ＮＯ）、処理をステップＳ１９に戻し、経過時間ｔが終了時間になるまで処理を繰り返す。ＣＰＵ１１は経過時間ｔが終了時間であると判定した場合（ステップＳ２３：ＹＥＳ）、レンダリング座標上の要素値から最大値及び最小値を取得する（ステップＳ２４）。
【００３４】
ＣＰＵ１１は最大値及び最小値に基づいて要素値を分割する（ステップＳ２５）。ＣＰＵ１1は分割した要素値を色分けする（ステップＳ２６）。すなわちＣＰＵ１１は分割した要素値を要素値の大小に基づいて色を対応づける。ＣＰＵ１１は画面上に要素値をレンダリングし（ステップＳ２７）、処理を終了する。すなわち、ＣＰＵ１１は要素値を３次元の画像で表示部１５に表示する。
【００３５】
一側面によれば、３次元データの断面の変化を理解することができる。
【００３６】
一側面によれば、補間関数に基づいて経過時間ｔにおける要素値を算出することで滑らかなレンダリング画像６を表示することができる。
【００３７】
一側面によれば、分割した要素値を色分けすることで断面の変化がさらに解りやすくなる。
【００３８】
一側面によれば、最大値及び最小値を取得することで即座に適切な分割を行うことができる。
【００３９】
実施の形態２
本実施形態は心臓の動きをシミュレーションした３次元データを用いる。本実施形態の３次元データは心臓の形を変化させるため、３次元データに配置された要素値の位置も変化する。このため、ユーザが入力した断面位置における計測断面から要素値を取得し続けた場合、ユーザが取得したい要素値とは別の要素値を取得することがある。ＣＰＵ１１は３次元データの変化に合わせて適切な要素値を取得するため、以下の処理を行う。ＣＰＵ１１は経過時間毎に計測断面における要素値と計測断面に隣接する要素値とが所定の範囲内であった場合、隣接する要素値の位置を示す隣接位置を含むように計測断面を再生成する。所定の範囲とは例えば「０．５」である。ＣＰＵ１１は再生成した計測断面における要素値を取得することで心臓の形に合わせて適切な要素値の位置を取得できる。以下、特に説明する構成、作用以外の構成及び作用は実施の形態１と同等であり、簡潔のため記載を省略する。図１１は情報処理装置１のハードウェア群を示すブロック図である。図１１に示すように、情報処理装置１の記憶部１２は計測断面ＤＢ１２３を備える。
【００４０】
図１２は計測断面ＤＢ１２３に格納されているデータの一例を示す図である。図１２Ａは経過時間ｔ＝１における計測断面ＤＢ１２３に格納されているデータの一例を示す図である。図１２Ｂは経過時間ｔ＝２における計測断面ＤＢ１２３に格納されているデータの一例を示す図である。計測断面ＤＢ１２３は計測断面の座標等を記憶するデータベースである。計測断面ＤＢ１２３は断面座標列等を備える。断面座標列には、シミュレーションデータにおける計測断面の座標を示す断面座標が記憶される。断面座標列には例えば、（１，１，５０，１）が記憶される。（１，１，５０，１）は左からＸ座標、Ｙ座標、Ｚ座標、Ｗ座標を表す。なお、各列の情報は互いに対応づけられている。計測断面ＤＢ１２３の記憶方法は後述する。
【００４１】
図１３はシミュレーションデータ、計測断面及びレンダリング画面を示す説明図である。本実施形態に係るシミュレーションデータは心臓の動きをシュミレーションしたデータである。図１３Ａ、１３Ｂ、１３Ｃ、１３Ｄは、経過時間ｔ＝１、ｔ＝２、ｔ＝３、ｔ＝４における心臓の３次元データである。図１３Ｅ、１３Ｆ、１３Ｇ、１３Ｈは、経過時間ｔ＝１、ｔ＝２、ｔ＝３、ｔ＝４における計測断面の画像である。図１３Ｉは要素値をレンダリングした結果を示す説明図である。
【００４２】
以下、シミュレーションデータの詳細について説明する。ＣＰＵ１１は心筋の圧力値（以下、場合により要素値とする）を算出する。ＣＰＵ１１は算出した圧力値を心筋が存在するシミュレーション座標に配置する。ＣＰＵ１１は圧力値、心筋が存在するシミュレーション座標及び圧力値が発生した際の経過時間を対応づけてシミュレーションＤＢ１２１に記憶する。
【００４３】
ユーザは入力部１４でＺ座標＝５０を入力し、心臓の中央付近を断面位置に指定する。ＣＰＵ１１はＺ座標＝５０の断面位置の入力を受け付ける。ＣＰＵ１１は心臓の中央付近の要素値の断面を計測する計測断面を生成する。図１２Ａに示すように、ＣＰＵ１１は生成した計測断面の座標を計測断面ＤＢ１２３に記憶する。
【００４４】
図１４は計測断面とシミュレーション座標とを示す説明図である。図１４の左右方向、上下方向及び奥行き方向の夫々はＸ方向、Ｙ方向及びＺ方向を表す。シミュレーションデータ７は例えば、シミュレーション座標７５１及び７５２を備える。シミュレーション座標７５１及び７５２の座標の夫々は（２，３，５０，１）、（３，３，５０，１）である。計測断面４はシミュレーション座標７５１及び７５２を接続した接続線と交差する断面座標４５１を備える。断面座標４５１の座標は（２．５，３，５０，１）である。
【００４５】
本実施形態では、断面座標とシミュレーション座標とが一致しない場合が多いため、３次元データの動きに合わせて計測断面上に要素値を配置する必要がある。このため、ＣＰＵ１１は以下のような処理を行う。ＣＰＵ１１はシミュレーション座標同士を接続する接続線を生成する。計測断面４が接続線と交差した場合、ＣＰＵ１１は接続線の両端に位置するシミュレーション座標の要素値を取得する。ＣＰＵ１１は取得した複数の要素値を足し合わせて２で割った値を計測断面と接続線との交差点に配置する。例えば、経過時間ｔ＝１におけるシミュレーション座標７５１に配置された要素値が１であり、経過時間ｔ＝１におけるシミュレーション座標７５２に配置された要素値が２である。この場合、ＣＰＵ１１はシミュレーション座標７５１及び７５２の中点に位置する断面座標４１１に要素値１．５を配置する。
【００４６】
図１５はシミュレーションデータ７の一部を拡大した拡大図である。図１５の左右方向、上下方向及び奥行き方向の夫々はＸ方向、Ｙ方向及びＺ方向を表す。図１５Ａは経過時間ｔ＝１におけるシミュレーションデータ７の一部を拡大した拡大図である。図１５Ｂは経過時間ｔ＝２におけるシミュレーションデータ７の一部を拡大した拡大図である。シミュレーションデータ７は（１，１，５０，１）に位置するシミュレーション座標７１１と、シミュレーション座標７１１のＺ方向に隣接し、（１，１，５１，１）に位置するシミュレーション座標７１２とを備える。図１５Ａ及び図１５Ｂに示すシミュレーション座標は斜線及び白色で表示されている。図中の斜線は要素値が２であることを示し、白色は要素値が１であることを示す。図１５Ａに示すシミュレーション座標７１１に配置された要素値は１であり、シミュレーション座標７１２に配置された要素値は２である。図１５Ｂに示すシミュレーション座標７１１に配置された要素値は２であり、シミュレーション座標７１２は要素値が１である。このため、ＣＰＵ１１は計測断面における要素値１と計測断面に隣接する要素値１とが所定の範囲「０．５」内であるため、要素値１がシミュレーション座標７１１からシミュレーション座標７１２に移動したと判断する。図１２Ｂに示すように、ＣＰＵ１１は計測断面ＤＢ１２３の一列目にシミュレーション座標７１２を上書きする。ＣＰＵ１１は経過時間に１秒を加算した後、計測断面ＤＢ１２３に記憶された座標に基づいて計測断面を生成し、計測断面を生成したシミュレーション座標７１２から要素値を取得する。すなわち、ＣＰＵ１１は経過時間ｔ＝２秒以降、再生成した計測断面における要素値を取得する。以上の処理をＣＰＵ１１は経過時間に分割時間を任意の数加算した時間に対して行う。
【００４７】
図１３Ａ〜１３Ｄに示すように経過時間毎に心臓の形が変化した場合、図１３Ｅ〜１３Ｈに示すように、ＣＰＵ１１は経過時間毎に計測断面を再生成する。図１３Ｉに示すように、ＣＰＵ１１は計測断面上の要素値をレンダリング座標に時系列順に配置し、実施の形態１と同様の処理を行う。
【００４８】
図１６〜１７は本実施形態における情報処理システムの処理手順を示したフローチャートである。ステップＳ１０〜Ｓ２７の処理は上述の実施の形態１に係る情報処理システムと同様であるので、簡潔のため説明を省略する。ＣＰＵ１１はステップＳ１２の処理を終了した後、生成した計測断面を計測断面ＤＢ１２３に記憶し（ステップＳ３１）、処理をステップＳ１３に移す。ＣＰＵ１１はステップＳ１３の処理を終了した後、計測断面ＤＢ１２３に基づいて計測断面を生成する（ステップＳ３２）。
【００４９】
ＣＰＵ１１はシミュレーション座標を接続する接続線を生成する（ステップＳ３３）。ＣＰＵ１１は計測断面と交差する接続線の両端の要素値を取得する（ステップＳ３４）。ＣＰＵ１１は計測断面と接続線との交差点における要素値を算出する（ステップＳ３５）。具体的には、ＣＰＵ１１は取得した複数の要素値を足し合わせて２で割った値を算出する。ＣＰＵ１１は要素値を交差点の断面座標に配置する（ステップＳ３６）。ＣＰＵ１１は計測断面における要素値を取得する（ステップＳ３７）。ＣＰＵ１１は計測断面に隣接する要素値を取得する（ステップＳ３８）。
【００５０】
ＣＰＵ１１は計測断面における要素値と計測断面に隣接する要素値とが所定の範囲内であるか否かを判定する（ステップＳ３９）。ＣＰＵ１１は所定の範囲内でないと判定した場合（ステップＳ３９：ＮＯ）、処理をステップＳ４１に移す。ＣＰＵ１１は所定の範囲内であると判定した場合（ステップＳ３９：ＹＥＳ）、隣接位置を計測断面ＤＢ１２３に記憶する（ステップＳ４０）。
【００５１】
ＣＰＵ１１は断面座標上の要素値をレンダリング座標に配置し（ステップＳ４１）、処理をステップＳ１７に移す。
【００５２】
一側面によれば、所定の範囲内にある要素値を追跡することで適切なレンダリング画像６を表示することができる。
【００５３】
実施の形態３
実施の形態３は等高線を表示したレンダリング画像６を表示する実施の形態に関する。以下、特に説明する構成、作用以外の構成及び作用は実施の形態１と同等であり、簡潔のため記載を省略する。図１８は等高線を表示したレンダリング画像６を示す説明図である。図１８に示すように、レンダリング画像６は等高線６１、６２、６３を備える。等高線６１は圧力値の最大値を示す等高線である。等高線６２は圧力値の最大値及び最小値の半分の値を示す等高線である。等高線６３は圧力値の最小値を示す等高線である。
【００５４】
ＣＰＵ１１は分割した要素値を色分けした後、最大値、最小値、最大値及び最小値の半分の値をレンダリングＤＢ１２２から抽出する。ＣＰＵ１１は最大値を有する座標に黄色を割り当てる。ＣＰＵ１１は最大値及び最小値の半分の値を有する座標に黄緑色を割り当てる。ＣＰＵ１１は最小値を有する座標に緑色を割り当てる。色の割り当て方は任意である。ＣＰＵ１１は画面上に要素値をレンダリングする。
【００５５】
図１９は本実施形態における情報処理システムの処理手順を示したフローチャートである。ステップＳ１０〜Ｓ２７の処理は上述の実施の形態１に係る情報処理システムと同様であるので、簡潔のため説明を省略する。ＣＰＵ１１はステップＳ２６の処理を終了した後、所定の間隔毎に同一の要素値を抽出する（ステップＳ４３）。所定の間隔とは例えば、最大値及び最小値の半分の値である。ＣＰＵ１１は抽出した要素値を要素値に対応する色に色分けし（ステップＳ４４）、処理をステップＳ２７に移す。
【００５６】
一側面によれば、等高線を表示することで同一の値の空間分布が理解しやすくなる。
【００５７】
実施の形態４
実施の形態４はフィルタを適用することで分布を滑らかにしたレンダリング画像を表示する実施の形態に関する。以下、特に説明する構成、作用以外の構成及び作用は実施の形態１と同等であり、簡潔のため記載を省略する。図２０は計測断面８における要素値の算出方法を説明するための説明図である。図２０の上下方向はＹ方向を表し、左右方向はＸ方向を表す。計測断面８は断面座標８０１、８０２、８０３、８０４（以下場合により代表して断面座標８０とする）…に配置された粒子８１１、８１２、８１３（以下場合により代表して粒子８１とする）…と、計測断面８の一部を覆うフィルタ８２とを備える。
【００５８】
粒子８１は例えば、球状である。粒子８１の夫々には重なりあっている部分が存在する。実際の圧力分布では粒子８１同士が重なっている部分の圧力は、重なっていない部分の圧力より大きい。このためＣＰＵ１１はシミュレーションデータを平滑化することで圧力分布を適正化する。具体的にはＣＰＵ１１はフィルタ８２内の座標８０に配置された要素値にフィルタ８２を適用することにより要素値を平滑化する。フィルタ８２はガウシアンフィルタであり、Ｘ方向がＹ方向より長い楕円状をなす。フィルタ８２におけるＹ方向の標準偏差はＸ方向の標準偏差より小さい。
【００５９】
以下、計測断面８における要素値の算出方法について説明する。粒子８１の夫々には要素値が対応づけられている。ＣＰＵ１１は粒子８１の要素値を取得する。ＣＰＵ１１は例えば、断面座標８０１の要素値に対して１／３、断面座標８０２の要素値に対して２／３、断面座標８０３の要素値に対して２／３、断面座標８０４の要素値に対して１／３を掛けることで要素値にフィルタ８２を適用する。ＣＰＵ１１は以下、同様の処理をフィルタ８２内の断面座標８８０に行う。ＣＰＵ１１はフィルタ８２を適用した要素値を断面座標に配置する。
【００６０】
図２１は計測断面８における圧力分布を示す分布図である。図２１Ａはフィルタを適用する前の計測断面８における圧力分布を示す分布図である。図２１Ｂはフィルタを適用した後の計測断面８における圧力分布を示す分布図である。図２１Ａに示すように、フィルタを適用する前における計測断面８の中央部には要素値がまばらに点在している。図２１Ｂに示すように、フィルタを適用した後における計測断面８の中央部には、まばらに点在していた要素値が平滑化されていることが解る。
【００６１】
図２２は本実施形態における情報処理システムの処理手順を示したフローチャートである。ステップＳ１０〜Ｓ２７の処理は上述の実施の形態１に係る情報処理システムと同様であるので、簡潔のため説明を省略する。ＣＰＵ１１はステップＳ１４の処理を終了した後、取得した要素値を計測断面８に配置する（ステップＳ５０）。ＣＰＵ１１は計測断面８に配置した要素値にフィルタ８２を適用する（ステップＳ５１）。ＣＰＵ１１はフィルタ８２を適用した要素値をレンダリング座標に配置し（ステップＳ５２）、処理をステップＳ１６に移す。
【００６２】
一側面によれば、フィルタを適用することで粒子の粗密に対応した適切な要素値をレンダリング座標に配置できる。
【００６３】
実施の形態５
以下本発明の実施の形態４をその実施の形態を示す図面に基づいて詳述する。図２３は情報処理装置１のハードウェア群を示すブロック図である。以下、特に説明する構成、作用以外の構成及び作用は実施の形態１と同等であり、簡潔のため記載を省略する。図２３に示す情報処理装置１は、上述した各種ソフトウェア処理を実行するプログラムを、可搬型記録媒体１８Ａ又は半導体メモリ１８Ｂから読み取り、あるいは、通信網Ｎを介して他のサーバ（図示せず）からダウンロードする。当該プログラムは、プログラム１２Ｐとしてインストールされ、記憶部１２にロードして実行される。これより上述した情報処理装置１として機能する。
【００６４】
情報処理装置１を動作させるためのプログラムは、ディスクドライブ等の読み取り部１８にＣＤ−ＲＯＭ、ＤＶＤ（Digital Versatile Disc）ディスク、メモリーカード、又はＵＳＢ（Universal Serial Bus）メモリ等の可搬型記録媒体１８Ａを読み取らせて記憶部１２に記憶してもよい。また当該プログラムを記憶したフラッシュメモリ等の半導体メモリ１８Ｂを情報処理装置１内に実装しても良い。通信部１６は、例えば無線ＬＡＮカード又は携帯電話用通信モジュール等であり、通信網Ｎを介して他のサーバに接続されている。当該プログラムは、通信部１６によりインターネット等の通信網Ｎを介して接続される他のサーバ（図示せず）からダウンロードすることも可能である。以下にその内容を説明する。
【００６５】
図２４は情報処理装置１の機能ブロック図である。ＣＰＵ１１がプログラム１２Ｐを実行することにより、情報処理装置１は以下のように動作する。  取得部１１Ａはシミュレーションを開始してから経過した経過時間毎に変化する値を配置した３次元のデータを取得する。値取得部１１Ｂは取得部１１Ａで取得した３次元データの断面の値を経過時間毎に取得する。配置部１１Ｃは値取得部１１Ｂで取得した値を３次元の時空間上で時系列順に配置する。画像表示部１１Ｄは該配置部１１Ｃで配置した値を３次元の画像で表示する。
【００６６】
以上の実施の形態に関し、更に以下の付記を開示する。
（付記１）
情報処理装置に、
シミュレーションを開始してから経過した経過時間に基づいて変化する値を配置した３次元のデータを取得し、
取得した３次元データの断面の値を前記経過時間毎に取得し、
取得した値を３次元の時空間上で時系列順に配置し、
配置した値を３次元の画像で表示する
処理を実行させるプログラム。
（付記２）
前記断面の値を取得した経過時間と同一の経過時間に前記断面に隣接する値を取得し、
取得した断面の値と前記断面に隣接する値とが所定の範囲内であるか否かを判定し、
取得した断面の値と前記断面に隣接する値とが所定の範囲内であると判定した場合、前記断面に隣接する位置を含む断面を生成し、
前記経過時間以降、生成した断面の値を取得する
処理を実行させる付記１に記載のプログラム。
（付記３）
取得した値を該値の大小に基づいて分割し、
分割した値を該値に対応する色で表示する
付記１又は付記２に記載のプログラム。
（付記４）
取得した値の内、同一の値を抽出し、
抽出した値を該値に対応する色で表示する
付記１から付記３のいずれか一つに記載のプログラム。
（付記５）
取得した値の最大値及び最小値を取得し、
取得した最大値及び最小値に基づいて取得した値を分割する
付記４に記載のプログラム。
（付記６）
前記断面の値を取得した２つの経過時間の間隔を分割した分割時間を算出し、
前記断面の値を取得した一方の経過時間に前記分割時間を任意の数加算した加算時間を算出し、
前記断面の値を補間するための補間関数に基づいて前記加算時間における断面の値を補間する
付記１から付記５のいずれか一つに記載のプログラム。
（付記７）
取得した値に該値を補正するガウシアンフィルタを適用する
付記１から付記６のいずれか一つに記載のプログラム。
（付記８）
前記３次元データの座標を接続した接続線を生成し、
生成した接続線の両端の値に基づいて、該接続線と前記断面との交差点の値を算出する
付記１から付記７のいずれか一つに記載のプログラム。
（付記９）
シミュレーションを開始してから経過した経過時間に基づいて変化する値が配置された３次元のデータを取得する取得部と、
該取得部で取得した３次元データの断面の値を前記経過時間毎に取得する値取得部と、
該値取得部で取得した値を３次元の時空間上で時系列順に配置する配置部と、
該配置部で配置した値を３次元の画像で表示する画像表示部と
を備える情報処理装置。
（付記１０）
シミュレーションを開始してから経過した経過時間に基づいて変化する値が配置された３次元のデータを取得し、
取得した３次元データの断面の値を前記経過時間毎に取得し、
取得した値を３次元の時空間上で時系列順に配置し、
配置した値を３次元の画像で表示する
情報処理方法。
【００６７】
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。また、各実施の形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【符号の説明】
【００６８】
１  情報処理装置
１１Ａ  取得部
１１Ｂ  値取得部
１１Ｃ  配置部
１２Ｐ  プログラム
【図１】
2017072902.tif 000003
【図２】
2017072902.tif 000004
【図３】
2017072902.tif 000005
【図４】
2017072902.tif 000006
【図８】
2017072902.tif 000007
【図９】
2017072902.tif 000008
【図１０】
2017072902.tif 000009
【図１１】
2017072902.tif 000010
【図１４】
2017072902.tif 000011
【図１５】
2017072902.tif 000012
【図１６】
2017072902.tif 000013
【図１７】
2017072902.tif 000014
【図１９】
2017072902.tif 000015
【図２０】
2017072902.tif 000016
【図２２】
2017072902.tif 000017
【図２３】
2017072902.tif 000018
【図２４】
2017072902.tif 000019
【図５】
2017072902.tif 000020
【図６】
2017072902.tif 000021
【図７】
2017072902.tif 000022
【図１２】
2017072902.tif 000023
【図１３】
2017072902.tif 000024
【図１８】
2017072902.tif 000025
【図２１】
2017072902.tif 000026