以下に,本発明の一実施態様として開示する3次元データ表示システム1を説明する。
図1は,本発明の一実施態様として開示する3次元データ表示システム1の構成を示す図である。図1に示す3次元データ表示システム1は,3次元データ表示装置10,表示装置2,およびポインティング入力装置3を備える。
3次元データ表示装置10は,直交座標系の仮想3次元空間(以下,仮想空間という)に構造体を配置した空間を表す表示画面100(図示しない)を生成して表示装置(モニタ)2上に出力する。
3次元データ表示装置10で処理する構造体は,例えば,基板,回路素子,抵抗素子,配線等の部材又は部品等である。構造体は,仮想空間で定義される3次元の構造体情報に基づいて生成された3次元モデルとして表示画面100に表示される。構造体情報は,構造体の3次元モデルの形状や位置を示す構造情報と,構造体の材質,導電率等を示す物性値情報とを含む。
ユーザは,3次元データ表示システム1のポインティング入力装置3の操作を通じて,表示画面100上で,所定のグリッドが設定された仮想空間において位置を示す入力ポイントPtを移動させて,入力ポイントPtが示す位置に,波源や回路素子等の入力や変更等の作業を行うことができる。
図2は,3次元データ表示装置10が仮想空間に設定するグリッドを説明するための図である。
図2に示すグリッド6は,3次元データ表示装置10が扱う仮想空間における解析領域として定義される空間を示す複数の座標点の集合である。例えばFDTD法では,解析領域を分割したものとしてグリッド6を定義し,グリッド6の各グリッド格子刻みで計算条件が設定され,解析処理が行われる。
図2では,グリッド6を,グリッド間隔を示すグリッド線で表し,グリッド6のグリッド格子gをグリッド線の交点として表している。なお,図2のグリッド6では,グリッド座標の一部のみを表示している。
3次元データ表示装置10は,グリッド6の各グリッド格子gの仮想空間における座標gcを算出する。さらに,3次元データ表示装置10は,仮想空間に配置した構造体の頂点に,補助グリッド格子mを設定し,さらに,構造体Tの境界とグリッド6を構成するグリッド線との交点に補助グリッド格子nを設定する。3次元データ表示装置10は,補助グリッド格子m,nの仮想空間における各々の座標mc,ncを求める。
図2に示す立方体の構造体Tの底面に着目すると,構造体Tの4つの頂点による補助グリッド格子mと,12個の交点による補助グリッド格子nの座標mc,ncが算出される。
3次元データ表示装置10は,ポインティング入力装置3の移動操作により生成される操作情報が示す移動方向および移動量に応じて,入力ポイントPtの移動先を算出する。図2に表す白色矢印は,入力ポイントPtを示す。
3次元データ表示装置10は,グリッド6のグリッド格子g,補助グリッド格子m,nの座標gc,mc,ncから,入力ポイントPtの移動先に最も近い座標を検索し,操作情報に応じて移動する入力ポイントPtの座標とする。そして,3次元データ表示装置10は,表示画面100上で,検索した座標を示す位置に入力ポイントPtを移動して表示する。例えば,操作情報の移動方向が,仮想空間のX軸の負方向である場合に,入力ポイントPtは,操作情報の移動量に応じて,グリッド格子g,補助グリッド格子m,nのいずれかの座標へ移動するように制御される。
ポインティング入力装置3は,ユーザによって操作される,仮想空間内で任意の位置を示す入力ポイントPtを移動操作するための入力デバイスである。ポインティング入力装置3は,仮想空間で入力ポイントPtを移動するための移動方向および移動量が入力可能な入力デバイスであればどのような種類のデバイスであってもよい。例えば,ポインティング入力装置3は,マウス,キーボード,タッチパッド,タッチパネル,それらの組み合わせ等で実施することができる。ポインティング入力装置3は,特に,デバイスの平面移動およびホイール回転による操作によって入力ポイントPtの移動を行えるマウスで実施することが好ましい。
なお,3次元データ表示装置10は,図1に図示しないが,例えばキーボード等の入力装置,プリンタ等の出力装置と接続して,データの入出力を行うことができる。
3次元データ表示装置10は,構造体情報記憶装置4に接続して,構造体情報記憶装置4が保持する構造体に関する情報(構造体情報)を取得し,または,生成した構造体情報を構造体情報記憶装置4に送信する。構造体情報記憶装置4は,既知のCADシステムで作成された構造体毎の構造情報に,他の処理システムによって入力または生成された物性値情報を付加して作成された構造体情報を保存する。
以下に,3次元データ表示装置10の処理動作を概説する。以下の説明では,ポインティング入力装置3は,マウスで実施されるものとする。
3次元データ表示装置10は,ユーザがマウス3の操作情報により移動させた入力ポイントPtで指定された構造体について,その物性値情報から構造体の物性(例えば金属か,誘電体であるか)を判定して,判定した物性に応じた強調表示色で構造体を表示する。これにより,ユーザは,指定した構造体の物性を,表示画面100を見るだけで認識することができ,その構造体が処理目的の物性(例えば導体)を持つ構造体であるか否かを直ちに判別することができる。
さらに,3次元データ表示装置10は,ユーザが入力ポイントPtで指定した構造体の物性値情報のより詳細な内容を表示する物性値表示画面を生成してモニタ2に表示する。これにより,ユーザは,指定した構造体の物性値情報を直ちに確認することができる。
また,3次元データ表示装置10は,ユーザが入力ポイントPtで指定した構造体の輪郭(境界)を強調表示する。これにより,ユーザは,指定した構造体の境界面や境界稜等をより容易に判別することができ,構造体の境界への位置指定がより容易に行える。
また,3次元データ表示装置10は,ユーザが作業基準とする仮想空間内の任意の平面をスケッチ面として設定して表示する。さらに,3次元データ表示装置10は,スケッチ面とユーザが指定した構造体との関係を示すガイドラインを表示する。
具体的には,第1のガイド表示として,3次元データ表示装置10は,仮想空間の構造体の各境界面とスケッチ面との交線を表示画面100に表示する。これにより,ユーザは,仮想空間に配置された構造体の位置関係を,スケッチ面を基準に把握することができる。
また,第2のガイド表示として,3次元データ表示装置10は,入力ポイントPtから仮想空間の直交座標軸に平行する線上の,入力ポイントPtから構造体の境界面との交点までの線分をガイドラインとして表示画面100に表示する。これにより,ユーザは,入力ポイントPtから構造体の境界までの距離をより容易に把握することができる。
また,3次元データ表示装置10は,マウス3からの操作情報によって,表示画面100に表示する入力ポイントPtの位置を所定のグリッド間隔またはユーザが指定したグリッド間隔で移動させる。さらに,3次元データ表示装置10は,仮想空間内の構造体の頂点,構造体の境界とグリッド格子との交点へ,入力ポイントPtを移動させる。すなわち,表示画面100において,入力ポイントPtは,常に,基本的なグリッド6で設定されたグリッド格子,または構造体の頂点または境界面上の位置のいずれかの位置に移動するように制御される。
例えば波源や回路端子の入力位置の設定作業において,ユーザは,マウス3を操作すれば,グリッド格子gや構造体の境界に接触する位置が入力ポイントPtによって示されるため,構造体に接触する位置の入力作業の負担が大幅に軽減され,位置設定の誤りを防止することができる。
また,3次元データ表示装置10は,マウス3で入力可能な空間移動方向を,仮想空間でユーザが指定したスケッチ面と関連付けて制御することができる。具体的には,マウス3で平面移動およびホイール回転の2系統の操作により入力ポイントPtの移動方向を入力できる場合に,平面移動での移動方向とスケッチ面を特定する2つの座標軸との対応付けと,ホイール回転での移動方向とスケッチ面に垂直方向の座標軸との対応付けとを行い,入力ポイントPtの移動を制御することができる。
これにより,ユーザは,マウス3の平面移動の操作を,表示画面100のスケッチ面上での入力ポイントPtの移動の制御に対応付けて,さらにホイール回転の操作をスケッチ面に直交する方向の移動の制御に対応付けて把握することができ,表示画面100での入力ポイントPtをより容易に操作することができる。
さらに,3次元データ表示装置10は,ユーザの入力指定による回転軸と回転角度に基づいて,仮想空間の直交座標系を回転させて表示画面100に表示する。
これにより,ユーザが元の仮想空間内で傾いた平面をスケッチ面として指定した場合でも,仮想空間全体がスケッチ面を基準とした直交座標系として表示されるため,仮想空間の視認性が高くなり,ユーザの作業の利便性を高くすることができる。
以上のような処理を実行するため,3次元データ表示装置10は,データ入出力処理部11,グリッド設定・更新部13,スケッチ面設定部14,操作情報取得部15,入力ポイント位置算出部16,表示モード設定部17,グリッド間隔設定部18,構造体情報作成部19,画面表示処理部20,およびデータ記憶部30を備える。
データ入出力処理部11は,構造体情報記憶装置4から取得した構造体情報をデータ記憶部30に格納し,または,データ記憶部30の構造体情報を構造体情報記憶装置4へ送信する。
グリッド設定・更新部13は,所定のグリッド間隔に基づいて,仮想空間内に基本となるグリッド6を設定して,設定したグリッド6に基づく各グリッド格子gの仮想空間における座標gcを算出する。
さらに,グリッド設定・更新部13は,構造体情報をもとに,仮想空間の構造体の頂点を補助グリッド格子mとし,構造体の境界とグリッド6との交点を求めて,求めた交点を補助グリッド格子nとする。そして,グリッド設定・更新部13は,補助グリッド格子mと補助グリッド格子nの仮想空間における座標mc,ncをそれぞれ算出して,データ記憶部30に登録する。
また,グリッド設定・更新部13は,仮想空間の構造体,波源,回路端子等の追加設定または変更があった場合に,追加または変更された構造体等の構造情報から補助グリッド格子m,nを特定して座標mc,ncを算出してデータ記憶部30に追加する。
スケッチ面設定部14は,ユーザの入力指定に基づき設定したスケッチ面を仮想空間に設定する。スケッチ面は,ユーザが作業基準とする平面であり,仮想空間上の限定された平面,すなわち面積が有限な平面である。また,スケッチ面設定部14は,仮想空間の構造体の中から,入力ポイントPtの位置に構造体の境界面がある場合に,その境界面を含む平面をスケッチ面として設定する。
操作情報取得部15は,マウス3の動きを検出して,入力ポイントPtの移動方向および移動量を示す操作情報,左右クリックによる指定/選択の指示情報等を取得する。
入力ポイント位置算出部16は,仮想空間の入力ポイントPtの座標を算出して保持する。また,入力ポイント位置算出部16は,操作情報取得部15が取得した操作情報をもとに,入力ポイントPtの移動先を算出する。そして,入力ポイント位置算出部16は,データ記憶部30に記憶していたグリッド格子gや補助グリッド格子m,nの座標gc,mc,ncのなかから,入力ポイントPtの移動先から最短距離にある座標を選択して,選択した座標で入力ポイントPtの座標を更新する。
仮想空間でスケッチ面が設定されている場合に,入力ポイント位置算出部16は,マウス3の平面移動の操作で入力可能な移動方向を示す座標軸と,スケッチ面を特定する座標軸との対応付けと,マウス3のホイール回転の操作で入力可能な移動方向を示す座標軸と,スケッチ面に垂直方向の座標軸との対応付けとを行い,この対応付けを示す対応情報を保持する。そして,入力ポイント位置算出部16は,この対応情報に基づいて,取得した操作情報から入力ポイントPtの移動先を算出する。
表示モード設定部17は,操作情報による入力ポイントPtの移動に伴って,表示画面100の仮想空間を固定し入力ポイントPtの位置を移動して表示する空間固定モード,または,入力ポイントPtの位置を固定して仮想空間の表示領域を移動して表示する入力ポイント固定モードのいずれかに表示モードを設定する。
グリッド間隔設定部18は,ユーザ指定によって,グリッド設定・更新部13が処理するグリッド間隔を設定する。
画面表示処理部20は,データ記憶部30に記憶された構造体情報に基づいて,仮想空間に配置する構造体の境界線,境界面等を算出して,仮想空間に構造体を配置し,配置した構造体をその構造体の物性値情報に基づいて表示する表示画面100を生成して,表示画面100をモニタ2へ表示する。また,画面表示処理部20は,表示モード設定部17が設定した表示モード(空間固定モード/入力ポイント固定モード)に基づいて表示画面100を生成する。
画面表示処理部20は,構造体解析・設定部21,強調表示処理部22,入力ポイント表示処理部23,物性情報表示処理部24,第1ガイド表示処理部25,第2ガイド表示処理部26,スケッチ面表示処理部27,および回転表示処理部28を備える。
構造体解析・設定部21は,データ記憶部30に記憶された構造体情報から,表示画面100に表示する仮想空間内に位置する構造体の構造体情報を取得し,取得した構造体情報をもとに仮想空間に構造体を配置して,表示画面100に表示する。また,構造体解析・設定部21は,表示画面100に表示する仮想空間の入力ポイントPtの位置(座標)から所定の範囲内に位置する構造体を特定し,特定した構造体のみを表示画面100に表示する。
強調表示処理部22は,予め構造体の物性(特に,材質)を示す物性値情報に対応する表示態様,例えば,表示色,輪郭の線種や線幅等を設定しておき,構造体情報をもとに表示画面100の仮想空間に配置した構造体を,その構造体の物性に対応する表示態様で強調表示する。
また,強調表示処理部22は,データ記憶部30の構造体情報の物性値情報を参照して,表示画面100に,特定の物性を有する構造体のみを強調して表示画面100に表示する。
また,強調表示処理部22は,入力ポイントPtの座標が領域内に位置する構造体を特定し,特定した構造体を,所定の表示態様,例えば,輪郭線を太い線幅で描画したり,物性に対応する強調表示色で彩色したりして表示画面100に表示する。
入力ポイント表示処理部23は,入力ポイントPtの座標が更新される度に,仮想空間の更新後の座標に,入力ポイントPtを表示する。
物性情報表示処理部24は,データ記憶部30の構造体情報の構造情報を参照して,仮想空間の構造体の物性を一覧する構造体一覧画面150を生成してモニタ2に表示させ,構造体一覧画面150でユーザによって選択された構造体の物性値情報を表示する物性値情報画面155を生成してモニタ2に表示する。
第1ガイド表示処理部25は,構造体情報をもとに,仮想空間の構造体の境界面とスケッチ面との交線を算出して,算出した交線を表示画面100に表示する。
第2ガイド表示処理部26は,構造体情報をもとに,入力ポイントPtの座標から仮想空間の各座標軸を示す3方向の直線であって,直近の構造体の境界面との交点までの線分をガイドラインとして表示画面100に表示する。
スケッチ面表示処理部27は,仮想空間に設定されたスケッチ面を表示画面100に表示する。
回転表示処理部28は,仮想空間の直交座標系の座標軸から選択された回転座標をユーザの指定による回転角度で回転させた回転座標系を生成して,回転座標系による仮想空間を表示画面100に表示する。
データ記憶部30は,3次元データ表示装置10が処理するデータを記憶する記憶部である。データ記憶部30は,例えば,構造体情報を格納する構造体データテーブル31と,グリッド格子g,補助グリッド格子m,nの座標gc,mc,ncを格納するグリッドテーブル32とを記憶する。
構造体データテーブル31には,構造体毎の,形状および配置を示す構造情報と,材質,比誘電率,導電率等を示す物性値情報とが格納される。
図3は,構造体データテーブル31のデータ項目例を示す図である。
構造体データテーブル31は,構造体データ毎に,構造体データID,物性名称,物性値情報,構造情報等のデータ項目を含む。
構造体データIDは,各構造体のモデルが一意に定まる識別番号である。
物性名称は,構造体の名称であり,図3に示す例では,物性を示す名称,例えば銅A,銅B,誘電体A等を用いる。
物性値情報は,構造体の物性を示す具体的値であり,さらに,物性名称に対応する材質の名称(材質),比誘電率,導電率,比透磁率,磁気抵抗率,密度毎に対応する物理量等の情報を含む。
構造情報は,所定の構造内における構造体の位置を示す座標値や形状の情報である。例えば直方体の外形の構造体モデルが定義される場合には,構造情報として,始点X座標,始点Y座標,始点Z座標,終点X座標,終点Y座標,終点Z座標,高さMH,長さML,幅MW等の位置,大きさ(形状)等の情報を含む。なお,構造体データテーブル31の構造情報のデータ項目は構造体の形状に応じて適宜変更することが可能である。
構造体情報作成部19は,仮想空間に追加して配置した構造体,回路素子等の構造体データを生成し,または,ユーザの操作によって配置等が変更された構造体データを更新する。例えば,構造体情報作成部19は,ユーザが,表示画面100の入力ポイントPtによって指定して構造体を追加した場合に,入力ポイントPtで入力された制御点等をもとに構造情報を生成し,さらに,ユーザの入力指示に基づいて物性値情報を生成し,この構造情報と物性値情報とを含む構造体データを作成して構造体データテーブル31に格納する。
以下,3次元データ表示装置10の処理を説明する。
図4および図5は,一実施例における3次元データ表示装置10の処理の流れの概要を示す図である。
ステップS1:構造体情報の読み込み処理および表示画面の生成処理
3次元データ表示装置10のデータ入出力処理部11は,構造体情報記憶装置4から,処理対象となる構造体の構造体情報(構造体データ)を読み込み,データ記憶部30の構造体データテーブル31に格納する。
図6に,構造体データテーブル31に格納された構造体データの例を示す。
図6に示す構造体データテーブル31は,構造体mID#1,mID#2,…の構造体データが格納されている。構造体mID#2の構造体データの物性値情報の項目の“D#2”は,構造体mID#2の物性値情報へのポインタであり,構造情報の項目の“P#2”は,構造体mID#2の構造情報へのポインタであることを示す。
構造体mID#2の物性値情報(D#2)には,材質“AAA材”,比誘電率“4.7”,導電率“1.0”等のデータが格納される。構造体mID#2の構造情報(P#2)には,始点x座標“5.0”,始点y座標“5.0”等のデータが格納される。
構造体解析・設定部21は,構造体テータテーブル31の構造体データに基づいて,画面表示処理部20が生成した表示画面100に表示可能な仮想空間の領域に配置する構造体を選択する。構造体解析・設定部21は,選択した各構造体の形状および仮想空間における位置を算出して仮想空間に配置し,表示画面100に表示する。なお,構造体解析・設定部21は,表示画面100に表示する仮想空間の領域を,ユーザ指定に基づいて決定するようにしてもよい。
次に,3次元データ表示装置10は,初期設定処理として,以下のステップS2およびステップS3の処理を実行する。
ステップS2:グリッドの設定処理
グリッド設定・更新部13は,モニタ2にグリッド間隔設定画面120を表示し,グリッド間隔設定画面120でグリッド間隔の各値が入力されると,入力値をグリッド間隔として設定する。なお,グリッド設定・更新部13は,グリッド間隔の初期値を保持することができる。
図7は,グリッド間隔の設定例を示す図である。
グリッド設定・更新部13は,グリッド間隔設定画面120で,X軸方向のグリッド間隔Δx=2.0,Y軸方向のグリッド間隔Δy=4.0,Z軸方向のグリッド間隔Δz=3.0の設定値が入力されると,この設定値をもとに仮想空間にグリッド6を設定する。この処理によって,図7に示すように,X軸,Y軸,Z軸を座標軸とする仮想空間内にグリッド6が定義される。
さらに,グリッド設定・更新部13は,グリッド6の各グリッド格子gの仮想空間における座標gcを算出して,グリッドテーブル32に格納する。次に,グリッド設定・更新部13は,仮想空間に配置される構造体を特定し,特定した構造体の形状および仮想空間での位置を算出して,構造体について,構造体の頂点,構造体の境界とグリッド6との交点を,補助グリッド格子m,nとする。さらに,グリッド設定・更新部13は,算出した補助グリッド格子m,nの仮想空間での座標mc,ncをそれぞれ算出して,グリッドテーブル32に格納する。
図8は,仮想空間に配置された構造体Tの一平面(例えば底面)におけるグリッド格子gおよび補助グリッド格子m,nの設定例を示す図である。
説明を簡単にするために,図8に示す例では,構造体Tの形状が三角柱状であり,その底面に相当する平面として,Z座標を固定した平面,すなわち,グリッド格子gの座標gcのZ座標で固定したXY平面で説明する。
グリッド設定・更新部13は,仮想空間に,グリッド間隔をもとにグリッド6を設定して,各グリッド格子g(g#11〜g#14,g#21〜g#24,g#31〜g#34,g#41〜g#44)に基づく座標gcを算出して,グリッドテーブル32に格納する。
そして,仮想空間に構造体Tが配置されると,グリッド設定・更新部13は,配置された構造体Tの構造体データから,構造体Tの各頂点がグリッド格子g上にあるかを判断する。グリッド設定・更新部13は,構造体Tの頂点のうちグリッド格子g上に位置しない頂点それぞれに補助グリッド格子m(m#1,m#2,m#3)を設定して,頂点の座標値を座標mcとしてグリッドテーブル32に追加する。例えば,頂点m#1について,グリッドID=m#1,座標(x#i1,y#i1,z#11)が,グリッドテーブル32へ格納される(iは整数)。
なお,図8に示すグリッド補助線Lcは,参考のために図示したものであり,構造体Tの頂点による補助グリッド格子m#1〜m#3を通過する,グリッド6のグリッド線Lgの平行線である。
さらに,グリッド設定・更新部13は,構造体Tの境界線La#1〜La#3と,グリッド線Lgとの交点を算出して,その交点に補助グリッド格子nを設定する。さらに構造体Tの境界線La#1〜La#3と,補助グリッド格子m,nを通過するグリッド補助線Lc,Ldとの交点を算出して,その交点に対しても補助グリッド格子nを設定する。そして各補助グリッド格子n(n#11〜n#13,n#21〜n#22,n#31〜n#32)に基づく座標ncを算出して,グリッドテーブル32に格納する。例えば,交点n#11について,グリッドID=n#11,座標(x#i4,y#i4,z#11)がグリッドテーブル32に格納される。
図9は,一実施態様におけるグリッドテーブル32のデータ構成例を示す。
グリッドテーブル32は,仮想空間に解析領域のために定義されたグリッド6内で特定されたグリッド座標または補助グリッド座標毎のグリッドID,座標値を格納するテーブルである。
グリッドIDは,グリッド6の各グリッド格子g,補助グリッド格子m,nに一意に設定される識別情報である。座標値は,各座標gc,mc,ncの仮想空間(X軸,Y軸,Z軸)における座標値(x,y,z)である。
図9に示すように,グリッドテーブル32に,グリッドID=g#1に対応付けられたグリッド座標(x#11,y#11,z#11),グリッドID=g#2,g#3等に対応付けられたグリッド座標(x#12,y#12,z#11),(x#13,y#13,z#11)等が格納される。
ステップS3:スケッチ面の設定処理
スケッチ面設定部14は,ユーザの指定に基づいて,スケッチ面を設定する。
図10は,スケッチ面の設定の説明図である。
図10(A)は,設定画面での入力指定によるスケッチ面設定の場合の説明図である。
図10(A)では,仮想空間の入力ポイントPtで,スケッチ面として設定される3方向の平面(斜視図で示す)のいずれかが,スケッチ面設定画面130で選択される。
スケッチ面設定画面130でのスケッチ面Sxy,Syz,Szxの表示は,各々,法線方向(スケッチ面の垂直方向)によって示されるものとする。
スケッチ面設定部14は,モニタ2に表示したスケッチ面設定画面130で選択された設定内容に従ってスケッチ面を設定する。例えば,スケッチ面設定画面130で,“表示z”が選択されると(黒丸で示す),スケッチ面設定部14は,図10(B)に示すように,入力ポイントPtの位置(座標)を含む平面であって,“表示z”に対応する仮想空間内のXY平面であるスケッチ面Sxyを設定する。同様に,スケッチ面設定画面130で“表示x”が選択されると,YZ平面であるスケッチ面Syzを設定し,“表示y”が選択されると,ZX平面であるスケッチ面Szxを設定する。
なお,これらのスケッチ面は,入力ポイントPtの座標に連動して,その平面の法線方向へ移動するように制御されてもよい。例えば,図10(A)に示すスケッチ面Sxy(XY平面)は,入力ポイントPtの移動に伴って,法線方向であるZ軸方向へ移動する。その結果,表示画面100では,スケッチ面が,入力ポイントPtの移動後の位置(座標)を含む平面として設定される。
さらに,スケッチ面は,構造体を用いて設定されてもよい。図10(B)に示すように,表示画面100に表示された構造体T#11で,入力ポイントPtの位置が構造体T#11の1つの境界面にあるとする。
スケッチ面設定部14は,スケッチ面設定画面130で“表示x”が選択されている場合には,構造体T#11のこの境界面を含むYZ平面であるスケッチ面Syzを設定する。
次に,3次元データ表示装置10は,マウス3の操作に基づく処理として,ステップS4およびステップS5の処理を実行する。
ステップS4:表示モードの設定処理
表示モード設定部17は,表示画面100の表示モードとして,空間固定モードと入力ポイント固定モードとを用意しておき,マウス3から,表示モードの指示入力があった場合に,表示画面100の表示モードの設定を切り換えて,画像表示処理部20に通知する。表示モードは,入力ポイントPtの移動に伴って入力ポイントPtの位置を更新して表示する場合の表示処理のモードである。
図11は,表示モードの設定の切り換えの説明図である。
表示モード設定部17は,図11(A)に示すように,マウス3の移動操作と同時のキーボードのシフト(Shift)キー70の押下のように,スクロール表示モードの切り換えの指示入力が割り当てられた所定のキー押下またはクリックの情報が,操作情報取得部15を介して入力されると,現在の表示モードを他の表示モードへ切り換えるモード切り換えを画面表示処理部20へ通知する。
ここで,表示モードは,空間固定モードと入力ポイント表示モードの2つの表示モードが交互に切り換えられ,画面表示処理部20は,表示モード設定部17が設定した表示モードに基づいて表示画面100を生成する。
空間固定モードは,仮想空間に配置した構造体およびグリッド6を固定し,入力ポイントPtの位置を移動させて表示する表示モードである。図11(B)に示すように,モニタ2の表示画面100a上に表示される構造体T#31A〜T#33Aの位置が固定され,マウス3の移動に応じて入力ポイントPt(a)が移動して表示される。
入力ポイント固定モードは,入力ポイントPtの位置を固定して表示し,仮想空間に配置した構造体およびグリッド6を相対的に移動させて表示する表示モードである。図11(C)に示すように,モニタ2の表示画面100b上に表示される入力ポイントPt(b)の位置が固定され,マウス3の移動に応じて仮想空間の構造体T#31B〜T#33Bが移動して表示される。
このような表示モードの切り換えは,表示拡大などにより仮想空間の一部を表示している場合に,ユーザの入力ポイントPtの移動操作を容易にする。
ステップS5:入力ポイントPtの移動
操作情報取得部15は,マウス3の操作を検出するたびに,マウス3の移動操作によって生成した,移動方向および移動量(移動距離)を含む操作情報を取得して,入力ポイント位置算出部16へ送出する。
入力ポイント位置算出部16は,操作情報の移動方向と移動距離に基づいて,入力ポイントPtの位置(座標)から仮想空間での移動先を算出する。そして,入力ポイント位置算出部16は,グリッドテーブル32に格納された座標gc,mc,ncから,計算した移動先に最も近い座標を選択して,入力ポイントPtの移動後の位置(座標)とする。
図12は,入力ポイントPtの移動を説明するための図である。
図12は,仮想空間の1平面を示す。図12の平面上で,グリッド間隔で設定されたグリッド6のグリッド軸を細線で示し,仮想空間に配置された三角柱状の構造体の境界面を太線La#1〜La#3で示す。また,図12では,グリッド6の各グリッド格子g(g#11〜g#44),補助グリッド格子m(m#1〜m#3),補助グリッド格子n(n#11〜n#32)は,図8に示す例と同様であるとする。
図12において,マウス3の操作前の入力ポイントPtが,グリッド座標g#21の位置(図中,入力ポイントPt(a)で示す)にあり,ユーザが,マウス3を破線矢印方向(X軸の負方向と平行)に移動させるように操作すると仮定する。
入力ポイント位置算出部16は,マウス3の操作情報に基づいて,入力ポイントPtの移動方向と移動距離を計算して移動先を算出する。そして,入力ポイント位置算出部16は,グリッドテーブル32から,計算した入力ポイントPtの移動先に最も近い補助グリッド座標m#1の座標mcを選択し,入力ポイントPtの移動後の座標とする(図中,入力ポイントPt(b)で示す)。
さらに,マウス3から操作情報の取得が続いている場合は,入力ポイント位置算出部16は,次に取得した操作情報が含む移動距離に応じて,同様に,入力ポイントPtの移動先を算出して,移動先から最も近いグリッド座標g#22の座標gcを,入力ポイントPtの移動後の座標とする(図中,入力ポイントPt(c)で示す)。
このようにして,マウス3から操作情報を連続して取得している間,入力ポイント位置算出部16は,順次取得した操作情報をもとに入力ポイントPtの移動先を計算し,グリッドテーブル32から移動先に最も近い座標を選択して入力ポイントPtの移動後の座標とする。その結果,入力ポイントPtは,操作前の位置(グリッド格子g#21)から,補助グリッド格子m#1→グリッド格子g#22→補助グリッド格子n#11→補助グリッド格子n#12→補助グリッド格子n#13→グリッド格子g#23→補助グリッド格子m#2→グリッド格子g#24の各位置へと移動するように制御される。
入力ポイント表示処理部23は,入力ポイントPtの座標の移動が生じるたびに,表示画面100の移動後座標に対応する位置に入力ポイントPt(図中,Pt(a)→Pt(b)→Pt(c)→Pt(d)→Pt(e)→Pt(f)→Pt(g)→Pt(h)→Pt(i)と示す)を表示する。
また,別の入力ポイントPtの移動方法として,入力ポイント位置算出部16は,グリッドテーブル32を使用せず,移動軌跡を用いて入力ポイントPtの移動を制御することができる。この場合に,データ記憶部30のグリッドテーブル32は不要である。
具体的には,入力ポイント位置算出部16は,操作情報が含む移動方向から入力ポイントPtの移動軌跡を計算する。そして,入力ポイント位置算出部16は,構造データテーブル31をもとに,移動軌跡上にグリッド6または構造体の境界が存在するかを判定する。グリッド6または構造体の境界面が存在すれば,入力ポイント位置算出部16は,移動軌跡と構造体の境界面との交点を計算して,計算した交点を入力ポイントPtの移動後の座標とする。
例えば,図12において,マウス3の操作前の入力ポイントPtの位置が,グリッド座標g#21の位置(図中,入力ポイントPt(a)で示す)であり,ユーザが,マウス3を,破線矢印方向(X軸の負方向と平行)に入力ポイントPtを移動させるように操作すると仮定する。
入力ポイント位置算出部16は,マウス3の操作により生じた操作情報の移動方向から,移動軌跡を計算する。この移動軌跡が,グリッド座標g#21からグリッド座標g#24へ向かう直線と仮定する。この場合に,入力ポイント位置算出部16は,移動軌跡上に構造体Tの境界が存在するかを判定して,移動軌跡上の構造体Tの境界である交点(補助グリッド格子m#1で示す座標と同等)を入力ポイントPtの移動後の座標として,この座標に入力ポイントPtを移動させる。さらに,次の操作情報の移動方向から計算した移動軌跡が同一であれば,入力ポイント位置算出部16は,同一移動軌跡上に存在するグリッド格子g#22の座標gcを求めて,入力ポイントPtを移動させ,さらに,同様に,同一軌跡上に存在するグリッド格子g#23,構造体Tの境界との交点(補助グリッド格子m#2の座標と同等),グリッド格子g#24の座標へと移動させる。
入力ポイント表示処理部23は,入力ポイントPtの位置移動が生じるたびに,表示画面100の移動後の座標に対応する位置に,入力ポイントPt(図中,Pt(a)→Pt(b)→Pt(c)→Pt(g)→Pt(h)→Pt(i))を表示する。
このような処理によって,ユーザは,マウス3の操作によって入力ポイントPtを効率よく移動させ,かつ正確に位置合わせをすることができる。
次に,さらに別の入力ポイントPtの移動方法として,2系統の移動操作が可能なマウス3とスケッチ面とによる,入力ポイントPtの移動の制御を説明する。
マウス3で平面移動とホイール回転の2つの移動操作が可能である場合に,操作情報取得部15は,マウス3からの平面移動による操作情報(第1の操作情報)と,ホイール回転による操作情報(第2の操作情報)とを区別して取得する。入力ポイント位置算出部16は,第1の操作情報が含む移動方向をスケッチ面上の移動に限定して処理し,第2の操作情報が含む移動方向を,スケッチ面に垂直方向の移動として処理する。
図13(A)において,入力ポイントPtの座標がスケッチ面Sxy(仮想空間のXY平面)に位置すると仮定する。
操作情報取得部15が,マウス3から第1の操作情報を取得すると,入力ポイント位置算出部16は,第1の操作情報が含む移動方向を,スケッチ面SxyのX軸方向またはY軸方向へ対応づけて,入力ポイントPtを移動させる。また,操作情報取得部15が,マウス3から第2の操作情報を取得すると,入力ポイント位置算出部16は,第2の操作情報が含むホイール回転の回転方向を,スケッチ面Sxyの法線であるZ軸方向へ対応づけて入力ポイントPtを移動させる。
具体的には,図13(A)に示すように,マウス3が,平面操作によって,方向1(奥方向),方向2(手前方向),方向3(右手方向),方向4(左手方向)のいずれかの方向へ移動した場合に,マウス3の方向1または方向2への移動は,入力ポイントPtのスケッチ面Sxy上でのY軸方向の移動に対応付けられ,方向3または方向4への移動は,同じくX軸方向の移動に対応付けられる。さらに,第1の操作情報の移動量によって,各方向への移動距離が定まり,入力ポイントPtの移動後の座標が一意に特定する。
また,マウス3のホイールの回転によって,マウスホイールの方向5(上方向)または方向6(下方向)への回転は,入力ポイントPtのスケッチ面Sxyの法線方向であるZ軸方向の移動に対応付けられる。そして,第2の操作情報の移動量によって,Z軸方向への移動距離が定まり,入力ポイントPtの移動後の座標が一意に特定する。
なお,スケッチ面がYZ平面である場合には,平面操作による移動方向が仮想空間のY軸およびZ軸方向に対応し,ホイール回転の移動方向がX軸方向に対応する。同様に,スケッチ面がZX平面である場合には,平面操作による移動方向がZ軸およびX軸方向に対応し,ホイール回転による移動方向がY軸方向に対応する。
このようにして,図13(B)に示すように,マウス3の移動方向と移動量とに応じて,入力ポイントPtの位置は,表示画面100の仮想空間のグリッド座標上を,例えばPt(a)→Pt(b)→Pt(c)→Pt(d)の移動順に移動する。
これにより,ユーザは,入力ポイントPtの位置とマウス3の操作との関連性をより容易に把握できるため,作業効率を向上させることができる。
ステップS6:入力ポイント座標の算出
入力ポイント位置算出部16は,入力ポイントPtが移動するたびに,移動した入力ポイントPtの仮想空間における座標を算出して保持する。
ステップS7:構造体の検索処理
構造体解析・設定部21は,構造体データテーブル31を参照して,入力ポイントPtの座標が,仮想空間に配置された構造体の領域にあるかを判別し,入力ポイントPtの座標を領域に含む構造体を特定する。
ステップS8:表示処理
画面表示制御部20では,ユーザの入力指示または選択に基づいて,各処理部により以下のステップS81〜S86の表示処理が実行される。
ステップS81:強調表示処理
強調表示処理部22は,構造体データテーブル31から,入力ポイントPtの座標に領域がある構造体を特定して,特定した構造体の境界線または境界面またはこれらの両方を,所定の強調表示,例えば,境界線を所定の強調線(例えば,線種“実線”,線幅“1.5p”等)により表示したり,構造体の境界面を所定の強調表示色(例えば,“青”)により表示したりする。
図14は,構造体の強調表示の例を示す図である。
図14(A)〜図14(E)では,それぞれ,表示画面100の仮想空間に複数の構造体T#1〜T#3が配置されて表示されているとする。
図14(A)では,入力ポイントPtの位置(現在座標)が構造体T#3の領域にあると仮定する。強調表示処理部22は,構造体T#3の外面全体または全境界線を強調表示する。この場合に,強調表示処理部22は,物性値情報毎に設定した表示色または線種を用いて強調表示してもよい。例えば,強調表示処理部22は,構造体T#3の材質が“金属”である場合に,構造体T#3の境界線を“金属”に対応付けられた太実線で表示する。
図14(B)では,入力ポイントPtの位置が構造体T#1の領域にあると仮定する。強調表示処理部22は,図14(A)で説明した処理と同様に,構造体T#1を強調表示する。構造体T#1の材質が“誘電体”である場合に,強調表示処理部22は,構造体T#1の境界線を“誘電体”に対応付けられた太破線で表示することができる。
図14(C)では,入力ポイントPtの位置が構造体T#3の1つの境界面上に位置すると仮定する。この場合に,強調表示処理部22は,図14(A)に示す表示に加えて,さらに入力ポイントPtが位置する境界面を他の境界面より高濃度色で表示する。
図14(D)では,入力ポイントPtの位置が構造体T#3の境界線(境界稜)に位置すると仮定する。強調表示処理部22は,図14(A)に示す表示に加えて,さらに入力ポイントPtが位置する境界線を,他の境界線よりも太い実線で表示する。
図14(E)では,入力ポイントPtの位置が構造体T#3の頂点であると仮定する。
強調表示処理部22は,図14(A)の表示に加えて,さらに,入力ポイントが位置する頂点を黒丸で表示する。
これにより,ユーザは,表示画面100で,構造体の境界面,境界線,頂点等の視認が容易になり,効率的かつ正確な入力ポイントPtの位置設定が行える。
ステップS82:物性値情報の表示処理
強調表示処理部22は,入力ポイントPtの座標にその領域が位置する構造体のみを,その構造体データの物性値情報を参照して,物性毎に設定した表示色で表示する。物性値情報に基づく表示色は,例えば,物性値情報の材質が金属であれば“黄”,物性値情報の材質が誘導体であれば“赤”というように設定される。
強調表示処理部22は,表示画面100に表示する各構造体の外面を,その構造体データの物性値情報をもとに,物性を示す表示色で表示する。
また,強調表示処理部22は,構造体データテーブル31を参照して,表示画面100に表示する構造体の中から,特定の物性を持つ構造体のみを,その物性に対応する表示色で表示する。
このような表示処理により,ユーザは,表示画面100において,特定の構造体とその他の構造体とを視覚上明瞭に区別できる。また,ユーザは,構造体の材質(金属,誘電体等)を容易に判別できる。
さらに,物性情報表示処理部24は,入力ポイントPtの位置にある構造体又はユーザの選択による構造体の物性値情報を取得して,取得した物性値情報を表示する物性値情報表示画面155を生成してモニタ2に表示する。
図15は,物性値情報の表示例を示す図である。
図15(A)に示すように,表示画面100において,仮想空間の入力ポイントPtから範囲R内に位置する構造体T#4〜T#6が表示されていると仮定する。
物性情報表示処理部24は,構造体データテーブル31を参照して,表示画面100に表示されている構造体T#3〜T#5各々の物性値情報を取得して,各構造体の材質名を一覧で表示する構造体一覧画面150を生成してモニタ2に表示する。
そして,物性情報表示処理部24は,構造体一覧画面150でユーザによって指定された構造体T#4について,構造体一覧画面150で該当する構造体が選択されていることを示すマーク(v)を表示し,構造体データテーブル31の物性値情報をもとに,構造体T#4のより詳細な物性値情報を示す物性値情報画面155を生成してモニタ2に表示する。物性値情報画面155では,例えば,“比誘電率:4.7”,“導電率[S/m]:1.0”等の物性値情報が表示される。
ステップS83:近傍構造体の表示処理
構造体解析・設定部21は,ユーザの指定によって,入力ポイント近傍構造体の表示が選択されている場合に,構造体データテーブル31をもとに,入力ポイントPtの座標から所定の範囲R内に位置する構造体を特定して,特定した構造体のみを仮想空間に表示する。
図16は,近傍の構造体の表示処理を説明するための図である。
図16に示す構造体T#1〜T#9は,表示画面100に表示する仮想空間に配置される構造体であるとする。
構造体解析・設定部21は,入力ポイントPtの座標を取得して,構造体データテーブル31を参照して,各構造体の所定の基準位置が,入力ポイントPtの座標から所定の範囲R内に位置するかを判断する。構造体解析・設定部21は,構造体T#1〜T#4が範囲R内に位置し,構造体T#5〜T#9が範囲Rの外側に位置すると判断すると,範囲R内に位置する構造体T#1〜T#4のみを表示画面100の仮想空間に表示する。
なお,図16では,範囲Rが入力ポイントPrを中心とする立方の領域として図示しているが,範囲Rの領域はどのような形状で設定されていてもよい。
ステップS84:第1のガイド表示処理
第1ガイド表示処理部25は,ユーザの指定によってスケッチ面と構造体との対応関係を示す交線の表示が選択されている場合に,スケッチ面と構造体の境界面との交線giを,表示画面100に表示する。
図17は,スケッチ面と構造体の境界面の交線表示の一例を示す図である。
図17(A)は,スケッチ面Sxyと構造体T#1,T#2との関係を斜視図で示す図である。図17(B)は,図17(A)に示すスケッチ面Sxyと構造体T#1,T#2を示すXZ平面である側面図であり,図17(C)は,同じくXY平面である上面図である。
第1ガイド表示処理部25は,構造体T#1,T#2の構造体データに基づいて,それぞれの境界面とスケッチ面Sxyとの交線giを求めて,表示画面100に表示する構造体T#1,T#2とスケッチ面Sxyとの交線giを,例えば破線により表示する。
これにより,ユーザは,表示画面100で構造体の配置を容易に認識することができる。例えば,表示画面100に表示される構造体T#1と構造体T#2の位置関係は,図17(A)に示すスイッチ面Sxyと交線(破線)giが表示されない場合には,仮想空間内で,どちらの構造体がより上側(すなわち,よりZ軸方向のプラス側)に位置するか,また,より奥側(すなわち,よりY軸方向のプラス側)に位置するかを視認することが困難である。しかし,図17(A)に示すように,スケッチ面Sxyと構造体との交線(破線)giの表示によって,ユーザは,構造体T#1,T#2が,図17(B)および図17(C)に示す位置関係であることを,図17(A)に示す斜視図のみからでも容易に把握することができる。
ステップS85:第2のガイド表示処理
第2ガイド表示処理部26は,ユーザ指定によって入力ポイントPtからのガイドラインを表示する指示が選択されている場合に,入力ポイントPtから近傍の構造体の境界面までのガイドラインglを,表示画面100に表示する。
図18は,入力ポイントPtからのガイドラインglの表示の一例を示す図である。
仮想空間で,直方体の導体の構造体T#1の底面の境界面に入力ポイントPtが位置しており,構造体T#1の下左方に,L型の形状の導体の構造体T#2が位置していると仮定する。
第2ガイド表示処理部26は,入力ポイントPtの座標から仮想空間の直交座標系の各座標軸に平行する直線であって,入力ポイントPtの近傍の構造体T#2の境界面との交点までの線分を,ガイドラインglとして設定し,設定したガイドラインglを表示画面100に表示する。
図18に示すように,表示画面100で入力ポイントPtの位置から近くの構造体T#2の2つの境界面へのガイドラインgl(破線)が表示される。
ユーザは,構造体T#2の境界面と構造体T#1の境界面(底面)との位置関係と大まかな距離感を容易に把握することができる。
このような第1または第2のガイドライン表示によって,ユーザは,モニタ2上の視覚上の錯覚によって構造体T#1の境界面と構造体T#2の境界面同士を接触させてしまうという配置誤りを防止することができる。
また,構造体T#1と構造体T#2との位置関係が把握できるため,両者の間に回路素子(例えばキャパシタ)を容易に配置することができる。
ステップS86:仮想空間の回転表示処理
回転表示処理部28は,ユーザ指定によって仮想空間の回転表示が選択されている場合に,ユーザの指定による回転座標軸および回転角度をもとに,基準の直交座標系の仮想空間を回転させた回転座標系を生成し,この回転座標系の仮想空間を表示画面100に表示する。
図19は,回転座標系の表示処理を説明するための図である。
回転表示処理部28は,ユーザによって選択された座標軸と任意の角度とに基づいて,基本となる直交座標系(X軸,Y軸,Z軸)の仮想空間,設定したグリッド6,配置した構造体T#1a,入力ポイントPtの全体を,設定された座標軸を回転軸にして任意の角度で回転させた回転座標系(XR軸,YR軸,ZR軸)に変換する。そして,回転表示処理部28は,変換した回転座標系の仮想空間に構造体T#1bを表示する表示画面100をモニタ2へ表示する。また,回転表示処理部28は,元の仮想空間においてスケッチ面が設定されている場合に,スケッチ面も含めて回転座標系に変換して表示する。
この表示処理により,ユーザは,基準の仮想空間で傾いた位置にある構造体の境界面をスケッチ面に設定した場合に,構造体と同様に傾いたスケッチ面を補正して表示画面100に表示させることができるため,構造体をより容易に認識できる状態の仮想空間で作業を行うことができる。
ステップS10:データ作成および保存処理
3次元データ表示装置10において,ユーザが表示画面100で入力操作を継続する間は(ステップS9のYes),ステップS4〜S8の処理が繰り返し実行される。その間,構造体情報作成部19は,ユーザによって構造体の追加または変更が行われる度に,追加または変更対象の構造体の構造体データをデータ記憶部30の構造体データテーブル31に格納または更新する。
そして,ユーザが入力操作を終了すると(ステップS9のNo),データ入出力処理部11は,データ記憶部30の構造体データテーブル31に格納しているデータを,構造体情報記憶装置4,その他の記憶装置(図1に図示しない),各種の記憶媒体等に保存する。
図20は,直方体の構造体Tnの構造体データの作成処理を説明するための図である。
ここで,マウス3が平面移動とホイール回転の2系統の移動操作が可能であり,図13で示すような移動操作を行うものとする。
操作情報取得部15は,マウス3の動作を検出して,第1操作情報,第2操作情報,左クリック,右クリック等の情報を取得する。
構造体情報作成部19は,マウス3の操作が右クリックによって,構造体データの作成が選択された場合に,例えば,構造体生成画面を表示して,構造体データ作成に必要な項目(例えば,構造体の選択/非選択,構造体の物性値等の項目)に対するユーザの選択指示を取得し,保持する。構造体の選択/非選択は,既存の構造体データを利用するかの指定である。
さらに,構造体情報作成部19は,マウス3の第1の操作情報(平面移動)を取得すると,入力ポイントPt(a)が構造体の始点(制御点)指定であるかを判断する。入力ポイントPt(a)が始点の指定である場合に,現在の入力ポイントPt(a)の座標を始点(制御点)Tn_sとする。そして,構造体情報作成部19は,操作情報の移動方向と移動量から,スイッチ面上のX軸負方向への距離MLとY軸正方向への距離MWで特定される座標を,入力ポイントPtの移動先に設定して,入力ポイントPtを移動する。入力ポイント表示処理部23は,移動した入力ポイントPt(b)を表示する。
さらに,構造体情報作成部19は,マウス3から第2の操作情報を取得した場合に,操作情報の移動方向と移動量から,スイッチ面上の入力ポイントPt(b)からZ軸正方向への距離MHで特定する位置を入力ポイントPtの移動先とする。そして,移動先の座標を,終点(制御点)Tn_eとする。なお,入力ポイント表示処理部23は,移動した入力ポイントPt(c)を表示する。
構造体情報作成部19は,直方体の構造体Tnについて,始点Tn_s(x1,y1,z1),終点Tn_e(x2,y2,z2)とし,長さML=|x1−x2|,幅MW=|y1−y2|,高さMH=|z1−z2|の構造情報を生成する。
次に,構造体情報作成部19は,所定の物性値入力画面をモニタ2に表示する。ここで,構造体生成画面で構造体の選択が設定されている場合には,構造体情報作成部19は,選択された構造体の物性値情報を物性値入力画面の初期値として表示する。
そして,構造体情報作成部19は,構造体生成画面でのユーザの入力操作により物性値情報の各項目の値を取得すると,構造体Tnの物性値情報を構造体データに追加して,構造体データ(構造情報と物性値情報を含む)を構造体データテーブル31に格納する。
なお,構造体データの作成処理例として,直方体の構造体を用いたが,構造体情報作成部19は,任意形状モデルを作成することが可能である。
以下,図4および図5に示す3次元データ表示装置10の処理フローを構成する処理ステップの一部について,より詳細に説明する。
図21は,グリッド設定の処理(図4:ステップS2)のより詳細な処理フロー図である。
グリッド間隔設定部18は,グリッド間隔設定画面120をモニタ2に表示して,ユーザによる入力設定を受けて,グリッド間隔(ΔX,ΔY,ΔZ)を設定する(ステップS201)。
グリッド設定・更新部13は,設定されたグリッド間隔に基づいて仮想空間にグリッド6を設定し,グリッド6の各グリッド格子gの仮想空間における座標gcを格納したグリッドテーブル32を生成する(ステップS202)。グリッド設定・更新部13は,構造データテーブル31を参照して,全構造体の構造データから,構造体の頂点(制御点)を取得する(ステップS203)。
次に,グリッド設定・更新部13は,取得した頂点の1つを読み込み(ステップS204),読み込んだ構造体の頂点がグリッド格子上にあるか,すなわち,頂点の座標がグリッドテーブル32に格納された座標gcに一致するかを判定する(ステップS205)。グリッド設定・更新部13は,頂点がグリッド格子g上にない場合のみ,頂点の座標を,補助グリッド格子mの座標mcとしてグリッドテーブル32に追加する(ステップS206)。グリッド設定・更新部13は,全ての頂点が処理済みでなければ(ステップS207のNo),ステップS204の処理へ戻り,全ての頂点が処理済みであれば(ステップS207のYes),次のステップ208へ進む。
次に,グリッド設定・更新部13は,構造データテーブル31を参照して,全構造体の構造データから,構造体の境界線を取得する(ステップS208)。グリッド設定・更新部13は,1つの境界線を読み込むと(ステップS209),グリッドテーブル32のグリッド格子と読み込んだ境界線との交点を計算する(ステップS2010)。
グリッド設定・更新部13は,計算した交点の座標が,グリッドテーブル32に格納された座標gc,mcにない場合に,交点の座標を補助グリッド格子nの座標ncとしてグリッドテーブル32に追加する(ステップS2011)。
グリッド設定・更新部13は,全ての境界線が処理済みでなければ(ステップS2012のNo),ステップS209の処理へ戻り,全ての境界線が処理済みであれば(ステップS2012のYes),処理を終了する。
図22は,スケッチ面設定処理(図4:ステップS3)の1つである,構造体の境界面によるスケッチ面設定処理のより詳細な処理フロー図である。
スケッチ面設定部14は,入力ポイント位置算出部16から入力ポイントPtの現在の座標を取得して(ステップS301),構造データテーブル31を参照して,入力ポイントPtの座標を領域内に含む構造体を検索する(ステップS302)。さらに,スケッチ面設定部14は,入力ポイントPtの座標が,特定した構造体の境界面に位置するか判断する(ステップS303)。入力ポイントPtの座標が構造体の境界面に位置する場合にのみ(ステップS303のYes),次のステップS304へ処理を進める。
スケッチ面設定部14は,入力ポイントPtが位置する境界面が,XY面,YZ面またはZX面であるか判断する(ステップS304)。スケッチ面設定部14は,境界面がXY面,YZ面またはZX面のいずれかであると判断した場合にのみ(ステップS304のYes),次のステップS305へ処理を進める。
ユーザの入力指示によって,この境界面がスケッチ面に設定されている場合に(ステップS305のYes),スケッチ面設定部14は,入力ポイントPtの座標を含む境界面の平面をスケッチ面に設定する(ステップS306)。
一方,入力ポイントPtの座標が構造体の境界面に位置しない場合(ステップS303のNo),境界面がXY面,YZ面またはZX面のいずれでもなく,ユーザの任意平面である場合(ステップS304のNo),ユーザの入力指定によるスケッチ面の設定がない場合に(ステップS305のNo),ステップS306の処理を行わずに,処理を終了する。
図23は,入力ポイントPt移動処理(図4:ステップS5)の1つである,グリッドテーブルによる入力ポイントPtの移動処理のより詳細な処理フロー図である。
入力ポイント位置算出部16は,仮想空間の入力ポイントPtの現在の座標を算出する(ステップS501)。そして,入力ポイント位置算出部16は,操作情報取得部15から取得した操作情報が含む移動方向と移動距離から,入力ポイントPtの移動先の座標を計算し(ステップS502),グリッドテーブル32を参照して,入力ポイントPtの移動先の座標に最も近い座標を検索する(ステップS503)。入力ポイント位置算出部16は,検索した座標を入力ポイントPrの座標に設定して,入力ポイントPtを移動する(ステップS504)。
図24は,入力ポイントPt移動処理(図4:ステップS5)の1つである,移動軌跡による入力ポイントPtの移動処理のより詳細な処理フロー図である。
入力ポイント位置算出部16は,仮想空間の入力ポイントPtの現在の座標を算出する(ステップS511)。入力ポイント位置算出部16は,操作情報取得部15から取得した操作情報が含む移動方向を検出して(ステップS512),入力ポイントPtから検出した移動方向へのグリッド格子までの線分(移動軌跡)を算出する(ステップS513)。
さらに,入力ポイント位置算出部16は,構造データテーブル31を参照して,算出した線分と構造体の境界との交点を計算する(ステップS514)。その結果,線分と構造体の境界との交点が存在していた場合に(ステップS515のYes),入力ポイント位置算出部16は,計算した線分と構造体の境界上の交点を入力ポイントPtの移動先とし,その交点の座標を入力ポイントPtの座標に設定して,入力ポイントPを移動する(ステップS516)。線分と構造体の境界との交点が存在しなかった場合には(ステップS515のNo),入力ポイント位置算出部16は,移動方向のグリッド格子gを入力ポイントPtの移動先とし,グリッド格子gの座標を入力ポイントPtの座標に設定して,入力ポイントPを移動する(ステップS517)。
図25は,入力ポイントPt移動処理(図4:ステップS5)の1つである,2系統の移動操作が入力可能なマウス3による入力ポイントPtの移動処理のより詳細な処理フロー図である。
この処理の開始前に,スケッチ面設定部14によりスケッチ面が設定され,マウス3の平面移動の移動方向がスケッチ面(例えばスイッチ面Sxy)上の座標軸(X軸,Y軸)に対応付けられ,ホイール回転による移動方向がスケッチ面の垂直方向に対応する座標軸(Z軸)に対応付けられているとする。
入力ポイント位置算出部16は,仮想空間の入力ポイントPtの現在の座標を算出する(ステップS521)。入力ポイント位置算出部16は,操作情報取得部15からマウス3の操作情報を検出して(ステップS522),操作情報から,マウス3の操作が平面移動であるかホイール回転であるかを判定する(ステップS523)。マウス3の操作が平面移動である場合には,入力ポイント位置算出部16は,操作情報からスケッチ面上での移動方向を検出する(ステップS524)。マウス3の操作がホイール回転である場合には,入力ポイント位置算出部16は,操作情報からスケッチ面の垂直方向における移動方向を検出する(ステップS525)。
そして,入力ポイント位置算出部16は,検出した移動方向にあるグリッド格子gまたはグリッド6と構造体の境界との交点を,入力ポイントPtの移動先とし,移動先の座標を入力ポイントPtの座標に設定して,入力ポイントPtを移動する(ステップS526)。
図26は,強調表示処理(図5:ステップS81)のより詳細な処理フロー図である。
強調表示処理部22は,構図データテーブル31を参照して,入力ポイントPtの座標に構造体が存在するか判断する(ステップS811)。入力ポイントPtの座標に構造体が存在する場合に(ステップS811のYes),強調表示処理部22は,構造体データテーブル31を参照して,該当する構造体の物性値情報の材質が金属または誘電体であるかを判断する(ステップS812)。構造体の物性値情報の材質が金属である場合に,強調表示処理部22は,当該構造体の強調表示色を色Aに設定する(ステップS813)。一方,構造体の物性値情報の材質が誘電体である場合に,強調表示処理部22は,当該構造体の強調表示色を色Bに設定する(ステップS814)。さらに,強調表示処理部22は,当該構造体の境界線を所定の線で強調表示する(ステップS815)。
次に,強調表示処理部22は,入力ポイントPtの座標に構造体の境界面が存在するかを判断する(ステップS816)。入力ポイントPtの座標に構造体の境界面が存在する場合に(ステップS816のYes),強調表示処理部22は,当該構造体の境界面の線分を強調表示する(ステップS817)。一方,入力ポイントPtの座標に構造体の境界面が存在しない場合に(ステップS816のNo),強調表示処理部22は,ステップS818の処理へ進める。
強調表示処理部22は,入力ポイントPtの座標に構造体の境界稜(2つの境界面に接する境界線)が存在するか判断する(ステップS818)。入力ポイントPtの座標に構造体の境界稜が存在する場合に(ステップS818のYes),強調表示処理部22は,当該構造体の境界線を強調表示する(ステップS819)。一方,入力ポイントPtの座標に構造体の境界稜が存在しない場合に(ステップS818のNo),強調表示処理部22は,ステップS8110の処理へ進める。
強調表示処理部22は,入力ポイントPtの座標に構造体の境界点(頂点)が存在するかを判断する(ステップS8110)。入力ポイントPtの座標に構造体の境界点が存在する場合に(ステップS8110のYes),強調表示処理部22は,当該構造体の頂点を強調表示する(ステップS8111)。
ステップS8110の処理で,入力ポイントPtの座標に構造体の境界点が存在しない場合に(ステップS8110のNo),強調表示処理部22は,処理を終了する。すなわち構造体の強調表示処理は実行されない。
図27は,物性値情報表示処理(図5:ステップS82)のより詳細な処理フロー図である。
構造体解析・設定部21は,構造データテーブル31を参照して,入力ポイントPtの座標から範囲Rに存在する構造体を検索する(ステップS821)。物性情報表示処理部24は,構造体データテーブル31を参照して,検索された構造体各々の物性値情報をもとに,各構造体の名称および材質の一覧を示す構造体一覧画面150を生成してモニタ2に表示する(ステップS822)。
物性情報表示処理部24は,操作情報取得部15が取得した操作情報から,構造体一覧画面150で構造体の選択を検出した場合に(ステップS823のYes),選択された構造体の物性値情報を表示する物性値情報画面155を生成してモニタ2に表示する(ステップS824)。さらに,強調表示処理部22が,選択された構造体の境界を強調表示する(ステップS825)。
物性情報表示処理部24が,操作情報取得部15が取得した操作情報から,構造体一覧画面150で別の構造体の選択が検出されたと判断した場合に(ステップS826のYes),物性情報表示処理部24は,ステップS824の処理へ戻る。
一方,物性情報表示処理部24が,構造体一覧画面150で別の構造体の選択がなかったと判断した場合には(ステップS823,S826のNo),構造体一覧画面150と物性値画面155とを閉じて(ステップS827),処理を終了する。
図28は,近傍構造体表示処理(図5:ステップS83)のより詳細な処理フロー図である。
構造体解析・設定部21は,構造データテーブル31を参照して,入力ポイントPtの座標から範囲Rに存在する構造体を検索して(ステップS831),検索した範囲R内に存在する構造体の一覧を保持する(ステップS832)。構造体解析・設定部21は,保持した構造体の一覧をもとに,仮想空間に各構造体を配置して表示画面100に表示する(ステップS833)。
図29は,スケッチ面と構造体の交線の表示処理(図5:ステップS84)のより詳細な処理フロー図である。
第1ガイド表示処理部25は,設定されたスケッチ面の平面座標を算出する(ステップS841)。さらに,第1ガイド表示処理部25は,構造データテーブル31を参照して,スケッチ面が重なる位置にある構造体を取得して(ステップS842),取得した構造体の境界面を算出する(ステップS843)。
そして,第1ガイド表示処理部25は,構造体の境界面とスケッチ面との交線を計算する(ステップS844)。計算の結果,交線が存在した場合には(ステップS845のYes),第1ガイド表示処理部25は,表示画面100で交線を表示する(ステップS846)。一方,交線が存在しない場合に(ステップS845のNo),第1ガイド表示処理部25は,ステップS847の処理へ進む。
第1ガイド表示処理部25は,ステップS842で検索した構造体が全て処理済みでなければ(ステップS847のNo),ステップS843の処理へ戻り,処理済みであれば(ステップS847のYes),処理を終了する。
図30は,ガイドライン表示処理(図5:ステップS85)のより詳細な処理フロー図である。ここで,入力ポイントPtの座標が,構造体のある境界面に位置する状態であるとする。
第2ガイド表示処理部26は,入力ポイントPtの座標からベクトルr{rx+,rx−,ry+,ry−,rz+,rz−}を算出する(ステップS851)。次に,第2ガイド表示処理部26は,ベクトルr=rx+をセットして(ステップS852),構造体データテーブル31を参照して,入力ポイントPtの座標からベクトルrx+の方向に他の構造体が存在するか判断する(ステップS853)。ベクトルrx+の方向に他の構造体が存在した場合に(ステップS853のYes),第2ガイド表示処理部26は,入力ポイントPtから存在する他の構造体の境界面までの線分を算出して,算出した線分をガイドラインとして表示画面100に表示する(ステップS854)。ベクトルrが全てセットされていなければ(ステップS855のNo),第2ガイド表示処理部26は,ステップS852の処理へ戻り,全てのベクトルrがセットされていれば(ステップS855のYes),処理を終了する。
図31は,座標系の回転表示処理(図5:ステップS86)のより詳細な処理フロー図である。
回転表示処理部28は,ユーザの指示入力に基づいて,仮想空間のX軸,Y軸,Z軸から回転軸を選択して(ステップS861),さらに,回転角度を設定する(ステップS862)。次に,回転表示処理部28は,設定した回転軸と回転角度とに基づいて,仮想空間の座標系を,設定された回転軸に対し,指定角度だけ回転させて,回転座標系に変換する(ステップS863)。
回転表示処理部28は,座標系回転の終了の指示入力があるかを判断して(ステップS864),座標系回転の終了の指示入力がなければ(ステップS864のNo),ステップS862の処理へ戻り,座標系回転の終了の指示入力があれば(ステップS864のYes),処理を終了する。
以下に,3次元データ表示装置10の構造体データ生成処理を説明する。
構造体情報作成部19は,ユーザが,モニタ2に表示される表示画面100で入力ポインタPtを移動させて,仮想空間で構造体を作成または変更した場合に,該当する構造体の構造体データを作成または変更する。
図32は,構造体情報作成処理の処理フロー図である。
この構造体情報作成処理は,ユーザの指示入力によって処理が開始される。
操作情報取得部15が,マウス3の操作を検出して操作情報を検出する(ステップS1001)。
構造体情報作成部19は,操作情報から,マウス3の操作が右クリックであるかを判断して(ステップS1002),マウス3の右クリックの場合には,モニタ2に構造体生成画面を表示する(ステップS1003)。構造体情報作成部19は,構造体生成画面での選択された項目,例えば,構造体の選択/非選択,構造体の物性値等の項目を保持する(ステップS1003)。
マウス3の操作が,移動操作である場合に,構造体情報作成部19は,入力ポイントPtが始点(制御点)の設定であるかを判断して(ステップS1004),入力ポイントPtが始点の場合に(ステップS1004のYes),その入力ポイントPtの座標を始点(制御点)に設定する(ステップS1005)。構造体情報作成部19は,入力ポイントPtが始点以外の制御点の設定である場合に,その入力ポイントPtの座標を次の制御点に設定する(ステップS1006)。
構造体情報作成部19は,構造体の必要な制御点が設定済みであるかを判断し(ステップS1007),必要な制御点が全て設定されていれば(ステップS1007のYes),設定された制御点をもとに構造体データの構造情報を生成する(ステップS1008)。さらに,物性値入力画面210をモニタ2に表示して,ユーザの入力操作により物性値情報の各項目の値を取得して(ステップS1009),構造情報と物性値情報を含む構造データを構造データテーブル31に格納する(ステップS1010)。
図33は,図1に示す3次元データ表示システム1の本発明の一実施態様によるハードウェア構成の一例を示す図である。
図33に示すように,3次元データ表示システム1は,3次元データ表示装置10,表示装置(モニタ)2,ポインティング入力装置(マウス)3,入力装置(キーボード)7,出力装置(プリンタ)8を備える。
3次元データ表示装置10は,CPU(Central Processing Unit)101,ROM(Read Only Memory)102,RAM(Random Access Memory)103,HDD(Hard Disk Drive)104,CD−ROM105,入出力インタフェース部106を備える。
図33に示すモニタ2は,図1に示す表示装置2であり,同じくマウス3は,図1に示すポインティング入力装置3である。また,図1には図示しないが,3次元データ表示装置10は,他の入力装置としてのキーボード7,他の出力装置としてのプリンタ8等を備えることは当然に可能である。
3次元データ表示装置10のCPU101は,3次元データ表示装置10の電源投入後等の起動時に,ROM102に記憶された起動プログラムに基づいて,ブート処理を開始する。ROM102は,CPU101の起動用プログラムを記憶(格納)するメモリである。
CPU101は,起動後,HDD104又はCD−ROM105等から3次元データ表示装置10のアプリケーションプログラム(アプリケーション)を読み込み,読込んだアプリケーションをRAM103へ記憶する。RAM103は,CPU101の主メモリ(記憶装置)であり,CPU101がアプリケーションを実行する際に,主メモリの他,ワークエリア等として用いる。アプリケーションは,CPU101,RAM103等を3次元データ表示装置10として動作させるプログラムである。RAM103は,図1に示すデータ記憶部30に相当する。
CPU101,RAM103等は,アプリケーションに従い,図1に示した各々の処理部の処理を実行する。このコンピュータにインストールされ実行されるアプリケーションにより,図1に示す3次元データ表示装置10の各処理部の処理が実現されて,コンピュータが備えるハードウェアと協働することによって,3次元データ表示装置10として動作する。
HDD104は,ハードディスク装置であり,例えば図1に示す構造体データ記憶装置4を備えると共に,その他のデータを記憶することができる。なお,HDD104は,サーバ,他の記憶装置等に備えられたデータベースであっても良く,また,3次元データ表示装置10がネットワークを介して,構造体情報記憶装置4にアクセスする構成であってもよい。
CD−ROM105は,CD−ROM媒体に記録されたアプリケーション,各種データ等を読込むためのドライブ装置である。なお,CD−ROM105は,DVD(Digital Versatile Disk)やFD(Floppy Disk,登録商標)等の他の記録媒体を読込むためのドライブ装置であってもよい。
3次元データ表示装置10のアプリケーション起動後,ユーザは,モニタ2を参照しながら,マウス3,キーボード7を介して,構造体の入力及び配置,画面による選択,指定等の入力操作を実行する。3次元データ表示装置10では,ユーザからの入力操作に応じてCPU101が制御指示を実行し,RAM103に格納されたデータに基づいて,仮想空間に配置した構造体を表示する表示画面100の他,構造体についての物性値情報等を表示する物性値情報表示画面等の表示データをモニタ2へ表示する。
本発明の一実施態様として,3次元データ表示装置10は,アプリケーションプログラムを,予め,HDD104に記憶させることができる。また,当該プログラムをCD−ROM媒体に記録し,3次元データ表示装置10が,CD−ROM媒体から当該プログラムを,RAM103,HDD104等に記憶することも可能である。即ち,コンピュータ(CPU101,ROM102等)が,CD−ROM媒体にインストールされたアプリケーションプログラムにより,3次元データ表示装置10として動作することが可能となる。なお,CR−ROM媒体は,他の記録媒体であってもよい。
以上説明したように,本実施態様による3次元データ表示装置10によれば,モニタ2に表示した表示画面100上で入力ポイントPtを,3次元空間に設定したグリッド格子や配置した構造体の境界上の位置に,正確かつ効率的に指定することができる。このため,ユーザが3次元の仮想空間での構造体や端点の設定の作業において,操作性を向上させ,設定誤りを軽減させることができ,構造体データの生成や更新の作業時間を大幅に短縮することが可能となる。また,設定誤りにより生じる解析処理の処理時間の無駄を軽減することも可能となる。
具体的には,3次元電磁界シミュレータによる精確な解析を実現する前提として,構造体間の金属干渉や端点の開放扱い等を厳密に設定した解析用の構造体データが要求される。しかしながら,3次元の構造体の配置が重なり合って表現される2次元平面(表示画面100)上で多くの構造体の中から目的とする構造体を選択することが難しい場合があった。
開示した3次元データ表示装置10によれば,入力ポイントPtで指定される構造体の物性(金属または誘電体であるか)を判断し,その物性に応じて構造体を強調して表示することができる。さらに,構造体の物性値情報を表示できるため,ユーザは,瞬時に入力ポイントPt上の構造体が目的の構造体であるかを判断することができる。
さらに,3次元データ表示装置10は,入力ポイントPtの近傍の構造体のみを表示する機能,入力ポイントPtの近傍の構造体までX軸,Y軸,Z軸方向にガイドライン(線分)を表示するガイドライン機能,スケッチ面と構造体表面との交線を表示する機能などの表示機能等を備える。これにより,ユーザは,多くの構造体の中から容易かつ確実に目的の構造体を選択することができる。
また,従来,仮想空間内での入力ポイントPtは,マウス3の平面移動によって移動する表示画面100上の入力ポイントPtの位置と連動して,仮想空間を射影した平面上を移動する。しかし,深さ方向の情報を持たないため,仮想空間内の任意の位置へ移動するためには,座標を数値入力が必要であった。
開示した3次元データ表示装置10によれば,入力ポイントPtの移動手段においても,2系統の移動操作が入力可能なマウス3において,マウス3の平面移動による仮想空間内の入力ポイントPtの移動方向を,仮想空間でスケッチ面として設定した平面上の移動方向に限定し,さらに,マウス3のホイール回転による入力ポイントPtの移動方向を,前記スケッチ面と垂直方向での移動方向に限定して,マウス3の操作による動きと,入力ポイントPtの移動とを連動させ,入力ポイントPtの移動の操作性を向上させることができる。
このように,開示した3次元データ表示装置10は,仮想空間での入力ポイントPtの厳密な位置設定,例えば,導体間へ回路素子等の設定を容易かつ確実に行うことが可能であり,3次元電磁界シミュレータ用の構造体データの作成作業における操作性をより向上させ,効率的かつ誤りの少ない構造体データの生成を支援することができる。
以下に,本願発明の実施態様における特徴を列記する。
(付記1) 表示装置およびポインティング入力装置を備えて,仮想空間内に処理対象となる構造体を前記表示装置に表示させる3次元データ表示装置であって,
構造体の形状および配置を示す構造情報ならびに材質および所定の物性値を示す物性値情報を含む構造体情報を記憶する構造体情報記憶部と,
前記構造体情報に基づいて,3次元直交座標系の仮想空間に構造体を配置した表示画面を生成して,前記生成した表示画面を前記表示装置へ表示する画面表示処理部と,
所定のグリッド間隔に基づいて前記仮想空間内にグリッドを設定するグリッド設定部と,
前記ポインティング入力装置から,前記入力ポイントの移動方向および移動量を示す操作情報を取得する操作情報取得部と,
前記入力ポイントの前記仮想空間における座標を算出し,前記操作情報に基づいて前記入力ポイントの移動先を算出する処理と,前記移動先から最短距離にある座標として,前記設定したグリッドに基づく各グリッド格子の座標または前記構造体の境界の座標または前記構造体の境界と前記グリッドの交点の座標のいずれかの座標を選択し,前記選択した座標で前記入力ポイントの座標を更新する入力ポイント位置算出部と,
前記入力ポイントの座標が更新された場合に,前記仮想空間の前記入力ポイントの更新された座標を示す位置に前記入力ポイントを表示する入力ポイント表示処理部とを備える
ことを特徴とする3次元データ表示装置。
(付記2) 前記画面表示処理部は,予め構造体の材質を示す表示色を設定して,前記構造体情報に基づいて前記仮想空間に配置した構造体を前記表示色で色分けして表示する
ことを特徴とする前記付記1に記載の3次元データ表示装置。
(付記3) 前記画面表示処理部は,前記構造体情報に基づいて前記仮想空間に配置した構造体のなかから特定の物性を有する構造体のみを前記表示画面に表示する
ことを特徴とする前記付記1または前記付記2に記載の3次元データ表示装置。
(付記4) 前記画面表示処理部は,前記構造体情報に基づいて前記仮想空間の前記入力ポイントの座標から所定の距離内に位置する構造体のみを前記表示画面に表示する
ことを特徴とする前記付記1ないし前記付記3のいずれか一項に記載の3次元データ表示装置。
(付記5) 前記画面表示処理部は,前記構造体情報に基づいて前記仮想空間の前記入力ポイントの座標に位置する構造体を特定し,前記特定した構造体のみを所定の強調表示態様で前記表示画面に表示する
ことを特徴とする前記付記1ないし前記付記4のいずれか一項に記載の3次元データ表示装置。
(付記6) 前記構造体情報に基づいて,前記仮想空間の前記入力ポイントの座標に位置する構造体を特定し,前記特定した構造体の物性値情報を表示する物性値情報画面を作成して前記表示装置に表示する物性情報表示処理部を備える
ことを特徴とする前記付記5に記載の3次元データ表示装置。
(付記7) 前記入力ポイント位置算出部は,前記グリッド格子各々の座標,前記構造体の頂点の座標および前記構造体の境界と前記グリッドの交点の座標を格納したグリッドテーブルを生成して,前記入力ポイントの移動先の座標を,前記グリッドテーブルから選択する
ことを特徴とする前記付記1に記載の3次元データ表示装置。
(付記8) 前記入力ポイント位置算出部は,前記操作情報の前記移動方向をもとに前記入力ポイントの移動軌跡を算出して,前記算出した前記移動方向の前記グリッド格子の座標または前記移動軌跡と前記構造体との交点の座標のいずれかの座標を,前記移動先の座標として選択する
ことを特徴とする前記付記1に記載の3次元データ表示装置。
(付記9) 前記仮想空間内の任意の平面をスケッチ面として設定するスケッチ面設定部を備えるとともに,
前記画面表示処理部は,前記仮想空間に設定された前記スケッチ面を前記表示画面に表示する
ことを特徴とする前記付記1に記載の3次元データ表示装置。
(付記10) 前記入力ポイント位置算出部は,前記ポインティング入力装置がホイールを備え,平面移動およびホイール回転による操作が可能である場合に,前記平面移動により生成された操作情報の移動方向を,前記スケッチ面を特定する座標軸に対応付け,さらに,前記ホイール回転により生成された操作情報の移動方向を前記スケッチ面に垂直方向の座標軸に対応付けて,当該対応付けを示す対応情報を保持して,前記対応情報に基づいて,前記取得した操作情報から前記入力ポイントの移動先を算出する
ことを特徴とする前記付記9に記載の3次元データ表示装置。
(付記11) 前記スケッチ面設定部は,前記仮想空間の前記入力ポイントの座標が位置する構造体の境界面を特定して,前記特定した境界面を前記スケッチ面として設定する
ことを特徴とする前記付記9に記載の3次元データ表示装置。
(付記12) 前記画面表示処理部は,前記構造体情報をもとに,前記仮想空間に配置した構造体の境界面と前記スケッチ面との交線を算出して,前記算出した交線を前記表示画面に表示する
ことを特徴とする前記付記9に記載の3次元データ表示装置。
(付記13) 前記画面表示処理部は,前記仮想空間の直交座標軸から選択された回転座標軸,および前記ポインティング入力装置の操作により入力された回転角度を取得して,前記回転座標軸および前記回転角度をもとに前記仮想空間の直交座標軸を回転させて変換した回転座標系の仮想空間を前記表示画面に表示する
ことを特徴とする前記付記1に記載の3次元データ表示装置。
(付記14) 前記入力ポイントの移動があった場合に,前記表示画面の入力ポイントの移動して表示する空間固定モード,または,前記仮想空間を移動して表示する入力ポイント固定モードのいずれかの表示モードを設定する表示モード設定部を備えるとともに,
前記画面表示処理部は,前記設定された表示モードに基づいて前記表示画面を生成する
ことを特徴とする前記付記1に記載の3次元データ表示装置。
(付記15) 前記画面表示処理部は,前記仮想空間の各座標軸に平行する直線であって,前記入力ポイントの座標から,直近の構造体の境界面との交点までの線分を特定して,前記特定した線分をガイドラインとして前記表示画面に表示する
ことを特徴とする前記付記1に記載の3次元データ表示装置。
(付記16) 前記グリッド間隔を設定するグリッド間隔設定部を備える
ことを特徴とする前記付記1に記載の3次元データ表示装置。
(付記17) 前記ポインティング入力装置の操作によって,前記仮想空間の構造体の追加の操作が行われた場合に,前記入力ポイントの位置に入力された情報をもとに当該構造体の構造体情報を生成して前記構造体情報記憶部に格納する構造体情報作成部を備える
ことを特徴とする前記付記1に記載の3次元データ表示装置。
(付記18) 仮想空間内に処理対象となる構造体を前記表示装置に表示させるために,表示装置およびポインティング入力装置を備えるコンピュータを,
構造体の形状および配置を示す構造情報ならびに材質および所定の物性値を示す物性値情報を含む構造体情報を記憶する構造体情報記憶部と,
前記構造体情報に基づいて,3次元直交座標系の仮想空間に構造体を配置した表示画面を生成して,前記生成した表示画面を前記表示装置へ表示する画面表示処理部と,
所定のグリッド間隔に基づいて前記仮想空間内にグリッドを設定するグリッド設定部と,
前記ポインティング入力装置から,前記入力ポイントの移動方向および移動量を示す操作情報を取得する操作情報取得部と,
前記入力ポイントの前記仮想空間における座標を算出し,前記操作情報に基づいて前記入力ポイントの移動先を算出する処理と,前記移動先の座標として,前記設定したグリッドに基づく各グリッド格子の座標または前記構造体の境界の座標または前記構造体の境界と前記グリッドの交点座標のいずれかの座標を選択し,前記選択した座標で前記入力ポイントの座標を更新する入力ポイント位置算出部と,
前記入力ポイントの座標が更新された場合に,前記仮想空間の前記入力ポイントの更新された座標を示す位置に前記入力ポイントを表示する入力ポイント表示処理部として機能させる
ことを特徴とする3次元データ表示プログラム。