JP2016126557A - シミュレーションプログラム、シミュレーション装置およびベクトル表示方法 - Google Patents
シミュレーションプログラム、シミュレーション装置およびベクトル表示方法 Download PDFInfo
- Publication number
- JP2016126557A JP2016126557A JP2015000231A JP2015000231A JP2016126557A JP 2016126557 A JP2016126557 A JP 2016126557A JP 2015000231 A JP2015000231 A JP 2015000231A JP 2015000231 A JP2015000231 A JP 2015000231A JP 2016126557 A JP2016126557 A JP 2016126557A
- Authority
- JP
- Japan
- Prior art keywords
- fibonacci
- point
- objects
- vector
- points
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Processing Or Creating Images (AREA)
Abstract
【課題】ベクトルを示す複数のオブジェクトを表示する場合の視認性を向上させる。
【解決手段】記憶部11は、モデル上の位置14a〜14dそれぞれにおけるベクトルを示すベクトルデータ13を記憶する。表示制御部12は、モデル上に、螺旋状に並ぶ点16a〜16eを算出する。表示制御部12は、ベクトルデータ13が示すベクトルに対応するオブジェクト15a〜15dを表示させる場合に、算出した点16a〜16eに基づいて、オブジェクト15a〜15dのうちの少なくとも一部の表示位置を、ベクトルデータ13が示す位置14a〜14dから変更する。
【選択図】図1
【解決手段】記憶部11は、モデル上の位置14a〜14dそれぞれにおけるベクトルを示すベクトルデータ13を記憶する。表示制御部12は、モデル上に、螺旋状に並ぶ点16a〜16eを算出する。表示制御部12は、ベクトルデータ13が示すベクトルに対応するオブジェクト15a〜15dを表示させる場合に、算出した点16a〜16eに基づいて、オブジェクト15a〜15dのうちの少なくとも一部の表示位置を、ベクトルデータ13が示す位置14a〜14dから変更する。
【選択図】図1
Description
本発明はシミュレーションプログラム、シミュレーション装置およびベクトル表示方法に関する。
コンピュータの演算能力の向上に伴い、様々な物理現象に対してコンピュータを利用したシミュレーションが行われるようになっている。例えば、ある物体の表面における応力や磁力の分布を、コンピュータを利用してシミュレートすることが考えられる。シミュレーション結果は、モデル上の複数の位置について応力や磁力などの物理量を示すベクトルを記録したベクトルデータとして得られることがある。
ユーザがシミュレーション結果を確認する場合、数値としてのベクトルデータを読むよりも、ベクトルデータを可視化した画像を見たいことがある。ベクトルデータを可視化する方法としては、ベクトルに対応するオブジェクトをモデル空間上に配置し、ある観測点からオブジェクトを見たときの画像を表示装置に表示する方法が考えられる。オブジェクトとしては、例えば、ベクトルに応じた向きや大きさをもつ矢線を用いることができる。
なお、複数の平面図形を表示装置に表示する場合に、図形間の重なりを解消する魚眼拡大表示方法が提案されている。この魚眼拡大表示方法では、図形が密に配置されているエリアを示す直線を検出し、直線と各図形との距離(第1の距離)および直線と画面端との距離(第2の距離)を算出する。そして、第1の距離と第2の距離と媒介変数に基づいて、各図形を直線から離れるように画面端に向かって移動させる。
また、複数の立体図形を配置したモデル空間上で観測される画像を表示装置に表示する場合に、画像上での図形間の重なりを解消する三次元魚眼拡大表示方法が提案されている。この三次元魚眼拡大表示方法では、モデル空間上に直線を指定し、直線および観測点を含む平面と各図形との距離(第1の距離)および上記平面とモデル空間端との距離(第2の距離)を算出する。そして、第1の距離と第2の距離に基づいて、各図形を上記平面から離れるようにモデル空間端に向かって移動させる。
シミュレーション結果としてのベクトルデータを複数のオブジェクトを用いて可視化する場合、画像上においてオブジェクト同士が重なってしまうことがある。例えば、三次元のモデル空間上で、ベクトルデータが示す位置にベクトルに対応するオブジェクトを配置し、ある観測点からそれらオブジェクトを観測したとする。この場合、観測点と観測点に近い一のオブジェクトとを結ぶ線分の延長線上に他のオブジェクトが配置されていると、画像上では当該一のオブジェクトによって当該他のオブジェクトの少なくとも一部が隠されてしまう。その結果、観測点から遠い位置のベクトルの向きや大きさが確認しづらくなり、ベクトルデータを可視化した画像の視認性が低下するという問題がある。
1つの側面では、本発明は、ベクトルを示す複数のオブジェクトを表示する場合の視認性を向上させるシミュレーションプログラム、シミュレーション装置およびベクトル表示方法を提供することを目的とする。
1つの態様では、コンピュータに以下の処理を実行させるシミュレーションプログラムが提供される。モデル上の複数の位置それぞれにおけるベクトルを示すベクトルデータを取得する。モデル上に、螺旋状に並ぶ複数の点を算出する。ベクトルデータが示す複数のベクトルに対応する複数のオブジェクトを表示させる場合に、算出した複数の点に基づいて、複数のオブジェクトのうちの少なくとも一部の表示位置を、ベクトルデータが示す位置から変更する。
また、1つの態様では、記憶部と表示制御部とを有するシミュレーション装置が提供される。また、1つの態様では、コンピュータが実行するベクトル表示方法が提供される。
1つの側面では、ベクトルを示す複数のオブジェクトを表示する場合の視認性が向上する。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態のシミュレーション装置を示す図である。
[第1の実施の形態]
図1は、第1の実施の形態のシミュレーション装置を示す図である。
第1の実施の形態のシミュレーション装置10は、科学技術シミュレーションなどの各種のシミュレーションを行う。例えば、シミュレーション装置10は、物体の構造を示すモデルを取得し、物体の表面または内部における応力や磁力などの物理量の分布をシミュレートする。算出された応力や磁力などの物理量は、ベクトルとして表現される。三次元のモデルを使用した場合、物理量は三次元ベクトルとして表現され得る。そして、シミュレーション装置10は、シミュレーション結果を可視化する。例えば、シミュレーション装置10は、シミュレーション結果を示す画像を生成し、シミュレーション装置10に接続された表示装置(図示せず)に画像を表示させる。
シミュレーション装置10は、記憶部11および表示制御部12を有する。記憶部11は、シミュレーション結果を示すベクトルデータ13を記憶する。記憶部11は、RAM(Random Access Memory)などの揮発性メモリでもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性の記憶装置でもよい。表示制御部12は、記憶部11に記憶されたベクトルデータ13を可視化する。表示制御部12は、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサでもよい。また、表示制御部12は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの特定用途の電子回路を含んでもよい。なお、プロセッサは、RAMなどのメモリに記憶されたプログラムを実行する。複数のプロセッサの集合(マルチプロセッサ)を「プロセッサ」と呼ぶこともある。
ここで、ベクトルデータ13には、モデル上の複数の位置と算出された複数のベクトルとが対応付けて記録されている。ベクトルデータ13は、複数の位置それぞれにおける物理量をベクトルとして表す。各位置は、例えば、三次元座標を用いて表現できる。各ベクトルは、例えば、X成分の浮動小数点数と、Y成分の浮動小数点数と、Z成分の浮動小数点数の組として表現できる。ベクトルによって、応力や磁力などの物理量の向きと大きさを表すことができる。一例として、モデルから、離散的な位置14a,14b,14c,14dがサンプリングされる。この場合、ベクトルデータ13は、位置14aに対応するベクトルv1と、位置14bに対応するベクトルv2と、位置14cに対応するベクトルv3と、位置14dに対応するベクトルv4とを含む。
表示制御部12は、記憶部11からベクトルデータ13を取得する。また、表示制御部12は、螺旋状に並ぶ複数の点をモデル上に算出する。螺旋16の中心は、可視化するモデル領域の中心とするなど、任意の方法で決定すればよい。一例として、表示制御部12は、螺旋16を形成する点16a,16b,16c,16d,16eを算出する。点16aは位置14aに近く、点16bは位置14cに近く、点16cは位置14bに近く、点16eは位置14dに近い。螺旋16を形成する複数の点は、好ましくは、隣接する2つの点が黄金角だけ離れるように算出する。黄金比をRgとすると、黄金角は360°÷(1+Rg)=約137.508°である。このような性質をもつ点は「フィボナッチ点」と言うことができ、その場合の螺旋16は「フィボナッチ螺旋」と言うことができる。
黄金角ずつ離れたフィボナッチ点にオブジェクトを配置したモデルは、任意の観測点からそれらオブジェクトを見たときにオブジェクト同士が重なって見える確率が小さくなるという性質をもつ。黄金角を利用したオブジェクトの配置は、植物の葉の配置など自然界にも見られる現象である。そこで、表示制御部12は、フィボナッチ螺旋およびフィボナッチ点の性質を利用して、ベクトルデータ13を可視化するようにしてもよい。ただし、表示制御部12は、厳密に黄金角ずつ離れた複数の点を算出する代わりに、黄金角に近似する角度(例えば、135°〜140°程度)ずつ離れた複数の点を算出してもよい。また、表示制御部12は、所定の角度ずつ離れた複数の点を算出してもよい。
そして、表示制御部12は、ベクトルデータ13を可視化する。可視化において、表示制御部12は、ベクトルデータ13が示す複数のベクトルに対応する複数のオブジェクトをモデル上に配置する。オブジェクトは、ベクトルの向きと大きさに応じた形状を有する。例えば、オブジェクトとして、向きや長さが可変な矢線を用いることが考えられる。オブジェクトの表示位置の初期値は、ベクトルデータ13が示す位置とする。
一例として、ベクトルv1に対応するオブジェクト15aが、モデル上の位置14aに配置される。ベクトルv2に対応するオブジェクト15bが、モデル上の位置14bに配置される。ベクトルv3に対応するオブジェクト15cが、モデル上の位置14cに配置される。ベクトルv4に対応するオブジェクト15dが、モデル上の位置14dに配置される。表示制御部12は、例えば、オブジェクトを配置した平面の上に観測点を設定し、オブジェクトの集合を斜め上から観測することで画像を生成する。表示制御部12は、例えば、生成した画像を表示装置に表示させる。
ただし、ベクトルデータ13に従ってオブジェクトの表示位置を決定すると、オブジェクトの増加に伴い、画像上でオブジェクト同士が重なって見える可能性が高くなる。そこで、表示制御部12は、画像上でのオブジェクト同士の重なりが抑制されるように、上記の螺旋16を形成する複数の点を基準にして、少なくとも一部のオブジェクトの表示位置を変更する。表示位置の変更は、画像を一度生成した後に行ってもよいし、画像を生成する前に行ってもよい。また、表示位置の変更は、全体のオブジェクト数または単位面積当たりのオブジェクト数が閾値を超える場合のみ行ってもよい。
例えば、表示制御部12は、各オブジェクトの表示位置を、螺旋16を形成する複数の点の中から選択するようにする。選択する点は、ベクトルデータ13が示す位置から最も近い点としてもよい。一例として、位置14aが点16aに近い場合、オブジェクト15aを位置14aから点16aに移動する。位置14bが点16cに近い場合、オブジェクト15bを位置14bから点16cに移動する。位置14cが点16bに近い場合、オブジェクト15cを位置14cから点16bに移動する。位置14dが点16eに近い場合、オブジェクト15dを位置14dから点16eに移動する。
第1の実施の形態のシミュレーション装置10によれば、ベクトルデータ13を可視化する場合に、螺旋16を形成する複数の点が算出される。そして、ベクトルデータ13が示す複数のベクトルに対応する複数のオブジェクトの表示位置が、螺旋16を形成する点を基準にして、ベクトルデータ13が示す本来の位置から変更される。これにより、画像上でオブジェクト同士が重なって見える可能性を低減できる。よって、ベクトルの向きや大きさを理解することが容易となり、可視化した画像の視認性が向上する。特に、螺旋16を形成する複数の点を、隣接する点が黄金角またはこれと近似する角度ずつ離れるように算出することで、フィボナッチ螺旋の性質を利用することができる。これにより、オブジェクト同士が重なって見える可能性を更に低減することができる。
[第2の実施の形態]
第2の実施の形態のシミュレーション装置100は、ユーザから入力された三次元モデルを用いて科学技術シミュレーションを行い、応力や磁力などの物理量の分布を算出する。シミュレーション結果は、モデル上の複数の位置それぞれにおける物理量を示す三次元ベクトルを含む。そして、シミュレーション装置100は、シミュレーション結果を可視化する。シミュレーション装置100は、ユーザが操作するクライアントコンピュータでもよいし、ネットワーク経由でアクセスされるサーバコンピュータでもよい。
第2の実施の形態のシミュレーション装置100は、ユーザから入力された三次元モデルを用いて科学技術シミュレーションを行い、応力や磁力などの物理量の分布を算出する。シミュレーション結果は、モデル上の複数の位置それぞれにおける物理量を示す三次元ベクトルを含む。そして、シミュレーション装置100は、シミュレーション結果を可視化する。シミュレーション装置100は、ユーザが操作するクライアントコンピュータでもよいし、ネットワーク経由でアクセスされるサーバコンピュータでもよい。
図2は、シミュレーション装置のハードウェア例を示すブロック図である。
シミュレーション装置100は、CPU101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106および通信インタフェース107を有する。上記のユニットは、それぞれバス108に接続されている。
シミュレーション装置100は、CPU101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106および通信インタフェース107を有する。上記のユニットは、それぞれバス108に接続されている。
CPU101は、プログラムの命令を実行する演算回路を含むプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを備えてもよく、シミュレーション装置100は複数のプロセッサを備えてもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。また、複数のプロセッサの集合(マルチプロセッサ)を「プロセッサ」と呼んでもよい。
RAM102は、CPU101が実行するプログラムやCPU101が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、シミュレーション装置100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
HDD103は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。プログラムには、シミュレーションプログラムが含まれる。なお、シミュレーション装置100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
画像信号処理部104は、CPU101からの命令に従って、シミュレーション装置100に接続されたディスプレイ111に画像を出力する。ディスプレイ111としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ(PDP:Plasma Display Panel)、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなどを用いることができる。
入力信号処理部105は、シミュレーション装置100に接続された入力デバイス112から入力信号を取得し、CPU101に出力する。入力デバイス112としては、マウスやタッチパネルやタッチパッドやトラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、シミュレーション装置100に、複数の種類の入力デバイスが接続されていてもよい。
媒体リーダ106は、記録媒体113に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体113として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。媒体リーダ106は、例えば、記録媒体113から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
通信インタフェース107は、ネットワーク114に接続され、他のコンピュータと通信を行う。通信インタフェース107は、スイッチなどの通信装置とケーブルで接続される有線通信インタフェースでもよいし、基地局またはアクセスポイントと無線リンクで接続される無線通信インタフェースでもよい。
ただし、シミュレーション装置100は、媒体リーダ106を備えなくてもよく、ネットワーク114を介してアクセスされるサーバコンピュータである場合は画像信号処理部104や入力信号処理部105を備えなくてもよい。また、ディスプレイ111や入力デバイス112が、シミュレーション装置100の筐体と一体に形成されてもよい。なお、CPU101は、第1の実施の形態の表示制御部12の一例である。RAM102またはHDD103は、第1の実施の形態の記憶部11の一例である。
次に、シミュレーション結果としてのベクトルデータを可視化する場合の問題点と、フィボナッチ螺旋を利用した可視化方法について説明する。
図3は、可視化時のオブジェクトの移動例を示す図である。
図3は、可視化時のオブジェクトの移動例を示す図である。
シミュレーション装置100は、モデル上の離散的な複数の位置それぞれに対して、物理量を示すベクトルを算出する。このシミュレーション結果を可視化する場合、シミュレーション装置100は、複数のベクトルに対応する複数のオブジェクトをモデル上に配置する。第2の実施の形態では、オブジェクトとして、ベクトルの向きや大きさに応じた矢線を用いる。各オブジェクトは、初期状態では、当該オブジェクトに対応するベクトルが算出された本来の位置に配置される。また、シミュレーション装置100は、モデル上にカメラを配置する。カメラの方向は、ユーザが指定できるようにしてもよい。
第2の実施の形態では、主に、z=z0(所定値)のXY平面上に複数のオブジェクトを配置し、これらオブジェクトの集合を斜め上から見下ろす位置(Z座標がz0よりも大きい位置)にカメラを配置する場合を考える。このXY平面は、例えば、物体の表面に相当する。その場合、配置するオブジェクトは、物体表面のベクトルの分布を表す。また、このXY平面は、例えば、物体のある断面に相当する。その場合、配置するオブジェクトは、物体内部のベクトルの分布を表す。シミュレーション装置100は、カメラから観測できる画像を生成し、生成した画像をディスプレイ111に表示する。これにより、ユーザは、物理量の分布を把握することが容易となると期待される。
ただし、ベクトルが格子状に一定間隔でサンプリングされている場合、画像の中心付近では、カメラに近いオブジェクトとカメラから遠いオブジェクトとが重なって見えることがある。また、上記のように画像を生成すると、カメラから遠いオブジェクトが遠近法によって画像の中心付近に集まるように投影されることになり、カメラに近いオブジェクトとカメラから遠いオブジェクトとが重なって見える可能性が高くなる。
一例として、画像20には、矢線としてのオブジェクト21〜23が投影されている。オブジェクト21〜23のうち、オブジェクト23が最もカメラに近く、オブジェクト23の1つ後ろにオブジェクト22が配置され、オブジェクト22の1つ後ろにオブジェクト21が配置されている。初期状態の配置では、オブジェクト21〜23としての3つの矢線が画像20上で一直線に重なって見える。このため、ユーザは画像20を見ても、3つの矢線によって表された3つのベクトルを個々に把握することが容易でない。
そこで、シミュレーション装置100は、最初に生成した画像の中に単位面積当たりのオブジェクト数(オブジェクトの密度)が高い領域が存在する場合、少なくとも一部のオブジェクトの配置を変更する。そして、シミュレーション装置100は、変更した配置に基づいて画像を再生成し、再生成した画像をディスプレイ111に表示する。
一例として、画像20aには、画像20と同様に矢線としてのオブジェクト21〜23が投影されている。画像20aは、一部のオブジェクトの配置を画像20から変更したものである。オブジェクト22は、カメラから見て右方向に移動している。オブジェクト21は、カメラから見て左方向に移動している。変更後の配置では、オブジェクト22は、その手前に配置されたオブジェクト23と重なっておらず、オブジェクト21は、その手前に配置されたオブジェクト22,23の何れとも重なっていない。このため、ユーザはオブジェクト21,22,23としての3つの矢線を明確に視認することができ、3つの矢線によって表された3つのベクトルを個々に把握することが容易となる。
なお、ベクトルはモデル上の位置と紐付けされた値であるため、オブジェクトの移動量は小さい方が好ましい。シミュレーション装置100は、オブジェクト間の重なりを効率的に抑制するため、フィボナッチ螺旋を利用することとする。
図4は、フィボナッチ螺旋とフィボナッチ点の例を示す図である。
シミュレーション装置100は、ベクトルデータを可視化した画像上にオブジェクトの密度が高い領域がある場合、各オブジェクトを当該オブジェクトに最も近いフィボナッチ点に移動して画像を再生成する。フィボナッチ点は、フィボナッチ螺旋30を形成する点である。フィボナッチ螺旋30は、黄金角φ=約137.508°だけ回転する毎に中心からの距離が増加する螺旋である。フィボナッチ螺旋30上の一のフィボナッチ点(例えば、フィボナッチ点31)とその次のフィボナッチ点(例えば、フィボナッチ点32)との間は、中心角が黄金角φ=約137.508°だけ開いている。
シミュレーション装置100は、ベクトルデータを可視化した画像上にオブジェクトの密度が高い領域がある場合、各オブジェクトを当該オブジェクトに最も近いフィボナッチ点に移動して画像を再生成する。フィボナッチ点は、フィボナッチ螺旋30を形成する点である。フィボナッチ螺旋30は、黄金角φ=約137.508°だけ回転する毎に中心からの距離が増加する螺旋である。フィボナッチ螺旋30上の一のフィボナッチ点(例えば、フィボナッチ点31)とその次のフィボナッチ点(例えば、フィボナッチ点32)との間は、中心角が黄金角φ=約137.508°だけ開いている。
ここで、式(1)に示すように、黄金比Rgは、フィボナッチ数列の第n項(An)と第n−1項(An-1)との比の極限として算出できる。また、黄金比Rgは、x2−x−1=0の正の解としても算出できる。黄金角φは、360°を1:Rgに分割したときの小さい方の角度である。自然界において植物の葉は、茎の周りを黄金角φずつ回転しながら生えていることがある。これは、黄金角φずつ葉の位置をずらすと、上から見たときに下の葉が上の葉によって隠される可能性が低減し、できる限り多くの葉が太陽光を受光できるようになるためである。そこで、シミュレーション装置100は、このようなフィボナッチ螺旋30の性質を利用する。すなわち、シミュレーション装置100は、任意の方向からオブジェクトの集合を観測しても、オブジェクト同士の重なりが少なくなるように、オブジェクトをフィボナッチ点に移動することとする。
フィボナッチ螺旋30の中心は、例えば、描画したいモデル領域の中心に設定する。シミュレーション装置100は、設定した中心を基準にして、式(2)に従って複数のフィボナッチ点(例えば、百個から数百個程度のフィボナッチ点)を算出する。式(2)において、kは自然数であり、フィボナッチ螺旋30の中心に近い順に付与したフィボナッチ点の識別番号である。k=1のフィボナッチ点は、中心に最も近い点である。k=2のフィボナッチ点は、中心から2番目に近い点であり、k=1のフィボナッチ点から黄金角φ=約137.508°だけ回転した点である。
なお、第2の実施の形態では、フィボナッチ点の座標のZ成分はz0に固定している。すなわち、シミュレーション装置100は、z=z0のXY平面上に複数のフィボナッチ点を配置している。また、式(2)によって算出される三次元座標は、フィボナッチ螺旋30の中心からの相対座標である。よって、モデル空間上の絶対座標は、式(2)の相対座標にフィボナッチ螺旋30の中心の座標を加えることで算出できる。
図5は、再配置したオブジェクトの表示例を示す図である。
画像40は、150個のベクトルを含むベクトルデータを可視化したものである。画像40は、ディスプレイ111に表示される。シミュレーション装置100は、フィボナッチ螺旋を形成する150個以上のフィボナッチ点を算出し、150個のオブジェクトそれぞれを本来の位置から最も近いフィボナッチ点に移動している。図5に示すように、フィボナッチ螺旋を利用することで、多数のオブジェクトが密集していても、オブジェクト同士の重なりを最小限に抑えることができる。これにより、カメラから遠いオブジェクトについても向きや長さを把握でき、ベクトルの分布の理解が容易となる。
画像40は、150個のベクトルを含むベクトルデータを可視化したものである。画像40は、ディスプレイ111に表示される。シミュレーション装置100は、フィボナッチ螺旋を形成する150個以上のフィボナッチ点を算出し、150個のオブジェクトそれぞれを本来の位置から最も近いフィボナッチ点に移動している。図5に示すように、フィボナッチ螺旋を利用することで、多数のオブジェクトが密集していても、オブジェクト同士の重なりを最小限に抑えることができる。これにより、カメラから遠いオブジェクトについても向きや長さを把握でき、ベクトルの分布の理解が容易となる。
次に、シミュレーション装置100の可視化機能について説明する。
図6は、シミュレーション装置の機能例を示すブロック図である。
シミュレーション装置100は、シミュレーション実行部121、データ記憶部122、表示制御部123および位置情報記憶部124を有する。シミュレーション実行部121および表示制御部123は、例えば、CPU101が実行するプログラムのモジュールとして実現できる。データ記憶部122および位置情報記憶部124は、例えば、RAM102またはHDD103に確保した記憶領域として実現できる。
図6は、シミュレーション装置の機能例を示すブロック図である。
シミュレーション装置100は、シミュレーション実行部121、データ記憶部122、表示制御部123および位置情報記憶部124を有する。シミュレーション実行部121および表示制御部123は、例えば、CPU101が実行するプログラムのモジュールとして実現できる。データ記憶部122および位置情報記憶部124は、例えば、RAM102またはHDD103に確保した記憶領域として実現できる。
シミュレーション実行部121は、解析したい物体の形状などを示すモデルをユーザから取得する。すると、シミュレーション実行部121は、取得したモデルに対して科学技術シミュレーションを行う。例えば、シミュレーション実行部121は、物体の表面や内部について、応力や磁力などの物理量の分布を算出する。
データ記憶部122は、シミュレーション実行部121が出力するシミュレーション結果を記憶する。シミュレーション結果は、モデル上の複数の位置と物理量としての複数のベクトルとを対応付けたベクトルデータである。なお、シミュレーション実行部121が出力するベクトルデータは、離散的な複数の位置それぞれのベクトルを示す形式であってもよいし、面上または空間上の連続的なベクトルの分布を示す形式であってもよい。後者の場合、後述するようにベクトルデータを可視化するときに、ベクトルデータから離散的な複数の位置のベクトルを抽出(サンプリング)すればよい。
表示制御部123は、データ記憶部122に記憶されたベクトルデータを可視化する。表示制御部123は、ベクトルデータが示す複数のベクトルに対応する複数のオブジェクトを生成する。オブジェクトは、例えば、ベクトルの向きや大きさに応じて形状の異なる矢線である。表示制御部123は、複数のオブジェクトを、まずベクトルデータが示す本来の位置に配置し、ある観測点からそれらオブジェクトを見たときの画像を生成する。カメラを配置する観測点は、ユーザから指定されてもよい。
画像にオブジェクトの密度が大きい領域がない場合、表示制御部123は、生成した画像をディスプレイ111に表示させる。一方、画像にオブジェクトの密度が大きい領域がある場合、表示制御部123は、オブジェクトの配置を変更して画像を再生成する。このとき、表示制御部123は、前述のようにフィボナッチ螺旋を形成する複数のフィボナッチ点を算出し、フィボナッチ点を基準にしてオブジェクトを移動させる。表示制御部123は、生成した画像をディスプレイ111に表示させる。
位置情報記憶部124は、表示制御部123が算出したフィボナッチ点の座標を記憶する。位置情報記憶部124に記憶された情報は、表示制御部123がベクトルデータを可視化するにあたって、適宜参照される。
図7は、ベクトルテーブルの例を示す図である。
ベクトルテーブル131には、シミュレーション結果としてのベクトルデータが登録される。ベクトルテーブル131は、データ記憶部122に記憶されている。ベクトルテーブル131は、ベクトルID、座標およびベクトルの項目を有する。
ベクトルテーブル131には、シミュレーション結果としてのベクトルデータが登録される。ベクトルテーブル131は、データ記憶部122に記憶されている。ベクトルテーブル131は、ベクトルID、座標およびベクトルの項目を有する。
ベクトルIDは、ベクトルを識別する自然数の識別番号である。ベクトルIDは、可視化時に、ベクトルに対応するオブジェクトを識別するオブジェクトIDとしても用いることができる。座標の項目には、モデル上のベクトルの位置を示す三次元座標(X座標・Y座標・Z座標の組)が登録される。ベクトルの項目には、応力や磁力などの物理量を示す三次元ベクトル(X成分・Y成分・Z成分の組)が登録される。
図8は、フィボナッチ点テーブルの例を示す図である。
フィボナッチ点テーブル132には、可視化時に算出されたフィボナッチ点の情報が登録される。フィボナッチ点テーブル132は、位置情報記憶部124に記憶されている。フィボナッチ点テーブル132は、フィボナッチ点IDおよび座標の項目を有する。
フィボナッチ点テーブル132には、可視化時に算出されたフィボナッチ点の情報が登録される。フィボナッチ点テーブル132は、位置情報記憶部124に記憶されている。フィボナッチ点テーブル132は、フィボナッチ点IDおよび座標の項目を有する。
フィボナッチ点IDは、表示制御部123によって算出されたフィボナッチ点を識別する自然数の識別番号である。フィボナッチ点IDは、フィボナッチ螺旋の中心に近い方のフィボナッチ点から順に付与される。座標の項目には、モデル上のフィボナッチ点の位置を示す三次元座標(X座標・Y座標・Z座標の組)が登録される。
図9は、位置調整の手順例を示すフローチャートである。
(S10)表示制御部123は、データ記憶部122からベクトルデータを読み出す。表示制御部123は、モデル上において、ベクトルデータに含まれる複数のベクトルに対応する複数のオブジェクト(例えば、ベクトルの向きや大きさに応じた形状の矢線)を生成し、ベクトルデータに含まれる座標が示す位置に配置する。また、表示制御部123は、モデル上にカメラを配置する。カメラ位置は、ユーザによって指定されてもよいし、所定の規則に従って表示制御部123が算出してもよい。そして、表示制御部123は、カメラからオブジェクトの集合を見たときの画像(位置調整前の画像)を生成する。
(S10)表示制御部123は、データ記憶部122からベクトルデータを読み出す。表示制御部123は、モデル上において、ベクトルデータに含まれる複数のベクトルに対応する複数のオブジェクト(例えば、ベクトルの向きや大きさに応じた形状の矢線)を生成し、ベクトルデータに含まれる座標が示す位置に配置する。また、表示制御部123は、モデル上にカメラを配置する。カメラ位置は、ユーザによって指定されてもよいし、所定の規則に従って表示制御部123が算出してもよい。そして、表示制御部123は、カメラからオブジェクトの集合を見たときの画像(位置調整前の画像)を生成する。
(S11)表示制御部123は、オブジェクトID(=ベクトルID)を示す変数iを定義する。そして、表示制御部123は、i=0に初期化する。
(S12)表示制御部123は、変数iの値をインクリメント(1だけ加算)する。
(S12)表示制御部123は、変数iの値をインクリメント(1だけ加算)する。
(S13)表示制御部123は、ステップS10で生成した画像の中から、オブジェクトID=iのオブジェクト(オブジェクトi)を選択する。表示制御部123は、画像上でオブジェクトiの周囲dピクセルの領域を抽出し、抽出した領域の中に投影されている他のオブジェクトを検索する。ピクセル数dは、予め表示制御部123に設定されていてもよいし、ユーザから指定されてもよい。表示制御部123は、検索された他のオブジェクトをカウントし、他のオブジェクトの数を密度として保持する。
(S14)表示制御部123は、変数iの値が、ステップS10でモデル上に配置したオブジェクトの総数(すなわち、ベクトルデータに含まれるベクトルの総数)に達したか判断する。変数iの値がオブジェクト総数に達した場合はステップS15に処理が進み、オブジェクト総数未満の場合はステップS12に処理が進む。
(S15)表示制御部123は、ステップS10で生成した画像の中に、ステップS13で算出した密度が閾値Tdを超える領域があるか判断する。閾値Tdは、予め表示制御部123に設定されていてもよいし、ユーザから指定されてもよいし、オブジェクト総数や画像の大きさなどに応じて表示制御部123が算出してもよい。密度が閾値Tdを超える領域がある場合はステップS16に処理が進み、ない場合は位置調整が終了する。
(S16)表示制御部123は、前述の式(2)のパラメータr,z0を設定する。パラメータr,z0は、ユーザから指定されてもよい。また、パラメータrは、オブジェクト総数などに応じて表示制御部123が算出してもよい。また、表示制御部123は、フィボナッチ点IDを示す変数kを定義し、k=0に初期化する。
(S17)表示制御部123は、変数kの値をインクリメントする。
(S18)表示制御部123は、前述の式(2)を用いてk番目のフィボナッチ点を算出し、算出したフィボナッチ点の座標を位置情報記憶部124に記録する。
(S18)表示制御部123は、前述の式(2)を用いてk番目のフィボナッチ点を算出し、算出したフィボナッチ点の座標を位置情報記憶部124に記録する。
(S19)表示制御部123は、変数kの値が、フィボナッチ点の総数を示す所定数Nに達したか判断する。所定数Nは、予め表示制御部123に設定されていてもよいし、ユーザから指定されてもよいし、オブジェクト総数などに応じて表示制御部123が算出してもよい。変数kの値が所定数Nに達した場合はステップS20に処理が進み、所定数N未満である場合はステップS17に処理が進む。
(S20)表示制御部123は、ステップS18で算出したフィボナッチ点に基づいて、ステップS10で生成したオブジェクトの少なくとも一部を移動する。そして、表示制御部123は、ステップS10で配置したカメラからオブジェクトの集合を見たときの画像(位置調整後の画像)を生成し、生成した画像をディスプレイ111に表示させる。オブジェクトの移動方法の詳細は後述する。
図10は、オブジェクト移動の手順例を示すフローチャートである。
このフローチャートが示す処理は、上記のステップS20で実行される。
(S30)表示制御部123は、前述の変数iの値を0に初期化する。また、表示制御部123は、フィボナッチ点ID=1,2,…,Nに対応するフラグF1,F2,…,FNを定義し、F1,F2,…,FNをそれぞれ0に初期化する。
このフローチャートが示す処理は、上記のステップS20で実行される。
(S30)表示制御部123は、前述の変数iの値を0に初期化する。また、表示制御部123は、フィボナッチ点ID=1,2,…,Nに対応するフラグF1,F2,…,FNを定義し、F1,F2,…,FNをそれぞれ0に初期化する。
(S31)表示制御部123は、変数iの値をインクリメントする。また、表示制御部123は、前述の変数kの値を0に初期化する。
(S32)表示制御部123は、変数kの値をインクリメントする。
(S32)表示制御部123は、変数kの値をインクリメントする。
(S33)表示制御部123は、モデル上においてオブジェクトiとフィボナッチ点ID=kのフィボナッチ点(フィボナッチ点k)との間の距離を算出する。
(S34)表示制御部123は、変数kの値が、フィボナッチ点の総数を示す所定数Nに達したか判断する。変数kの値が所定数Nに達した場合はステップS35に処理が進み、所定数N未満である場合はステップS32に処理が進む。
(S34)表示制御部123は、変数kの値が、フィボナッチ点の総数を示す所定数Nに達したか判断する。変数kの値が所定数Nに達した場合はステップS35に処理が進み、所定数N未満である場合はステップS32に処理が進む。
(S35)表示制御部123は、フィボナッチ点ID=1,2,…,Nのフィボナッチ点の中から、ステップS33で算出した距離が最小であるフィボナッチ点mを検索する。
(S36)表示制御部123は、Fm=0であるか判断する。Fm=0は、フィボナッチ点mにオブジェクトがまだ配置されていないことを示す。Fm=1は、フィボナッチ点mにオブジェクトが既に配置されていることを示す。Fm=0である場合はステップS37に処理が進み、Fm=1である場合はステップS39に処理が進む。
(S36)表示制御部123は、Fm=0であるか判断する。Fm=0は、フィボナッチ点mにオブジェクトがまだ配置されていないことを示す。Fm=1は、フィボナッチ点mにオブジェクトが既に配置されていることを示す。Fm=0である場合はステップS37に処理が進み、Fm=1である場合はステップS39に処理が進む。
(S37)表示制御部123は、オブジェクトiをフィボナッチ点mに移動する。すなわち、オブジェクトiの元の位置から最も近いフィボナッチ点mに他のオブジェクトが配置されていない場合には、オブジェクトiをフィボナッチ点mに配置する。
(S38)表示制御部123は、Fm=1に変更する。そして、ステップS40に処理が進む。
(S39)表示制御部123は、オブジェクトiを非表示に設定する。これにより、オブジェクトiはモデル上に配置されなくなり、画像に投影されなくなる。すなわち、オブジェクトiの元の位置から最も近いフィボナッチ点mに既に他のオブジェクトが配置されている場合には、オブジェクトiをモデルから削除して表示しないこととする。
(S39)表示制御部123は、オブジェクトiを非表示に設定する。これにより、オブジェクトiはモデル上に配置されなくなり、画像に投影されなくなる。すなわち、オブジェクトiの元の位置から最も近いフィボナッチ点mに既に他のオブジェクトが配置されている場合には、オブジェクトiをモデルから削除して表示しないこととする。
(S40)表示制御部123は、変数iの値が、オブジェクトの総数に達したか判断する。変数iの値がオブジェクト総数に達した場合はオブジェクト移動が終了し、オブジェクト総数未満の場合はステップS31に処理が進む。
次に、オブジェクト移動の変形例について説明する。上記では、各オブジェクトを何れかのフィボナッチ点に配置することとした。これに対し、フィボナッチ点を基準にしつつ、フィボナッチ点以外の位置にオブジェクトを配置できるようにすることも考えられる。
図11は、フィボナッチ点を結ぶ曲線の例を示す図である。
前述の式(2)に従ってフィボナッチ点を算出すると、フィボナッチ螺旋の中心から放射状に21本の曲線が形成される。放射状の曲線それぞれは、フィボナッチ点を21個間隔で選択していく、すなわち、あるフィボナッチ点と21個前または21個先のフィボナッチ点とを順次線で結んでいくことで現れる曲線である。オブジェクト移動の変形例では、シミュレーション装置100は、各オブジェクトを当該オブジェクトの本来の位置から最も近い曲線上に移動させる。この場合、移動先はフィボナッチ点でなくてもよい。
前述の式(2)に従ってフィボナッチ点を算出すると、フィボナッチ螺旋の中心から放射状に21本の曲線が形成される。放射状の曲線それぞれは、フィボナッチ点を21個間隔で選択していく、すなわち、あるフィボナッチ点と21個前または21個先のフィボナッチ点とを順次線で結んでいくことで現れる曲線である。オブジェクト移動の変形例では、シミュレーション装置100は、各オブジェクトを当該オブジェクトの本来の位置から最も近い曲線上に移動させる。この場合、移動先はフィボナッチ点でなくてもよい。
21本の曲線は、次のように算出することができる。シミュレーション装置100は、画像に投影したいオブジェクトが存在する領域の中で最もカメラから遠くにある列を選択し、その列の中心(カメラから見て左右方向の中心)をフィボナッチ螺旋の中心に設定する。シミュレーション装置100は、その中心を基準にしてフィボナッチ点を算出する。
次に、シミュレーション装置100は、カメラに最も近いフィボナッチ点を選択する。カメラに最も近いフィボナッチ点は、例えば、N=150の場合はフィボナッチ点ID=140前後の点になる可能性が高く、N=300の場合はフィボナッチ点ID=185前後の点になる可能性が高い。シミュレーション装置100は、選択したフィボナッチ点とその21個前のフィボナッチ点(フィボナッチ点IDが21だけ小さいもの)とを線で結ぶ。シミュレーション装置100は、フィボナッチ螺旋の中心に向かってこれを繰り返すことで、1つの曲線を算出することができる。シミュレーション装置100は、算出済の曲線の右隣についても同様に曲線を算出していく。また、シミュレーション装置100は、算出済の曲線の左隣についても同様に曲線を算出していく。これにより、フィボナッチ螺旋の中心から放射状にのびる21本の曲線が算出される。
一例として、図11において、シミュレーション装置100は、カメラに最も近いフィボナッチ点51を選択する。シミュレーション装置100は、フィボナッチ点51から開始して21個前のフィボナッチ点を順に辿っていくことで、曲線61を算出する。次に、シミュレーション装置100は、曲線61の右側の中で最もカメラに近いフィボナッチ点52を選択する。シミュレーション装置100は、フィボナッチ点52から開始して21個前のフィボナッチ点を順に辿っていくことで、曲線62を算出する。次に、シミュレーション装置100は、曲線62の右側の中で最もカメラに近いフィボナッチ点53を選択する。シミュレーション装置100は、フィボナッチ点53から開始して21個前のフィボナッチ点を順に辿っていくことで、曲線63を算出する。
右側に未選択のフィボナッチ点がなくなると、シミュレーション装置100は、曲線61の左側の中でカメラに最も近いフィボナッチ点54を選択する。シミュレーション装置100は、フィボナッチ点54から開始して21個前のフィボナッチ点を順に辿っていくことで、曲線64を算出する。次に、シミュレーション装置100は、曲線64の右側の中で最もカメラに近いフィボナッチ点55を選択する。シミュレーション装置100は、フィボナッチ点55から開始して21個前のフィボナッチ点を順に辿っていくことで、曲線65を算出する。このようにして、全ての曲線を算出することができる。
図12は、オブジェクト移動の他の手順例を示すフローチャートである。
このフローチャートが示す処理は、上記のステップS20で実行される。なお、前述の図10の移動方法を用いる場合、フィボナッチ螺旋の中心は、オブジェクトが存在する領域の中心であることが好ましい。一方、図12の移動方法を用いる場合、フィボナッチ螺旋の中心は、オブジェクトが存在する領域の中で最もカメラから遠い列に含まれる、カメラから見て左右方向の中心(上記の列とカメラの視線との交点)であることが好ましい。
このフローチャートが示す処理は、上記のステップS20で実行される。なお、前述の図10の移動方法を用いる場合、フィボナッチ螺旋の中心は、オブジェクトが存在する領域の中心であることが好ましい。一方、図12の移動方法を用いる場合、フィボナッチ螺旋の中心は、オブジェクトが存在する領域の中で最もカメラから遠い列に含まれる、カメラから見て左右方向の中心(上記の列とカメラの視線との交点)であることが好ましい。
(S50)表示制御部123は、フィボナッチ点ID=1,2,…,Nのフィボナッチ点のうち、カメラから最も近いフィボナッチ点k(フィボナッチ点ID=kの点)を選択する。
(S51)表示制御部123は、ステップS50またはステップS54で選択したフィボナッチ点kの21個前にフィボナッチ点が存在するか、すなわち、k−21>0を満たすか判断する。21個前のフィボナッチ点が存在する場合はステップS52に処理が進み、21個前のフィボナッチ点が存在しない場合はステップS55に処理が進む。
(S52)表示制御部123は、フィボナッチ点kとフィボナッチ点k−21とを結ぶ線分を算出する。当該線分は、近似的に直線であってもよい。そして、表示制御部123は、算出した線分から所定の範囲内にあるオブジェクトを検索する。表示制御部123は、範囲内にある全てのオブジェクトを検索してもよいし、線分から最も近い1つのオブジェクトのみ検索してもよい。ここでは、オブジェクトiが検索されたとする。
(S53)表示制御部123は、ステップS52で検索したオブジェクトiを、ステップS52で算出した線分上に移動する。ステップS52で2以上のオブジェクトが検索された場合には、それらオブジェクトを線分上の異なる位置に配置することが好ましい。
(S54)表示制御部123は、変数kの値を21だけ減少させる。すなわち、21個前のフィボナッチ点を選択する。そして、ステップS51に処理が進む。
(S55)表示制御部123は、カメラから見て、直前に算出した曲線よりも右側に未選択のフィボナッチ点が存在するか判断する。右側に未選択のフィボナッチ点が存在する場合はステップS56に処理が進み、存在しない場合はステップS57に処理が進む。
(S55)表示制御部123は、カメラから見て、直前に算出した曲線よりも右側に未選択のフィボナッチ点が存在するか判断する。右側に未選択のフィボナッチ点が存在する場合はステップS56に処理が進み、存在しない場合はステップS57に処理が進む。
(S56)表示制御部123は、直前に算出した曲線よりも右側にある未選択のフィボナッチ点のうち、最もカメラに近いフィボナッチ点kを選択する。そして、ステップS51に処理が進む。これにより、このフィボナッチ点kを基準に曲線が算出される。
(S57)表示制御部123は、カメラから見て、直前に算出した曲線よりも左側に未選択のフィボナッチ点が存在するか判断する。左側に未選択のフィボナッチ点が存在する場合はステップS58に処理が進み、存在しない場合はオブジェクト移動が終了する。
(S58)表示制御部123は、直前に算出した曲線よりも左側にある未選択のフィボナッチ点のうち、最もカメラに近いフィボナッチ点kを選択する。そして、ステップS51に処理が進む。これにより、このフィボナッチ点kを基準に曲線が算出される。
第2の実施の形態のシミュレーション装置100によれば、ベクトルデータを可視化する場合に、フィボナッチ螺旋を形成する複数のフィボナッチ点が算出される。そして、ベクトルデータに含まれるベクトルに対応するオブジェクト(例えば、矢線)が、ベクトルデータによって示される位置から何れかのフィボナッチ点に移動する。これにより、オブジェクトの集合を任意の方向から観察しても、フィボナッチ螺旋の性質によって、画像上でオブジェクト同士が重なって見える可能性を低減できる。よって、各ベクトルの向きや大きさを把握することが容易となり、可視化結果の視認性が向上する。
また、オブジェクトの移動先を、フィボナッチ螺旋の中心から放射状にのびる複数の曲線のうちの何れかの曲線上としてもよい。これによっても、画像上でオブジェクト同士が重なって見える可能性を低減することができる。また、オブジェクトを配置可能な位置を増やすことができ、オブジェクトの密度が高い領域においても、オブジェクトの削除(非表示に設定すること)を抑制でき、可視化結果の情報量を維持できる。
なお、第1の実施の形態の情報処理は、シミュレーション装置10にプログラムを実行させることで実現できる。第2の実施の形態の情報処理は、シミュレーション装置100にプログラムを実行させることで実現できる。
プログラムは、コンピュータ読み取り可能な記録媒体(例えば、記録媒体113)に記録しておくことができる。記録媒体としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクには、FDおよびHDDが含まれる。光ディスクには、CD、CD−R(Recordable)/RW(Rewritable)、DVDおよびDVD−R/RWが含まれる。プログラムは、可搬型の記録媒体に記録されて配布されることがある。その場合、可搬型の記録媒体からHDDなどの他の記録媒体(例えば、HDD103)にプログラムをコピーして実行してもよい。
10 シミュレーション装置
11 記憶部
12 表示制御部
13 ベクトルデータ
14a,14b,14c,14d 位置
15a,15b,15c,15d オブジェクト
16 螺旋
16a,16b,16c,16d,16e 点
11 記憶部
12 表示制御部
13 ベクトルデータ
14a,14b,14c,14d 位置
15a,15b,15c,15d オブジェクト
16 螺旋
16a,16b,16c,16d,16e 点
Claims (6)
- コンピュータに、
モデル上の複数の位置それぞれにおけるベクトルを示すベクトルデータを取得し、
前記モデル上に、螺旋状に並ぶ複数の点を算出し、
前記ベクトルデータが示す複数のベクトルに対応する複数のオブジェクトを表示させる場合に、算出した前記複数の点に基づいて、前記複数のオブジェクトのうちの少なくとも一部の表示位置を、前記ベクトルデータが示す位置から変更する、
処理を実行させるシミュレーションプログラム。 - 前記変更では、前記複数のオブジェクトそれぞれの表示位置を、前記複数の点の中から選択する、請求項1記載のシミュレーションプログラム。
- 前記変更では、前記複数のオブジェクトそれぞれの表示位置を、前記複数の点に沿って螺旋の中心から放射状にのびる複数の曲線のうちの何れかの曲線上に移動させる、請求項1記載のシミュレーションプログラム。
- 前記複数の点は、隣接する2つの点が所定の角度だけ離れるように算出する、請求項1乃至3の何れか一項に記載のシミュレーションプログラム。
- モデル上の複数の位置それぞれにおけるベクトルを示すベクトルデータを記憶する記憶部と、
前記モデル上に螺旋状に並ぶ複数の点を算出し、前記ベクトルデータが示す複数のベクトルに対応する複数のオブジェクトを表示させる場合に、算出した前記複数の点に基づいて、前記複数のオブジェクトのうちの少なくとも一部の表示位置を前記ベクトルデータが示す位置から変更する表示制御部と、
を有するシミュレーション装置。 - コンピュータが実行するベクトル表示方法であって、
モデル上の複数の位置それぞれにおけるベクトルを示すベクトルデータを取得し、
前記モデル上に、螺旋状に並ぶ複数の点を算出し、
前記ベクトルデータが示す複数のベクトルに対応する複数のオブジェクトを表示させる場合に、算出した前記複数の点に基づいて、前記複数のオブジェクトのうちの少なくとも一部の表示位置を、前記ベクトルデータが示す位置から変更する、
ベクトル表示方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015000231A JP2016126557A (ja) | 2015-01-05 | 2015-01-05 | シミュレーションプログラム、シミュレーション装置およびベクトル表示方法 |
US14/945,162 US20160196683A1 (en) | 2015-01-05 | 2015-11-18 | Simulation apparatus and vector display method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015000231A JP2016126557A (ja) | 2015-01-05 | 2015-01-05 | シミュレーションプログラム、シミュレーション装置およびベクトル表示方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016126557A true JP2016126557A (ja) | 2016-07-11 |
Family
ID=56286786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015000231A Pending JP2016126557A (ja) | 2015-01-05 | 2015-01-05 | シミュレーションプログラム、シミュレーション装置およびベクトル表示方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20160196683A1 (ja) |
JP (1) | JP2016126557A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10681073B2 (en) | 2018-01-02 | 2020-06-09 | International Business Machines Corporation | Detecting unauthorized user actions |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150331921A1 (en) * | 2013-01-23 | 2015-11-19 | Hitachi, Ltd. | Simulation system and simulation method |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6097393A (en) * | 1996-09-03 | 2000-08-01 | The Takshele Corporation | Computer-executed, three-dimensional graphical resource management process and system |
US6281681B1 (en) * | 1999-01-28 | 2001-08-28 | General Electric Company | Magnetic resonance imaging with interleaved Fibonacci spiral scanning |
US9626387B2 (en) * | 2013-04-19 | 2017-04-18 | Charles Nathan Adelman | Volumetric vector node and object based multi-dimensional operating system |
-
2015
- 2015-01-05 JP JP2015000231A patent/JP2016126557A/ja active Pending
- 2015-11-18 US US14/945,162 patent/US20160196683A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10681073B2 (en) | 2018-01-02 | 2020-06-09 | International Business Machines Corporation | Detecting unauthorized user actions |
US11196760B2 (en) | 2018-01-02 | 2021-12-07 | International Business Machines Corporation | Detecting unauthorized user actions |
Also Published As
Publication number | Publication date |
---|---|
US20160196683A1 (en) | 2016-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11574438B2 (en) | Generating three-dimensional virtual scene | |
US8429530B2 (en) | User interface for media playback | |
JP7071638B2 (ja) | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム | |
US10318629B2 (en) | Adaptive content rendering for optimizing page layout | |
JP2010176596A (ja) | 可視化対象データの構造化装置、方法、及びプログラム、可視化対象データの可視化装置、方法、及びプログラム | |
KR102317013B1 (ko) | 컴퓨팅 장치를 이용한 객체 관리 및 시각화 | |
US9223488B1 (en) | Navigable interfaces for graphical representations | |
US10877565B2 (en) | Method and system for controlling play of multimedia content | |
US20220269380A1 (en) | Method and system for structuring, displaying, and navigating information | |
JP2017532667A (ja) | レイアウトエンジン | |
CN108038890A (zh) | 矢量图演示方法、装置、设备及计算机存储介质 | |
KR20150099464A (ko) | 방정식들에 의해 제약된 물리적 시스템의 설계 | |
US9721380B2 (en) | Removing redundant volumetric information from a volume-based data representation | |
US20220067228A1 (en) | Artificial intelligence-based techniques for design generation in virtual environments | |
WO2018122167A1 (en) | Device and method for generating flexible dynamic virtual contents in mixed reality | |
JP2016126557A (ja) | シミュレーションプログラム、シミュレーション装置およびベクトル表示方法 | |
Zhang et al. | Visualization of point cloud models in mobile augmented reality using continuous level of detail method | |
JP7039294B2 (ja) | プログラム、画像処理方法、及び画像処理装置 | |
US20210096698A1 (en) | Systems and methods for indicating organizational relationships between objects | |
JP6233034B2 (ja) | 基板解析プログラム、情報処理装置及び基板解析方法 | |
US20230145348A1 (en) | Force-directed graph layout | |
KR102354512B1 (ko) | 미세먼지 측정 데이터를 3d 그래픽으로 표시하는 방법 및 이를 수행하기 위한 장치 | |
JP2005196298A (ja) | 情報処理装置および画像データ表示制御方法およびプログラムおよび記録媒体 | |
JP3396414B2 (ja) | 近接部品検索方法及び検索装置 | |
GB2593700A (en) | Force-directed graph layout |