JP2017072902A - プログラム、情報処理装置及び情報処理方法 - Google Patents

プログラム、情報処理装置及び情報処理方法 Download PDF

Info

Publication number
JP2017072902A
JP2017072902A JP2015197834A JP2015197834A JP2017072902A JP 2017072902 A JP2017072902 A JP 2017072902A JP 2015197834 A JP2015197834 A JP 2015197834A JP 2015197834 A JP2015197834 A JP 2015197834A JP 2017072902 A JP2017072902 A JP 2017072902A
Authority
JP
Japan
Prior art keywords
value
cross
section
cpu
elapsed time
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.)
Withdrawn
Application number
JP2015197834A
Other languages
English (en)
Inventor
正宏 渡邉
Masahiro Watanabe
正宏 渡邉
平原 隆生
Takao Hirahara
隆生 平原
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
Priority to JP2015197834A priority Critical patent/JP2017072902A/ja
Priority to US15/276,854 priority patent/US20170098018A1/en
Publication of JP2017072902A publication Critical patent/JP2017072902A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • 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/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/16Spatio-temporal transformations, e.g. video cubism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20024Filtering details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Architecture (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】一つの側面では、3次元データの断面の変化を理解することができるプログラム等を提供することにある。
【解決手段】一態様のプログラム12Pは、情報処理装置1に、シミュレーションを開始してから経過した経過時間に基づいて変化する値を配置した3次元のデータを取得し、取得した3次元データの断面の値を前記経過時間毎に取得し、取得した値を3次元の時空間上で時系列順に配置し、配置した値を3次元の画像で表示する処理を実行させ、前記断面の値を取得した経過時間と同一の経過時間に前記断面に隣接する値を取得し、取得した断面の値と前記断面に隣接する値とが所定の範囲内であるか否かを判定し、取得した断面の値と前記断面に隣接する値とが所定の範囲内であると判定した場合、前記断面に隣接する位置を含む断面を生成し、前記経過時間以降、生成した断面の値を取得する。
【選択図】図1

Description

本発明は、3次元データを表示するプログラム等に関する。
従来、時間毎に変化する3次元データを表示する技術が知られている(例えば特許文献1)。
特開2003−334189号公報
しかし、特許文献1に開示された技術では、3次元データの断面の変化を理解することが難しいという問題がある。
一つの側面では、3次元データの断面の変化を理解することができるプログラム等を提供することにある。
一態様のプログラムは、情報処理装置に、シミュレーションを開始してから経過した経過時間に基づいて変化する値を配置した3次元のデータを取得し、取得した3次元データの断面の値を前記経過時間毎に取得し、取得した値を3次元の時空間上で時系列順に配置し、配置した値を3次元の画像で表示する処理を実行させる。
一側面によれば、3次元データの断面の変化を理解することができる。
情報処理装置のハードウェア群を示すブロック図である。 シミュレーションDBに格納されているデータの一例を示す図である。 レンダリングDBに格納されているデータの一例を示す図である。 本実施形態に係るシミュレーションデータの3次元モデルを示す説明図である。 計測断面上におけるシミュレーションデータの圧力分布を示す分布図である。 レンダリング画面の角部のレンダリング座標を示す拡大図である。 レンダリング画像を示す説明図である。 本実施形態における情報処理システムの処理手順を示したフローチャートである。 本実施形態における情報処理システムの処理手順を示したフローチャートである。 本実施形態における情報処理システムの処理手順を示したフローチャートである。 情報処理装置のハードウェア群を示すブロック図である。 計測断面DBに格納されているデータの一例を示す図である。 シミュレーションデータ、計測断面及びレンダリング画面を示す説明図である。 計測断面とシミュレーション座標とを示す説明図である。 シミュレーションデータの一部を拡大した拡大図である。 本実施形態における情報処理システムの処理手順を示したフローチャートである。 本実施形態における情報処理システムの処理手順を示したフローチャートである。 等高線を表示したレンダリング画像を示す説明図である。 本実施形態における情報処理システムの処理手順を示したフローチャートである。 計測断面における要素値の算出方法を説明するための説明図である。 計測断面における圧力分布を示す分布図である。 本実施形態における情報処理システムの処理手順を示したフローチャートである。 情報処理装置のハードウェア群を示すブロック図である。 情報処理装置の機能ブロック図である。
実施の形態1
以下本実施の形態を、図面を参照して説明する。以下の説明では各図中上に矢印で示す上下、左右、奥行き方向を表す。図1は情報処理装置1のハードウェア群を示すブロック図である。図1に示す情報処理装置1は、CPU(Central Processing Unit)11、記憶部12、RAM13、入力部14、表示部15、通信部16及び計時部17を備える。
CPU11は、バスを介してハードウェア各部と接続されている。CPU11は例えば一もしくは複数のCPU又はマルチコアCPU等を備える。CPU11は、記憶部12に記憶されたプログラム12Pに従いハードウェアの各部を制御する。
記憶部12は例えばハードディスクまたは大容量メモリ等である。記憶部12にはCPU11が処理を行う際に必要とする種々のデータ、シミュレーションDB121、レンダリングDB122、プログラム12Pを格納する。
RAM13は例えばSRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、フラッシュメモリ等である。RAM13は、記憶部としても機能し、CPU11による各種プログラムの実行時に発生する種々のデータを一時的に記憶する。
入力部14はマウス又はキーボード等の入力デバイスであり、受け付けた操作情報をCPU11へ送信する。表示部15はCPU11から送信された画像データを表示する。表示部15は例えば液晶画面である。通信部16は、例えば無線LANカード又は携帯電話用通信モジュール等であり、通信網Nを介して各種情報を他の情報処理装置との間で送受信する。計時部17は、例えば現在の時点における時刻を計時し、CPU11の要求に従って、計時結果をCPU11に出力する。
以下、情報処理システムの概要を説明する。CPU11は時間毎に変化する要素値が配置されたシミュレーションデータ(以下、場合により3次元データとする)をシミュレーションDB121に記憶している。シミュレーションデータは例えば、液体又は心臓等の動きを再現したデータである。CPU11はシミュレーションデータを動作させることにより液体又は心臓等が発生させる温度もしくは圧力値等の物理量の変化を経過時間毎に算出する。
ユーザが例えば津波に衝突された壁面の圧力値の分布を調べたい場合、CPU11は以下の処理を行う。CPU11はシミュレーションデータの壁面における圧力値を取得する。CPU11は取得した壁面の圧力値を時系列順に並べることで左右方向をX方向とし、上下方向をY方向とし、奥行き方向を時間とする3次元のレンダリング画像を生成する。CPU11は生成したレンダリング画像を表示部15に表示する。このことによりCPU11はシミュレーションデータの壁面における圧力値を時系列順に表示できる。
図2はシミュレーションDB121に格納されているデータの一例を示す図である。シミュレーションDB121はシミュレーションデータ等を記憶するデータベースである。シミュレーションDB121は経過時間列、要素値列及びシミュレーション座標列等を備える。経過時間列にはシミュレーションを開始してから経過した時間を示す経過時間が記憶される。経過時間の単位は例えば、秒である。要素値列には要素値が記憶される。要素値とは例えば、温度又は圧力値等の物理量である。シミュレーション座標列には、シミュレーションデータ上の座標が記憶される。本実施形態におけるシミュレーション座標及び後述するレンダリング座標は4次元デカルト座標系で表される。シミュレーション座標列には例えば、(1,1,50,1)が記憶される。(1,1,50,1)は左からX座標、Y座標、Z座標、W座標を表す。W座標とはX座標、Y座標及びZ座標の平行移動を行うために導入された座標である。X座標、Y座標、Z座標、W座標の単位は例えばピクセルである。シミュレーションDB121の記憶方法は後述する。
図3はレンダリングDB122に格納されているデータの一例を示す図である。図3Aは時系列順に並べた要素値の間の値を補間する補間処理を行う前のレンダリングDB122に格納されているデータの一例を示す図である。図3Bは補間処理を行った後のレンダリングDB122に格納されているデータの一例を示す図である。補間処理の詳細は後述する。レンダリングDB122はレンダリングに関するデータを記憶するデータベースである。レンダリングDB122は要素値列及びレンダリング座標列等を備える。要素値列には要素値が記憶される。レンダリング座標列には、レンダリング画面における座標を示すレンダリング座標が記憶される。レンダリング画面とは要素値を3次元の時空間上で時系列順に表示した画面である。レンダリング座標列には例えば、(1,1,1,1)が記憶される。(1,1,1,1)は左からX座標、Y座標、経過時間t、W座標を表す。なお、各列の情報は互いに対応づけられている。レンダリングDB122の記憶方法は後述する。
図4は本実施形態に係るシミュレーションデータの3次元モデルを示す説明図である。図4の左右方向、上下方向及び奥行き方向の夫々はX方向、Y方向及びZ方向を表す。図4に示すように、本実施形態に係るシミュレーションデータは箱体3の内部を満たす液体31の動きをシュミレーションしたデータである。箱体3の一壁面には造波板32が設置されている。造波板32はZ方向に振動させることで液面に波を発生させる板である。波33の動作は以下の通りである。CPU11は造波板32を一定時間振動させることで液体31に波33を発生させる。発生した波33は正のZ方向に進行する。波33は造波板32を設置した一壁面に対して反対側の壁面34に衝突した後、負のZ方向に進行し、徐々に進行方向に対する速度を弱めて消滅する。
以下、シミュレーションデータの詳細について説明する。CPU11は液体31内の粒子が壁面34又は他の粒子から受ける圧力値(以下、場合により要素値とする)を算出する。CPU11は算出した圧力値を粒子が存在するシミュレーション座標に配置する。CPU11は圧力値、粒子が存在するシミュレーション座標及び圧力値が発生した際の経過時間を対応づけてシミュレーションDB121に記憶する。
以下に情報処理システムの動作を説明する。ユーザは入力部14でZ座標=50を入力する。CPU11はZ座標=50の入力を受け付ける。CPU11はZ座標を50とし、X座標及びY座標を任意の点とする壁面34に要素値を計測する計測断面を生成する。
図5は計測断面上におけるシミュレーションデータの圧力分布を示す分布図である。図5Aは計測断面上における波33の高さが最高に達した場合の圧力分布を示す分布図である。図5Bは計測断面上における波33の高さが中間に達した場合の圧力分布を示す分布図である。図5Cは計測断面上における波33の高さが最低に達した場合の圧力分布を示す分布図である。白色は圧力が低いことを示す。黒色は圧力が高いことを示す。図5Aから図5Cは、波の高さに応じて圧力値が下側に移動していることが示されている。
図6はレンダリング画面の角部のレンダリング座標を示す拡大図である。図6の左右方向、上下方向及び奥行き方向の夫々はX方向、Y方向及び経過時間tを表す。レンダリング画面はt=1の座標面内の(1,1,1,1)、(1,2,1,1)、(1,3,1,1)に位置するレンダリング座標411、421、431を備える。さらにレンダリング画面はt=2の座標面内の(1,1,2,1)、(1,2,2,1)、(1,3,2,1)に位置するレンダリング座標412、422、432を備える。さらにレンダリング画面はt=3の座標面内の(1,1,3,1)、(1,2,3,1)、(1,3,3,1)に位置するレンダリング座標413、423、433を備える。
CPU11はt=1のシミュレーションデータを読み込む。CPU11はシミュレーション座標(1,1,50,1)上の要素値1を取得する。CPU11はシミュレーション座標(1,2,50,1)上の要素値2を取得する。CPU11はシミュレーション座標(1,3,50,1)上の要素値3を取得する。CPU11はレンダリング座標411、421及び431の夫々に要素値1、2及び3を配置する。以下、同様の処理をすべてのt=1の座標面内のX座標及びY座標に対して行う。CPU11は経過時間tに1秒を加算し、経過時間t=2のシミュレーションデータを読み込む。CPU11はシミュレーション座標(1,1,50,1)上の要素値2を取得し、シミュレーション座標(1,2,50,1)上の要素値2を取得し、シミュレーション座標(1,3,50,1)上の要素値3を取得する。CPU11はレンダリング座標412、422及び432の夫々に要素値2、2及び3を配置する。以下、同様の処理をすべてのt=2の座標面内のX座標及びY座標に対して行う。CPU11は経過時間tに1秒を加算し、経過時間t=3のシミュレーションデータを読み込む。CPU11はシミュレーション座標(1,1,50,1)上の要素値2を取得する。CPU11はシミュレーション座標(1,2,50,1)上の要素値3を取得する。CPU11はシミュレーション座標(1,3,50,1)上の要素値3を取得する。CPU11はレンダリング座標413、423及び433の夫々に要素値2、3及び3を配置する。以下、同様の処理をすべてのt=3の座標面内のX座標及びY座標に対して行う。CPU11は同様の処理を終了時間まで繰り返す。終了時間とはレンダリングを終了する経過時間である。
CPU11はさらに補間処理を行う。本実施形態におけるシミュレーションデータは1秒毎に要素値を算出しているが、1秒毎の時間間隔では見易いレンダリング画像になっていない場合が多い。このため、CPU11はシミュレーションデータの時間間隔よりさらに短い時間間隔で要素値を算出する。
以下に補間処理の詳細を説明する。CPU11は要素値をレンダリング座標に配置した後、経過時間t=1とt=2との間の経過時間t=1.5における要素値の補間を行う。要素値の補間は補間関数に基づいて算出する。補間関数とは経過時間の間の値を補間する関数である。補間関数とは例えば、一次関数であり、前後の経過時間及び要素値に基づいて値が一意に決まる。
図3Aに示すように、レンダリング座標(1,1,1,1)の要素値は1であり、かつレンダリング座標(1,1,2,1)の要素値は2である。CPU11は一次関数に経過時間t=1、経過時間t=2、算出したい経過時間t=1.5、要素値1及び要素値2を代入することで要素値1.5を算出する。図3Bに示すように、CPU11は算出した要素値1.5をレンダリング座標(1,1,1.5,1)に配置する。以下、同様の処理をすべてのt=1.5の座標面内のX座標及びY座標について行う。
次にCPU11は経過時間t=2とt=3との間の経過時間t=2.5における要素値の補間を行う。図3Aに示すように、レンダリング座標(1,1,2,1)の要素値は2であり、かつレンダリング座標(1,1,3,1)の要素値は3である。CPU11は経過時間t=2、経過時間t=3、算出したい経過時間t=2.5、要素値2及び要素値3を代入することで要素値2.5を算出する。図3Bに示すように、CPU11は算出した要素値2.5をレンダリング座標(1,1,2.5,1)に配置する。CPU11は以下、同様の処理をすべてのt=2.5の座標面内のX座標及びY座標について行い、終了時間まで繰り返す。CPU11は終了時間に達した場合、レンダリングDB122に経過時間、要素値及びレンダリング座標を記憶する。
CPU11は要素値の内、最大値及び最小値を取得する。CPU11は最大値及び最小値に基づいて要素値を分割する。すなわちCPU11は値の大小に基づいて要素値を分割する。例えば、本実施形態における要素値の最大値が5であり、最小値が1であった場合、CPU11は最大値5を取得し、最小値1を取得する。CPU11は要素値1〜5の間の要素値をn等分分割する。具体的には以下の通りである。CPU11は最大値と最小値との差を算出する。CPU11は算出した差をn等分する。CPU11は最小値にn等分した差を加算していくことで最大値と最小値との間の要素値をn等分する。具体的にはCPU11は「1〜1.9」、「2〜2.9」、「3〜3.9」、「4〜5」のように要素値を分割する。
CPU11は分割した要素値を色分けする。CPU11は例えば、要素値「1〜1.9」に赤色を割り当てる。CPU11は要素値「2〜2.9」に赤紫を割り当てる。CPU11は要素値「3〜3.9」に紫を割り当てる。CPU11は要素値「4〜5」に青紫を割り当てる。CPU11は色分けした要素値に基づいてレンダリングしたレンダリング画像6を生成し、生成したレンダリング画像6を表示部15に表示する。図7はレンダリング画像6を示す説明図である。図7の左右方向、上下方向及び奥行き方向の夫々はX方向、Y方向及び経過時間tを表す。図7に示すように、CPU11は経過時間tを軸として波状の圧力分布を生成したレンダリング画像6をレンダリング画面に表示する。
図8〜10は本実施形態における情報処理システムの処理手順を示したフローチャートである。CPU11は初期設定を行う(ステップS10)。具体的には以下の通りである。CPU11は経過時間tを開始時間に設定する。CPU11は終了時間を設定する。CPU11は時間間隔uを設定する。時間間隔uとは例えば、シミュレーションデータに記憶された2つの経過時間tの時間間隔である。CPU11は分割時間vを設定する。分割時間とは時間間隔uを分割した時間間隔である。開始時間、終了時間、時間間隔u及び分割時間vは予め記憶部12に記憶されており、ユーザにより任意に変更することができる。CPU11は断面位置の入力を受け付ける(ステップS11)。CPU11は入力された断面位置に基づいて計測断面を生成する(ステップS12)。CPU11は経過時間tにおけるシミュレーションデータを読み込む(ステップS13)。
CPU11は計測断面における要素値を取得する(ステップS14)。CPU11は要素値をレンダリング座標に配置する(ステップS15)。CPU11は経過時間tに時間間隔uを加算する(ステップS16)。CPU11は経過時間tが終了時間であるか否かを判定する(ステップS17)。CPU11は経過時間tが終了時間でないと判定した場合(ステップS17:NO)、処理をステップS13に戻し、経過時間tが終了時間になるまで処理を繰り返す。CPU11は経過時間tが終了時間であると判定した場合(ステップS17:YES)、経過時間tを開始時間に設定する(ステップS18)。
CPU11は経過時間tにおける計測断面の要素値を取得済みであるか否かを判定する(ステップS19)。CPU11は経過時間tにおける計測断面の要素値を取得済みであると判定した場合(ステップS19:YES)、処理をステップS22に移す。CPU11は経過時間tにおける計測断面の要素値を取得済みでないと判定した場合(ステップS19:NO)、補間関数に基づいて経過時間tにおける計測断面の要素値を算出する(ステップS20)。CPU11は要素値をレンダリング座標に配置する(ステップS21)。CPU11はステップS19又はS21を終了した後、経過時間tに分割時間vを加算する(ステップS22)。すなわち、CPU11は一方の経過時間tに分割時間vを加算する。
CPU11は経過時間tが終了時間であるか否かを判定する(ステップS23)。CPU11は経過時間tが終了時間でないと判定した場合(ステップS23:NO)、処理をステップS19に戻し、経過時間tが終了時間になるまで処理を繰り返す。CPU11は経過時間tが終了時間であると判定した場合(ステップS23:YES)、レンダリング座標上の要素値から最大値及び最小値を取得する(ステップS24)。
CPU11は最大値及び最小値に基づいて要素値を分割する(ステップS25)。CPU11は分割した要素値を色分けする(ステップS26)。すなわちCPU11は分割した要素値を要素値の大小に基づいて色を対応づける。CPU11は画面上に要素値をレンダリングし(ステップS27)、処理を終了する。すなわち、CPU11は要素値を3次元の画像で表示部15に表示する。
一側面によれば、3次元データの断面の変化を理解することができる。
一側面によれば、補間関数に基づいて経過時間tにおける要素値を算出することで滑らかなレンダリング画像6を表示することができる。
一側面によれば、分割した要素値を色分けすることで断面の変化がさらに解りやすくなる。
一側面によれば、最大値及び最小値を取得することで即座に適切な分割を行うことができる。
実施の形態2
本実施形態は心臓の動きをシミュレーションした3次元データを用いる。本実施形態の3次元データは心臓の形を変化させるため、3次元データに配置された要素値の位置も変化する。このため、ユーザが入力した断面位置における計測断面から要素値を取得し続けた場合、ユーザが取得したい要素値とは別の要素値を取得することがある。CPU11は3次元データの変化に合わせて適切な要素値を取得するため、以下の処理を行う。CPU11は経過時間毎に計測断面における要素値と計測断面に隣接する要素値とが所定の範囲内であった場合、隣接する要素値の位置を示す隣接位置を含むように計測断面を再生成する。所定の範囲とは例えば「0.5」である。CPU11は再生成した計測断面における要素値を取得することで心臓の形に合わせて適切な要素値の位置を取得できる。以下、特に説明する構成、作用以外の構成及び作用は実施の形態1と同等であり、簡潔のため記載を省略する。図11は情報処理装置1のハードウェア群を示すブロック図である。図11に示すように、情報処理装置1の記憶部12は計測断面DB123を備える。
図12は計測断面DB123に格納されているデータの一例を示す図である。図12Aは経過時間t=1における計測断面DB123に格納されているデータの一例を示す図である。図12Bは経過時間t=2における計測断面DB123に格納されているデータの一例を示す図である。計測断面DB123は計測断面の座標等を記憶するデータベースである。計測断面DB123は断面座標列等を備える。断面座標列には、シミュレーションデータにおける計測断面の座標を示す断面座標が記憶される。断面座標列には例えば、(1,1,50,1)が記憶される。(1,1,50,1)は左からX座標、Y座標、Z座標、W座標を表す。なお、各列の情報は互いに対応づけられている。計測断面DB123の記憶方法は後述する。
図13はシミュレーションデータ、計測断面及びレンダリング画面を示す説明図である。本実施形態に係るシミュレーションデータは心臓の動きをシュミレーションしたデータである。図13A、13B、13C、13Dは、経過時間t=1、t=2、t=3、t=4における心臓の3次元データである。図13E、13F、13G、13Hは、経過時間t=1、t=2、t=3、t=4における計測断面の画像である。図13Iは要素値をレンダリングした結果を示す説明図である。
以下、シミュレーションデータの詳細について説明する。CPU11は心筋の圧力値(以下、場合により要素値とする)を算出する。CPU11は算出した圧力値を心筋が存在するシミュレーション座標に配置する。CPU11は圧力値、心筋が存在するシミュレーション座標及び圧力値が発生した際の経過時間を対応づけてシミュレーションDB121に記憶する。
ユーザは入力部14でZ座標=50を入力し、心臓の中央付近を断面位置に指定する。CPU11はZ座標=50の断面位置の入力を受け付ける。CPU11は心臓の中央付近の要素値の断面を計測する計測断面を生成する。図12Aに示すように、CPU11は生成した計測断面の座標を計測断面DB123に記憶する。
図14は計測断面とシミュレーション座標とを示す説明図である。図14の左右方向、上下方向及び奥行き方向の夫々はX方向、Y方向及びZ方向を表す。シミュレーションデータ7は例えば、シミュレーション座標751及び752を備える。シミュレーション座標751及び752の座標の夫々は(2,3,50,1)、(3,3,50,1)である。計測断面4はシミュレーション座標751及び752を接続した接続線と交差する断面座標451を備える。断面座標451の座標は(2.5,3,50,1)である。
本実施形態では、断面座標とシミュレーション座標とが一致しない場合が多いため、3次元データの動きに合わせて計測断面上に要素値を配置する必要がある。このため、CPU11は以下のような処理を行う。CPU11はシミュレーション座標同士を接続する接続線を生成する。計測断面4が接続線と交差した場合、CPU11は接続線の両端に位置するシミュレーション座標の要素値を取得する。CPU11は取得した複数の要素値を足し合わせて2で割った値を計測断面と接続線との交差点に配置する。例えば、経過時間t=1におけるシミュレーション座標751に配置された要素値が1であり、経過時間t=1におけるシミュレーション座標752に配置された要素値が2である。この場合、CPU11はシミュレーション座標751及び752の中点に位置する断面座標411に要素値1.5を配置する。
図15はシミュレーションデータ7の一部を拡大した拡大図である。図15の左右方向、上下方向及び奥行き方向の夫々はX方向、Y方向及びZ方向を表す。図15Aは経過時間t=1におけるシミュレーションデータ7の一部を拡大した拡大図である。図15Bは経過時間t=2におけるシミュレーションデータ7の一部を拡大した拡大図である。シミュレーションデータ7は(1,1,50,1)に位置するシミュレーション座標711と、シミュレーション座標711のZ方向に隣接し、(1,1,51,1)に位置するシミュレーション座標712とを備える。図15A及び図15Bに示すシミュレーション座標は斜線及び白色で表示されている。図中の斜線は要素値が2であることを示し、白色は要素値が1であることを示す。図15Aに示すシミュレーション座標711に配置された要素値は1であり、シミュレーション座標712に配置された要素値は2である。図15Bに示すシミュレーション座標711に配置された要素値は2であり、シミュレーション座標712は要素値が1である。このため、CPU11は計測断面における要素値1と計測断面に隣接する要素値1とが所定の範囲「0.5」内であるため、要素値1がシミュレーション座標711からシミュレーション座標712に移動したと判断する。図12Bに示すように、CPU11は計測断面DB123の一列目にシミュレーション座標712を上書きする。CPU11は経過時間に1秒を加算した後、計測断面DB123に記憶された座標に基づいて計測断面を生成し、計測断面を生成したシミュレーション座標712から要素値を取得する。すなわち、CPU11は経過時間t=2秒以降、再生成した計測断面における要素値を取得する。以上の処理をCPU11は経過時間に分割時間を任意の数加算した時間に対して行う。
図13A〜13Dに示すように経過時間毎に心臓の形が変化した場合、図13E〜13Hに示すように、CPU11は経過時間毎に計測断面を再生成する。図13Iに示すように、CPU11は計測断面上の要素値をレンダリング座標に時系列順に配置し、実施の形態1と同様の処理を行う。
図16〜17は本実施形態における情報処理システムの処理手順を示したフローチャートである。ステップS10〜S27の処理は上述の実施の形態1に係る情報処理システムと同様であるので、簡潔のため説明を省略する。CPU11はステップS12の処理を終了した後、生成した計測断面を計測断面DB123に記憶し(ステップS31)、処理をステップS13に移す。CPU11はステップS13の処理を終了した後、計測断面DB123に基づいて計測断面を生成する(ステップS32)。
CPU11はシミュレーション座標を接続する接続線を生成する(ステップS33)。CPU11は計測断面と交差する接続線の両端の要素値を取得する(ステップS34)。CPU11は計測断面と接続線との交差点における要素値を算出する(ステップS35)。具体的には、CPU11は取得した複数の要素値を足し合わせて2で割った値を算出する。CPU11は要素値を交差点の断面座標に配置する(ステップS36)。CPU11は計測断面における要素値を取得する(ステップS37)。CPU11は計測断面に隣接する要素値を取得する(ステップS38)。
CPU11は計測断面における要素値と計測断面に隣接する要素値とが所定の範囲内であるか否かを判定する(ステップS39)。CPU11は所定の範囲内でないと判定した場合(ステップS39:NO)、処理をステップS41に移す。CPU11は所定の範囲内であると判定した場合(ステップS39:YES)、隣接位置を計測断面DB123に記憶する(ステップS40)。
CPU11は断面座標上の要素値をレンダリング座標に配置し(ステップS41)、処理をステップS17に移す。
一側面によれば、所定の範囲内にある要素値を追跡することで適切なレンダリング画像6を表示することができる。
実施の形態3
実施の形態3は等高線を表示したレンダリング画像6を表示する実施の形態に関する。以下、特に説明する構成、作用以外の構成及び作用は実施の形態1と同等であり、簡潔のため記載を省略する。図18は等高線を表示したレンダリング画像6を示す説明図である。図18に示すように、レンダリング画像6は等高線61、62、63を備える。等高線61は圧力値の最大値を示す等高線である。等高線62は圧力値の最大値及び最小値の半分の値を示す等高線である。等高線63は圧力値の最小値を示す等高線である。
CPU11は分割した要素値を色分けした後、最大値、最小値、最大値及び最小値の半分の値をレンダリングDB122から抽出する。CPU11は最大値を有する座標に黄色を割り当てる。CPU11は最大値及び最小値の半分の値を有する座標に黄緑色を割り当てる。CPU11は最小値を有する座標に緑色を割り当てる。色の割り当て方は任意である。CPU11は画面上に要素値をレンダリングする。
図19は本実施形態における情報処理システムの処理手順を示したフローチャートである。ステップS10〜S27の処理は上述の実施の形態1に係る情報処理システムと同様であるので、簡潔のため説明を省略する。CPU11はステップS26の処理を終了した後、所定の間隔毎に同一の要素値を抽出する(ステップS43)。所定の間隔とは例えば、最大値及び最小値の半分の値である。CPU11は抽出した要素値を要素値に対応する色に色分けし(ステップS44)、処理をステップS27に移す。
一側面によれば、等高線を表示することで同一の値の空間分布が理解しやすくなる。
実施の形態4
実施の形態4はフィルタを適用することで分布を滑らかにしたレンダリング画像を表示する実施の形態に関する。以下、特に説明する構成、作用以外の構成及び作用は実施の形態1と同等であり、簡潔のため記載を省略する。図20は計測断面8における要素値の算出方法を説明するための説明図である。図20の上下方向はY方向を表し、左右方向はX方向を表す。計測断面8は断面座標801、802、803、804(以下場合により代表して断面座標80とする)…に配置された粒子811、812、813(以下場合により代表して粒子81とする)…と、計測断面8の一部を覆うフィルタ82とを備える。
粒子81は例えば、球状である。粒子81の夫々には重なりあっている部分が存在する。実際の圧力分布では粒子81同士が重なっている部分の圧力は、重なっていない部分の圧力より大きい。このためCPU11はシミュレーションデータを平滑化することで圧力分布を適正化する。具体的にはCPU11はフィルタ82内の座標80に配置された要素値にフィルタ82を適用することにより要素値を平滑化する。フィルタ82はガウシアンフィルタであり、X方向がY方向より長い楕円状をなす。フィルタ82におけるY方向の標準偏差はX方向の標準偏差より小さい。
以下、計測断面8における要素値の算出方法について説明する。粒子81の夫々には要素値が対応づけられている。CPU11は粒子81の要素値を取得する。CPU11は例えば、断面座標801の要素値に対して1/3、断面座標802の要素値に対して2/3、断面座標803の要素値に対して2/3、断面座標804の要素値に対して1/3を掛けることで要素値にフィルタ82を適用する。CPU11は以下、同様の処理をフィルタ82内の断面座標880に行う。CPU11はフィルタ82を適用した要素値を断面座標に配置する。
図21は計測断面8における圧力分布を示す分布図である。図21Aはフィルタを適用する前の計測断面8における圧力分布を示す分布図である。図21Bはフィルタを適用した後の計測断面8における圧力分布を示す分布図である。図21Aに示すように、フィルタを適用する前における計測断面8の中央部には要素値がまばらに点在している。図21Bに示すように、フィルタを適用した後における計測断面8の中央部には、まばらに点在していた要素値が平滑化されていることが解る。
図22は本実施形態における情報処理システムの処理手順を示したフローチャートである。ステップS10〜S27の処理は上述の実施の形態1に係る情報処理システムと同様であるので、簡潔のため説明を省略する。CPU11はステップS14の処理を終了した後、取得した要素値を計測断面8に配置する(ステップS50)。CPU11は計測断面8に配置した要素値にフィルタ82を適用する(ステップS51)。CPU11はフィルタ82を適用した要素値をレンダリング座標に配置し(ステップS52)、処理をステップS16に移す。
一側面によれば、フィルタを適用することで粒子の粗密に対応した適切な要素値をレンダリング座標に配置できる。
実施の形態5
以下本発明の実施の形態4をその実施の形態を示す図面に基づいて詳述する。図23は情報処理装置1のハードウェア群を示すブロック図である。以下、特に説明する構成、作用以外の構成及び作用は実施の形態1と同等であり、簡潔のため記載を省略する。図23に示す情報処理装置1は、上述した各種ソフトウェア処理を実行するプログラムを、可搬型記録媒体18A又は半導体メモリ18Bから読み取り、あるいは、通信網Nを介して他のサーバ(図示せず)からダウンロードする。当該プログラムは、プログラム12Pとしてインストールされ、記憶部12にロードして実行される。これより上述した情報処理装置1として機能する。
情報処理装置1を動作させるためのプログラムは、ディスクドライブ等の読み取り部18にCD−ROM、DVD(Digital Versatile Disc)ディスク、メモリーカード、又はUSB(Universal Serial Bus)メモリ等の可搬型記録媒体18Aを読み取らせて記憶部12に記憶してもよい。また当該プログラムを記憶したフラッシュメモリ等の半導体メモリ18Bを情報処理装置1内に実装しても良い。通信部16は、例えば無線LANカード又は携帯電話用通信モジュール等であり、通信網Nを介して他のサーバに接続されている。当該プログラムは、通信部16によりインターネット等の通信網Nを介して接続される他のサーバ(図示せず)からダウンロードすることも可能である。以下にその内容を説明する。
図24は情報処理装置1の機能ブロック図である。CPU11がプログラム12Pを実行することにより、情報処理装置1は以下のように動作する。 取得部11Aはシミュレーションを開始してから経過した経過時間毎に変化する値を配置した3次元のデータを取得する。値取得部11Bは取得部11Aで取得した3次元データの断面の値を経過時間毎に取得する。配置部11Cは値取得部11Bで取得した値を3次元の時空間上で時系列順に配置する。画像表示部11Dは該配置部11Cで配置した値を3次元の画像で表示する。
以上の実施の形態に関し、更に以下の付記を開示する。
(付記1)
情報処理装置に、
シミュレーションを開始してから経過した経過時間に基づいて変化する値を配置した3次元のデータを取得し、
取得した3次元データの断面の値を前記経過時間毎に取得し、
取得した値を3次元の時空間上で時系列順に配置し、
配置した値を3次元の画像で表示する
処理を実行させるプログラム。
(付記2)
前記断面の値を取得した経過時間と同一の経過時間に前記断面に隣接する値を取得し、
取得した断面の値と前記断面に隣接する値とが所定の範囲内であるか否かを判定し、
取得した断面の値と前記断面に隣接する値とが所定の範囲内であると判定した場合、前記断面に隣接する位置を含む断面を生成し、
前記経過時間以降、生成した断面の値を取得する
処理を実行させる付記1に記載のプログラム。
(付記3)
取得した値を該値の大小に基づいて分割し、
分割した値を該値に対応する色で表示する
付記1又は付記2に記載のプログラム。
(付記4)
取得した値の内、同一の値を抽出し、
抽出した値を該値に対応する色で表示する
付記1から付記3のいずれか一つに記載のプログラム。
(付記5)
取得した値の最大値及び最小値を取得し、
取得した最大値及び最小値に基づいて取得した値を分割する
付記4に記載のプログラム。
(付記6)
前記断面の値を取得した2つの経過時間の間隔を分割した分割時間を算出し、
前記断面の値を取得した一方の経過時間に前記分割時間を任意の数加算した加算時間を算出し、
前記断面の値を補間するための補間関数に基づいて前記加算時間における断面の値を補間する
付記1から付記5のいずれか一つに記載のプログラム。
(付記7)
取得した値に該値を補正するガウシアンフィルタを適用する
付記1から付記6のいずれか一つに記載のプログラム。
(付記8)
前記3次元データの座標を接続した接続線を生成し、
生成した接続線の両端の値に基づいて、該接続線と前記断面との交差点の値を算出する
付記1から付記7のいずれか一つに記載のプログラム。
(付記9)
シミュレーションを開始してから経過した経過時間に基づいて変化する値が配置された3次元のデータを取得する取得部と、
該取得部で取得した3次元データの断面の値を前記経過時間毎に取得する値取得部と、
該値取得部で取得した値を3次元の時空間上で時系列順に配置する配置部と、
該配置部で配置した値を3次元の画像で表示する画像表示部と
を備える情報処理装置。
(付記10)
シミュレーションを開始してから経過した経過時間に基づいて変化する値が配置された3次元のデータを取得し、
取得した3次元データの断面の値を前記経過時間毎に取得し、
取得した値を3次元の時空間上で時系列順に配置し、
配置した値を3次元の画像で表示する
情報処理方法。
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。また、各実施の形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
1 情報処理装置
11A 取得部
11B 値取得部
11C 配置部
12P プログラム

Claims (6)

  1. 情報処理装置に、
    シミュレーションを開始してから経過した経過時間に基づいて変化する値を配置した3次元のデータを取得し、
    取得した3次元データの断面の値を前記経過時間毎に取得し、
    取得した値を3次元の時空間上で時系列順に配置し、
    配置した値を3次元の画像で表示する
    処理を実行させるプログラム。
  2. 前記断面の値を取得した経過時間と同一の経過時間に前記断面に隣接する値を取得し、
    取得した断面の値と前記断面に隣接する値とが所定の範囲内であるか否かを判定し、
    取得した断面の値と前記断面に隣接する値とが所定の範囲内であると判定した場合、前記断面に隣接する位置を含む断面を生成し、
    前記経過時間以降、生成した断面の値を取得する
    処理を実行させる請求項1に記載のプログラム。
  3. 取得した値を該値の大小に基づいて分割し、
    分割した値を該値に対応する色で表示する
    請求項1又は請求項2に記載のプログラム。
  4. 取得した値の内、同一の値を抽出し、
    抽出した値を該値に対応する色で表示する
    請求項1から請求項3のいずれか一つに記載のプログラム。
  5. シミュレーションを開始してから経過した経過時間に基づいて変化する値が配置された3次元のデータを取得する取得部と、
    該取得部で取得した3次元データの断面の値を前記経過時間毎に取得する値取得部と、
    該値取得部で取得した値を3次元の時空間上で時系列順に配置する配置部と、
    該配置部で配置した値を3次元の画像で表示する画像表示部と
    を備える情報処理装置。
  6. シミュレーションを開始してから経過した経過時間に基づいて変化する値が配置された3次元のデータを取得し、
    取得した3次元データの断面の値を前記経過時間毎に取得し、
    取得した値を3次元の時空間上で時系列順に配置し、
    配置した値を3次元の画像で表示する
    情報処理方法。
JP2015197834A 2015-10-05 2015-10-05 プログラム、情報処理装置及び情報処理方法 Withdrawn JP2017072902A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015197834A JP2017072902A (ja) 2015-10-05 2015-10-05 プログラム、情報処理装置及び情報処理方法
US15/276,854 US20170098018A1 (en) 2015-10-05 2016-09-27 Information processing method, information processing apparatus, and non-transitory recording medium storing information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015197834A JP2017072902A (ja) 2015-10-05 2015-10-05 プログラム、情報処理装置及び情報処理方法

Publications (1)

Publication Number Publication Date
JP2017072902A true JP2017072902A (ja) 2017-04-13

Family

ID=58447964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015197834A Withdrawn JP2017072902A (ja) 2015-10-05 2015-10-05 プログラム、情報処理装置及び情報処理方法

Country Status (2)

Country Link
US (1) US20170098018A1 (ja)
JP (1) JP2017072902A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6939135B2 (ja) * 2017-06-23 2021-09-22 カシオ計算機株式会社 電子機器、プログラム、サーバ、グラフ画像生成方法およびグラフ画像生成システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8064670B2 (en) * 2004-09-29 2011-11-22 Northrop Grumman Systems Corporation Analysis of multidimensional data
US20080319331A1 (en) * 2005-05-24 2008-12-25 Claudio Zizzo Medical Data Signal Processing Systems
US8253739B2 (en) * 2008-04-03 2012-08-28 Siemens Aktiengesellschaft Method for interpolating an intermediate polygon p from two polygons p1 and p2
JP2010142428A (ja) * 2008-12-18 2010-07-01 Canon Inc 撮影装置及び撮影方法、プログラム、記録媒体
JP5596948B2 (ja) * 2009-09-18 2014-09-24 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
CN102802534B (zh) * 2010-03-17 2015-05-06 富士胶片株式会社 医用图像转换设备、方法和程序
JP5905308B2 (ja) * 2012-03-26 2016-04-20 富士フイルム株式会社 画像処理装置、方法及びプログラム

Also Published As

Publication number Publication date
US20170098018A1 (en) 2017-04-06

Similar Documents

Publication Publication Date Title
EP2786353B1 (en) Methods and systems for capturing and moving 3d models and true-scale metadata of real world objects
US11829686B2 (en) 3D model validation and optimization system and method thereof
US9865032B2 (en) Focal length warping
US10318102B2 (en) 3D model generation from 2D images
JP4776531B2 (ja) 地図情報生成装置、地図情報生成方法、および地図情報生成プログラム
US10475229B2 (en) Information processing apparatus and information processing method
CN109324796B (zh) 界面布局方法及装置
US20170148212A1 (en) Color-based dynamic sub-division to generate 3d mesh
JP2007249965A (ja) ポイント基盤のレンダリング装置及び方法
KR100723421B1 (ko) 포인트 보간에 의한 렌더링 방법, 포인트 보간에 의한 렌더링 장치 및 기록매체
JP7187234B2 (ja) 三次元形状作成装置、三次元形状作成方法および三次元形状作成プログラム
US20180300912A1 (en) Drawing Curves in Space Guided by 3-D Objects
JP2017072902A (ja) プログラム、情報処理装置及び情報処理方法
JP5958243B2 (ja) エンボス加工シミュレーション装置、エンボス加工シミュレーション方法、及びプログラム
KR101289876B1 (ko) 3차원 디자인 변환 시스템, 방법과 프로그램 기록매체
KR101748637B1 (ko) 깊이 맵 생성 장치 및 방법
KR102520732B1 (ko) 유동해석 데이터 처리장치 및 그 장치에서 각 기능을 실행시키기 위해 매체에 저장된 컴퓨터 프로그램
KR20160143936A (ko) 선택적 3d 렌더링 방법 및 이를 위한 시스템
CN114937072A (zh) 图像处理方法和装置、电子设备、计算机可读存储介质
JP7063165B2 (ja) 計測装置、計測方法及び計測プログラム
JP7035349B2 (ja) エンボス加工シミュレーション装置及びエンボス加工シミュレーション方法
JP6100874B1 (ja) プログラム、コンピュータ装置、及び、プログラム実行方法
US11287351B2 (en) Vibration visualization with real-time and interpolation features
KR102247057B1 (ko) 인공신경망을 이용한 슬라브 길이 연산 방법 및 그 장치
US20230267696A1 (en) Responsive Video Canvas Generation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180608

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20181102