IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 国立大学法人茨城大学の特許一覧

特許7510671ボクセルモデル演算装置、及びプログラム
<>
  • 特許-ボクセルモデル演算装置、及びプログラム 図1
  • 特許-ボクセルモデル演算装置、及びプログラム 図2
  • 特許-ボクセルモデル演算装置、及びプログラム 図3
  • 特許-ボクセルモデル演算装置、及びプログラム 図4
  • 特許-ボクセルモデル演算装置、及びプログラム 図5
  • 特許-ボクセルモデル演算装置、及びプログラム 図6
  • 特許-ボクセルモデル演算装置、及びプログラム 図7
  • 特許-ボクセルモデル演算装置、及びプログラム 図8
  • 特許-ボクセルモデル演算装置、及びプログラム 図9
  • 特許-ボクセルモデル演算装置、及びプログラム 図10
  • 特許-ボクセルモデル演算装置、及びプログラム 図11
  • 特許-ボクセルモデル演算装置、及びプログラム 図12
  • 特許-ボクセルモデル演算装置、及びプログラム 図13
  • 特許-ボクセルモデル演算装置、及びプログラム 図14
  • 特許-ボクセルモデル演算装置、及びプログラム 図15
  • 特許-ボクセルモデル演算装置、及びプログラム 図16
  • 特許-ボクセルモデル演算装置、及びプログラム 図17
  • 特許-ボクセルモデル演算装置、及びプログラム 図18
  • 特許-ボクセルモデル演算装置、及びプログラム 図19
  • 特許-ボクセルモデル演算装置、及びプログラム 図20
  • 特許-ボクセルモデル演算装置、及びプログラム 図21
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-26
(45)【発行日】2024-07-04
(54)【発明の名称】ボクセルモデル演算装置、及びプログラム
(51)【国際特許分類】
   G06T 15/08 20110101AFI20240627BHJP
【FI】
G06T15/08
【請求項の数】 5
(21)【出願番号】P 2020120172
(22)【出願日】2020-07-13
(65)【公開番号】P2021163440
(43)【公開日】2021-10-11
【審査請求日】2023-05-29
(31)【優先権主張番号】63/001,549
(32)【優先日】2020-03-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】504203572
【氏名又は名称】国立大学法人茨城大学
(74)【代理人】
【識別番号】100165179
【弁理士】
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100152272
【弁理士】
【氏名又は名称】川越 雄一郎
(74)【代理人】
【識別番号】100181722
【弁理士】
【氏名又は名称】春田 洋孝
(72)【発明者】
【氏名】乾 正知
【審査官】鈴木 肇
(56)【参考文献】
【文献】特開2000-172871(JP,A)
【文献】Masatomo Inui, 外3名,Thickness and clearance visualization based on distance field of 3D objects,Journal of Computational Design and Engineering,Elsevier,2015年,Vol. 2,p.183-194
(58)【調査した分野】(Int.Cl.,DB名)
G06T 15/08
G06T 17/10
(57)【特許請求の範囲】
【請求項1】
立体がボクセルによって表現されたボクセルモデルを取得する取得部と、
前記取得部が取得する前記ボクセルモデルに含まれるボクセルについて、ボクセル中心と前記立体の表面との距離を算出する距離算出部と、
前記ボクセルについて、前記距離算出部が算出する前記距離に基づく厚み情報を算出する厚み算出部と、
前記厚み算出部が算出する前記厚み情報に基づいて、前記ボクセルモデルに厚み表現を与える厚み提示部と、
を備え
前記厚み算出部は、前記ボクセルモデルに含まれる各ボクセルのうち、注目ボクセルの前記距離を半径とし前記注目ボクセルのボクセル中心を中心とする仮想球の直径を、当該仮想球に含まれる各ボクセルの厚みとして、前記厚み情報を算出し、
前記厚み表現は、前記厚み情報に応じた表示色、所定のカラーの階調、または所定の模様のうちいずれかである
ボクセルモデル演算装置。
【請求項2】
前記厚み算出部は、
前記ボクセルモデルに含まれる各ボクセルのうち、前記距離算出部が算出する前記距離に基づく中立軸を含むボクセルについてのみ、前記厚み情報を算出し、
前記中立軸とは、各ボクセルについてそれぞれ算出された前記距離によって示される前記ボクセルモデルの距離場において、前記距離の極大値を有するボクセルどうしを接続する軌跡である
請求項1に記載のボクセルモデル演算装置。
【請求項3】
前記厚み算出部は、
前記ボクセルモデルに含まれるボクセルが複数の前記仮想球に含まれる場合には、前記複数の前記仮想球のうち最大の直径を有する前記仮想球の直径を、当該ボクセルの厚みとして、前記厚み情報を算出する
請求項1または請求項2に記載のボクセルモデル演算装置。
【請求項4】
前記厚み提示部は、
前記厚み情報が示す前記立体の厚みに応じた表示色によって、前記ボクセルモデルに厚み表現を与える
請求項1から請求項のいずれか一項に記載のボクセルモデル演算装置。
【請求項5】
コンピュータに
立体がボクセルによって表現されたボクセルモデルを取得する取得ステップと、
前記取得ステップによって取得される前記ボクセルモデルに含まれるボクセルについて、ボクセル中心と前記立体の表面との距離を算出する距離算出ステップと、
前記ボクセルについて、前記距離算出ステップが算出する前記距離に基づく厚み情報を算出する厚み算出ステップと、
前記厚み算出ステップによって算出される前記厚み情報に基づいて、前記ボクセルモデルに厚み表現を与える厚み提示ステップと、
を実行させるためのプログラムであって、
前記厚み算出ステップは、前記ボクセルモデルに含まれる各ボクセルのうち、注目ボクセルの前記距離を半径とし前記注目ボクセルのボクセル中心を中心とする仮想球の直径を、当該仮想球に含まれる各ボクセルの厚みとして、前記厚み情報を算出し、
前記厚み表現は、前記厚み情報に応じた表示色、所定のカラーの階調、または所定の模様のうちいずれかである
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ボクセルモデル演算装置、及びプログラムに関する。
【背景技術】
【0002】
機械設計において、部品の肉厚の部分の厚さは基本的なパラメータである。部品の部分毎の厚さは、当該部品が許容し得る応力及び歪みを算出するために重要である。現代の製品は、一般的に、十分な剛性及び耐久性を保ちつつ、肉厚の部分の厚みを薄くすることによって軽量化されるように設計される。
CAD(Computer-Aided Design)を用いて機械設計を行う場合、設計者は、ステップ、ポケット、穴などの様々な形状の立体を画面において組み合わせることによって、3次元のCADモデルを構築する。設計の過程において、形状の位置及びまたはサイズを誤って指定すると、厚みが適切でないCADモデルが得られてしまう。問題となる形状を検出するために、立体モデルの厚みを正確に可視化する対話型システムが求められる。
【0003】
機械製図において、厚み及び隙間は、平行な平面における点同士の距離によって定義される。この定義は、複雑な曲面をもつ立体の厚みまたは隙間を規定する定義としては適切ではない。立体の厚みを定義する主要な方法として、Ray法、及びSphere法が知られている。Ray法、及びSphere法は、立体の周りの隙間を測定するためにも応用可能である。
Ray法においては、図1(A)に示すように、面上の点pにおける厚みは、点pから外向きの法線とは反対の方向に発射される光線を用いて与えられる。点pと点qとの間のユークリッド距離が、点pにおける厚みである。ここで点qは、点pを含む面とは反対側の立体の表面と光線との交点である。この定義では、点pを含む面と点qを含む面とが互いに平行でない場合、点pにおける厚みと、点qにおける厚みとが異なってしまう。
【0004】
一方、図1(B)に示すように、Sphere法では、立体の表面における点pにおける厚みは、点pに内接する最大の球である内接球Sの直径の値によって与えられる(例えば、非特許文献1を参照)。点pの位置を立体の表面において変えていった場合、内接球の中心の軌跡は、当該立体の中立軸に対応する。したがって、ある点pにおける厚みは、点pと立体の中立軸との距離の2倍となる。
【0005】
Sphere法によって定義される厚みは、一般に機械製図における板形状に対する定義と、立体の角を除いて整合する。ここで立体の角における内接球の直径は、図1(c)に示すように、角以外の場所における点に対する内接球の直径に比べて小さくなる。Sphere法では、立体の角における厚みは薄いとみなされてしまう。Sphere法によって、立体の厚みの分布を理解することは難しい。図2(a)にSphere法による立体の厚みの分布の一例を示す。
【先行技術文献】
【非特許文献】
【0006】
【文献】Masatomo Inui、Nobuyuki Umezu、Kazuma Wakasaki、Shunsuke Sato、「Thickness andclearance visualization based on distance field of 3D objects」、Journal of Computational Design and Engineering、ELSEVIER、2015年4月28日、2巻、183-194頁
【発明の概要】
【発明が解決しようとする課題】
【0007】
Ray法、あるいはSphere法のような従来の厚みの評価方法においては、上述したように、厚みは、立体の表面上の点に対して評価される。3次元CADシステムなどの機械系の設計支援ソフトウェアでは、Ray法、あるいはSphere法以外の厚みの評価方法も開発されているが、いずれも立体の表面上の点において厚みが評価される。
また、JIS規格において、立体の厚みは、次元を用いて規定される。当該次元とは、与えられた方向について対象となる部分の長さ、距離、角度、または大きさを示す量である。JIS規格における次元の定義は、複雑な表面を有する立体の厚みを規定するために適していない。
従来の厚みの評価方法では、立体の各部分についての厚みが直感的に理解できなかった。
【0008】
本発明は上記の点に鑑みてなされたものであり、立体の各部分についての厚みが直感的に理解できるボクセルモデル演算装置、及びプログラムを提供する。
【課題を解決するための手段】
【0009】
本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、立体がボクセルによって表現されたボクセルモデルを取得する取得部と、前記取得部が取得する前記ボクセルモデルに含まれるボクセルについて、ボクセル中心と前記立体の表面との距離を算出する距離算出部と、前記ボクセルについて、前記距離算出部が算出する前記距離に基づく厚み情報を算出する厚み算出部と、前記厚み算出部が算出する前記厚み情報に基づいて、前記ボクセルモデルに厚み表現を与える厚み提示部と、を備え、前記厚み算出部は、前記ボクセルモデルに含まれる各ボクセルのうち、注目ボクセルの前記距離を半径とし前記注目ボクセルのボクセル中心を中心とする仮想球の直径を、当該仮想球に含まれる各ボクセルの厚みとして、前記厚み情報を算出し、前記厚み表現は、前記厚み情報に応じた表示色、所定のカラーの階調、または所定の模様のうちいずれかであるボクセルモデル演算装置である。
【0010】
また、本発明の一態様は、上記のボクセルモデル演算装置において、前記厚み算出部は、前記ボクセルモデルに含まれる各ボクセルのうち、前記距離算出部が算出する前記距離に基づく中立軸を含むボクセルについてのみ、前記厚み情報を算出し、前記中立軸とは、各ボクセルについてそれぞれ算出された前記距離によって示される前記ボクセルモデルの距離場において、前記距離の極大値を有するボクセルどうしを接続する軌跡である
【0013】
また、本発明の一態様は、上記のボクセルモデル演算装置において、前記厚み算出部は、前記ボクセルモデルに含まれるボクセルが複数の前記仮想球に含まれる場合には、前記複数の前記仮想球のうち最大の直径を有する前記仮想球の直径を、当該ボクセルの厚みとして、前記厚み情報を算出する。
【0015】
また、本発明の一態様は、上記のボクセルモデル演算装置において、前記厚み提示部は、前記厚み情報が示す前記立体の厚みに応じた表示色によって、前記ボクセルモデルに厚み表現を与える。
【0016】
また、本発明の一態様は、コンピュータに立体がボクセルによって表現されたボクセルモデルを取得する取得ステップと、前記取得ステップによって取得される前記ボクセルモデルに含まれるボクセルについて、ボクセル中心と前記立体の表面との距離を算出する距離算出ステップと、前記ボクセルについて、前記距離算出ステップが算出する前記距離に基づく厚み情報を算出する厚み算出ステップと、前記厚み算出ステップによって算出される前記厚み情報に基づいて、前記ボクセルモデルに厚み表現を与える厚み提示ステップと、を実行させるためのプログラムであって、前記厚み算出ステップは、前記ボクセルモデルに含まれる各ボクセルのうち、注目ボクセルの前記距離を半径とし前記注目ボクセルのボクセル中心を中心とする仮想球の直径を、当該仮想球に含まれる各ボクセルの厚みとして、前記厚み情報を算出し、前記厚み表現は、前記厚み情報に応じた表示色、所定のカラーの階調、または所定の模様のうちいずれかであるプログラムである。
【発明の効果】
【0017】
本発明によれば、立体の各部分についての厚みが直感的に理解できる。
【図面の簡単な説明】
【0018】
図1】各種の手法に基づいて評価された立体の厚みの一例を示す概念図である。
図2】本発明の第1の実施形態に係る立体に対する厚みを視覚化した結果の一例を示す図である。
図3】本発明の第2の実施形態に係るボクセルモデル演算装置1の構成の一例を示す図である。
図4】本発明の第2の実施形態に係る厚み表現提示処理の一例を示す図である。
図5】本発明の第2の実施形態に係るボクセルモデルの一例を示す図である。
図6】本発明の第2の実施形態に係るボクセルモデルについて生成された距離場の一例を示す図である。
図7】本発明の第2の実施形態に係る注目ボクセルに対する仮想球の一例を示す図である。
図8】本発明の第2の実施形態に係る厚み情報の一例を示す図である。
図9】本発明の第2の実施形態に係る複数の仮想球の内部にボクセルが含まれている場合の一例を示す図である。
図10】本発明の第2の実施形態に係る中立軸を含むボクセルの一例を示す図である。
図11】本発明の第2の実施形態に係る厚み情報に基づくボリュームレンダリングの処理の一例を示す図である。
図12】本発明の第2の実施形態に係る厚み表現を与えたボクセルモデルの一例を示す図である。
図13】本発明の第2の実施形態に係る体積的な厚みの解析結果の一例を示す図である。
図14】本発明の第2の実施形態に係る体積的な厚みの解析結果の一例を示す図である。
図15】本発明の第3の実施形態に係るボクセルモデル演算装置の構成の一例を示す図である。
図16】本発明の第3の実施形態に係る厚み表現提示処理の一例を示す図である。
図17】本発明の第3の実施形態に係る表面付近のボクセルについての厚み情報を補正する対象となるボクセルモデルの一例を示す図である。
図18】本発明の第3の実施形態に係る表面付近のボクセルについての厚み情報を補正する対象となるボクセルモデルの一例を示す図である。
図19】本発明の第3の実施形態に係るボクセルの厚みと、当該ボクセルのボクセルモデルの表面からの距離との関係の一例を示す図である。
図20】本発明の第3の実施形態に係るボクセルの厚みと、当該ボクセルのボクセルモデルの表面からの距離との関係の一例を示す図である。
図21】本発明の第3の実施形態に係るボクセルの厚みと、当該ボクセルのボクセルモデルの表面からの距離との関係の一例を示す図である。
【発明を実施するための形態】
【0019】
(第1の実施形態)
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
[体積的な厚み]
本実施形態では、体積的な厚みによって立体の厚みを定義する。体積的な厚みは、立体の内部に含まれる各点に対して定義される。従来の厚みの評価方法においては、厚みは、立体の表面上の各点に対して定義されていた。Sphere法では、立体の表面上の点pにおける厚みは、当該点pに内接する最大の球である内接球の直径によって定義された。本実施形態の体積的な厚みにおいても、Sphere法で用いられたのと同様の内接球が用いられる。立体の内部において直径の値として値Dをもつ内接球が定義できる場合、当該立体は内部において球状の体積的な厚みの値として値Dをもつ。内接球の内部に含まれる点は、体積的な厚みの値として値Dをもつ。内接球の内部に含まれる点pは、当該内接球とは異なる他の複数の内接球の内部にも含まれ得る。その場合、点pにおける体積的な厚みの値は、点pを内部に含む複数の内接球のうち、最大の直径をもつ内接球の直径の値によって与えられる。
【0020】
立体の表面上の点pに内接する内接球は、当該点pにおける内接球のうち直径が最大である内接球(最大内接球という)の内部に含まれる。そのため、体積的な厚みの算出においては、最大内接球が用いられればよい。立体の表面上の各点に対する最大内接球の中心の集合は、立体の中立軸に一致する。体積的な厚みは、次のような手順によって算出される。
ステップ(1):立体の内部の全ての点に対して、体積的な厚みの初期値としてゼロを対応させる。
ステップ(2):立体の中立軸を判定する。
ステップ(3):中立軸上の各点cに対して、当該点cと立体の表面との距離を測定し、かつ当該点cに中心をもつ最大内接球MISを設定する。最大内接球MISの内部に含まれる各点について、最大内接球MISの直径の値が最大内接球MISの内部に含まれる点における現在の体積的な厚みの値よりも大きい場合、当該点における現在の体積的な厚みの値を、最大内接球MISの直径の値によって更新する。
【0021】
図2は、立体(プリズマティック形状部品)に対する厚みを視覚化した結果の一例を示す図である。図2(a)は、比較のため従来のSphere法による厚みの算出結果を示す。Sphere法では、角付近の形状は、薄い形状であると評価されてしまうため、立体の表面における厚みの分布を直感的に理解することは難しい。
図2(b)及び(c)は、本実施形態に係る体積的な厚みを用いた厚みの算出結果を示す。ここでは、立体が398×345×238個のボクセルによって表現されたボクセルモデルが用いられている。厚みの値が各ボクセルに対して対応づけられている。図2(b)は、ボクセルモデルに対して、中立軸を表示した結果を示す。当該中立軸は、当該中立軸に位置するボクセルの集合として示されている。最大内接球は、中立軸に含まれる各ボクセルに対して算出される。算出された最大内接球に含まれるボクセルの厚みの値が更新される。
図2(c)は、体積的な厚みを用いた厚みの分布の解析結果を示す。可視化においては、ボリュームレンダリングが用いられている。図2(c)では、領域E1が薄い形状であることが視覚的に理解できる。
【0022】
(第2の実施形態)
本実施形態では、厚みを算出する対象である立体をボクセルモデルによって表し、当該ボクセルモデルを構成するボクセルについて体積的な厚みを算出するボクセルモデル演算装置について説明する。
【0023】
[ボクセルモデル演算装置の構成]
図3は、本実施形態に係るボクセルモデル演算装置1の構成の一例を示す図である。ボクセルモデル演算装置1は、立体データ取得部10と、ボクセルモデル生成部11と、ボクセルモデル取得部12と、距離算出部13と、厚み算出部14と、厚み提示部15とを備える。
ボクセルモデル演算装置1は、一例として、パーソナルコンピュータ(Personal Computer:PC)である。立体データ取得部10と、ボクセルモデル生成部11と、ボクセルモデル取得部12と、距離算出部13と、厚み算出部14と、厚み提示部15とはそれぞれ、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(field-programmable gate array)などがROM(Read Only Memory)からプログラムを読み込んで処理を実行することにより実現される。
【0024】
立体データ取得部10は、立体データD1を取得する。立体データD1は、厚みを解析する対象となる立体T1を示すデータである。
ボクセルモデル生成部11は、立体データD1に基づいてボクセルモデルM1を生成する。ボクセルモデルM1は、立体がボクセルによって表現されたモデルである。
ボクセルモデル取得部12は、ボクセルモデルM1を取得する。
【0025】
距離算出部13は、ボクセルモデルM1に含まれるボクセルBiについて、ボクセルBiの中心と立体T1の表面との距離Diを算出する。なお、ボクセルBiの中心と立体T1の表面との距離Diとは、ボクセルBiの中心と立体T1の表面上の点との距離のうち最小となる距離である。距離算出部13は、算出した距離Diに基づいて距離場を生成する。距離場は、ボクセルBi毎に距離Diが対応づけられた場である。
【0026】
厚み算出部14は、各ボクセルBiについて、距離算出部13が算出する距離Diに基づく厚み情報Wiを算出する。厚み情報Wiは、ボクセルBiについて体積的な厚みを示す情報である。
【0027】
厚み提示部15は、厚み算出部14が算出する厚み情報Wiに基づいて、ボクセルモデルM1に厚み表現Riを与える。本実施形態では、厚み提示部15は、厚み情報Wiが示す立体T1の厚みに応じた表示色によって、ボクセルモデルM1に厚み表現RIを与える。
【0028】
厚み提示装置2は、厚み表現Riに基づいてボクセルモデルM1を表示する。厚み提示装置2は、2次元の画面において、3次元のデータであるボクセルモデルM1を表示する。厚み提示装置2は、例えば、液晶ディスプレイ、または有機エレクトロルミネッセンス(EL:Electroluminescence)ディスプレイなどによって構成される。
【0029】
[厚み表現提示処理]
次に図4を参照し、ボクセルモデル演算装置1が立体T1について厚み表現を与えたボクセルモデルを提示する処理である厚み表現提示処理について説明する。図4は、本実施形態に係る厚み表現提示処理の一例を示す図である。
【0030】
ステップS10:立体データ取得部10は、立体データD1を取得する。立体データ取得部10は、例えば、ボクセルモデル演算装置1とは別体として備えられる外部のサーバから立体データD1を取得する。立体データ取得部10は、ボクセルモデル演算装置1に接続される外部記憶装置から立体データD1を取得してもよい。立体データ取得部10は、取得した立体データD1をボクセルモデル生成部11に供給する。
【0031】
ステップS20:ボクセルモデル生成部11は、ボクセルモデル生成部11から供給される立体データD1に基づいてボクセルモデルM1を生成する。図5にボクセルモデルM1の一例を示す。ボクセルモデル生成部11は、生成したボクセルモデルM1をボクセルモデル取得部12に供給する。
【0032】
ステップS30:ボクセルモデル取得部12は、ボクセルモデル生成部11から供給されるボクセルモデルM1を取得する。ボクセルモデル取得部12は、取得したボクセルモデルM1を距離算出部13に供給する。
【0033】
ステップS40:距離算出部13は、ボクセルモデル取得部12が取得したボクセルモデルM1に含まれるボクセルBiについて、ボクセルBiのボクセル中心と立体T1の表面との距離Diを算出する。ボクセル中心とは、立方体であるボクセルBiの中心である。距離算出部13は、算出した距離Diに基づいて距離場を生成する。図6にボクセルモデルM1について生成された距離場の一例を示す。距離算出部13は、各ボクセルBiについて算出した距離Diを厚み算出部14に供給する。
【0034】
ここで図7に示すように、ボクセルモデルM1に含まれる各ボクセルBiのうち、あるボクセルを注目ボクセルBtとする。注目ボクセルBtにおける距離場の値(つまり、距離Di)を半径とし注目ボクセルBtのボクセル中心を中心とする仮想球VStを考える。仮想球VStは、注目ボクセルBtにおける距離場の値を半径とし注目ボクセルBtのボクセル中心を中心とする内接球である。したがって、仮想球VSt内には、立体T1の表面は含まれない。換言すれば、当該仮想球VStは、立体T1の内部に含まれる。
【0035】
ステップS50:厚み算出部14は、各ボクセルBiについて、距離算出部13が算出した距離Diに基づく厚み情報Wiを算出する。厚み算出部14は、算出した厚み情報Wiを厚み提示部15に供給する。ここで厚み算出部14は、仮想球VStの直径を、当該仮想球VStに含まれる各ボクセルの厚みとして、厚み情報Wiを算出する。上述したように仮想球VStは、ボクセルモデルM1に含まれる各ボクセルBiのうち、注目ボクセルBtの距離rtを半径とし注目ボクセルBtのボクセル中心を中心とする球である。
【0036】
厚み算出部14の厚み情報Wiの算出方法は、仮想球VStの内部には、当該仮想球VStの直径に相当する体積的な厚みをもつ空間が存在すると考えることに対応する。ボクセルモデル演算装置1では、厚み情報Wiとして、仮想球VStの直径に相当する体積的な厚みを用いることができる。
【0037】
図8に示す例では、注目ボクセルBt1としてボクセルB1が選択されている。ボクセルB1と立体T1の表面との距離は、「5」である。仮想球VS1は、ボクセルB1のボクセル中心を中心とする、ボクセルB1における距離場が示す距離(つまり、「5」)を半径にもつ仮想球VStである。厚み算出部14は、仮想球VS1の内部に含まれる複数のボクセルBiそれぞれについて、厚み情報Wiとして「10」を算出する。
【0038】
ここで厚み算出部14は、ボクセルモデルM1に含まれる各ボクセルBiのうち、注目ボクセルBtを所定の規則に基づいて逐次選択する。厚み算出部14は、選択した注目ボクセルBtに対して仮想球VStを算出し、厚み情報Wiを算出する処理を繰り返す。厚み情報Wiを算出する処理において、ボクセルBiは、複数の仮想球VStの内部に含まれる場合がある。厚み算出部14は、ボクセルモデルM1に含まれるボクセルBiが複数の仮想球VStに含まれる場合には、複数の仮想球VStのうち最大の直径を有する仮想球VStの直径を、当該ボクセルBiの厚みとして、厚み情報Wiを算出する。ボクセルモデル演算装置1は、ボクセルBiが複数の仮想球VStに含まれる場合であっても、当該ボクセルBiの厚み情報Wiを一意に算出できる。
【0039】
図9に示す例では、ボクセルB2は、半径Rの仮想球VS2の内部と、半径rの仮想球VS3の内部との両方に含まれている。ここで半径Rの方が半径rよりも大きい。この場合、厚み算出部14は、仮想球VS2と仮想球VS3とのうち最大の直径を有する仮想球VS2の直径を、ボクセルB2の厚みとして算出する。つまり、厚み算出部14は、ボクセルB2の厚みとして「2R」を算出する。
【0040】
ここで注目ボクセルBtが選択される所定の規則について説明する。本実施形態では、厚み算出部14は、ボクセルモデルM1に含まれる各ボクセルBiのうち、中立軸MAを含むボクセルBiのみを注目ボクセルBtとして選択する。中立軸MAとは、各ボクセルBiについてそれぞれ算出された距離Diによって示されるボクセルモデルM1の距離場において、距離Diの極大値を有するボクセルBiどうしを接続する軌跡である。中立軸MAは、第1の実施形態において説明した中立軸と一致する。
ボクセルモデル演算装置1では、ボクセルモデルM1の距離場において、距離Diの極大値を有するボクセルBiどうしを接続する軌跡を中立軸MAとして用いることができるため、中立軸MAを含むボクセルBiの選択が容易である。
【0041】
ボクセルBiが中立軸MAを含むとは、内部に中立軸MAの一部を含むこと、あるいは立方体であるボクセルBiの辺または頂点に中立軸MAの一部を含むことである。
図10にボクセルモデルM1についての中立軸MA1、及び中立軸MA1を含むボクセルBjの一例を示す。中立軸MA1は、中立軸MA1-1、中立軸MA1-2、及び中立軸MA1-3の3つの軌跡からなり、中立軸MA1は、中立軸MA1-1、中立軸MA1-2、及び中立軸MA1-3のそれぞれの端点は、1点において交わる。中立軸MA1を含むボクセルBjは、図10においてハッチングパターンを用いて示されている。
【0042】
上述の第1の実施形態において説明したように、立体の表面上の点pに内接する内接球は、当該点pにおける内接球のうち最大内接球の内部に含まれる。立体の表面上の各点に対する最大内接球の中心の集合は、立体の中立軸に一致するため、中立軸を含むボクセルBiを注目ボクセルBtとして選択して仮想球VStを算出して、厚み情報Wiを算出すれば十分である。
【0043】
これに応じて、ボクセルモデルM1に含まれる各ボクセルBiのうち、注目ボクセルBtとして選択されなかったボクセルBiは、いずれかの注目ボクセルBtに対する仮想球VStの内部に含まれる。厚み算出部14は、注目ボクセルBtとして選択されなかったボクセルBiについての厚み情報Wiは、上述したように、仮想球VStの直径を、当該仮想球VStに含まれる各ボクセルの厚みとして算出する。
【0044】
ボクセルモデル演算装置1では、厚み情報Wiを算出するために算出する仮想球VStを算出するボクセルBiの数を、全てのボクセルBiについてそれぞれ仮想球VStを算出する場合に比べて少なくできるため、厚み情報Wiを算出する演算時間を短くできる。
上述したように、厚み算出部14は、ボクセルモデルM1に含まれる各ボクセルBiのうち、距離算出部13が算出する距離Diに基づく中立軸MAを含むボクセルBiについてのみ、厚み情報Wiを算出する。
【0045】
なお、厚み算出部14は、所定の順番に従ってボクセルモデルM1に含まれる全てのボクセルBiを注目ボクセルBtとして逐次選択してもよい。所定の順番とは、例えば、上下方向について上から下へ、奥行方向について手前から奥へ、または左右方向について左から右へなどとして指定される順番である。
【0046】
ステップS60:厚み提示部15は、厚み算出部14が算出する厚み情報Wiに基づいて、ボクセルモデルM1に厚み表現Riを与える。ここで厚み提示部15は、厚み情報Wiが示す立体T1の厚みに応じた表示色によって、ボクセルモデルM1に厚み表現RIを与える。本実施形態では、厚み表現Riは、一例として、厚み情報Wiが示す体積的な厚みに対応づけられた白から黒の明暗を示すグレースケールの階調である。なお、厚み表現Riとして、厚み情報Wiが示す体積的な厚みに対応づけられた所定のカラーの階調、あるいは所定の模様が用いられてもよい。
ボクセルモデル演算装置1では、厚み表現RIとして立体T1の厚みに応じた表示色を用いることができるため、立体T1の厚みを表示色によって直感的に理解しやすい。
【0047】
厚み提示部15は、3次元のデータであるボクセルモデルM1を2次元の画面に表示させるために、一例としてボリュームレンダリングを用いる。厚み提示部15は、厚み情報Wiに基づくボリュームレンダリングを用いて、ボクセルモデルM1に厚み表現Riを与える。
【0048】
ここで図11を参照し、厚み情報Wiに基づくボリュームレンダリングの処理について説明する。図11は、本実施形態に係る厚み情報Wiに基づくボリュームレンダリングの処理の一例を示す図である。ボクセルモデルM1の表面における点pにおける法線ベクトルであって、ボクセルモデルM1の内側を向いた法線ベクトルの向きに、点pから光線を発射した場合の、当該光線の軌跡を考える。
【0049】
厚み提示部15は、当該軌跡上のボクセルBiについて、点pに近い方から順に厚み情報Wiを取得する。厚み提示部15は、点pからの距離に対する厚み情報Wiの変化に基づいて、点pに近い方からみた場合に最初に極大値をもつボクセルBiを判定する。厚み提示部15は、判定したボクセルBiについての厚み情報Wiが示す体積的な厚みを、点pにおける厚みとして判定する。厚み提示部15は、判定した厚みに応じて、点pに対して厚み表現Riを与える。
【0050】
ステップS70:厚み提示部15は、厚み表現Riを与えたボクセルモデルM1を厚み提示装置2に出力する。厚み提示装置2は、厚み表現Riを与えたボクセルモデルM1を表示する。
以上で、ボクセルモデル演算装置1は、厚み表現提示処理を終了する。
【0051】
図12に、厚み表現Riを与えたボクセルモデルの一例を示す。なお、説明の便宜上、図12では、立体T1として、上述した図5図6図8図10及び図11において説明に用いた立体とは形状が異なる立体を扱った場合の一例を示す。図12に示すボクセルモデルM2は、この立体についてボクセルモデルである。
【0052】
ボクセルモデルM2は、ボクセルB21と、ボクセルB22と、ボクセルB23とのそれぞれの部分から構成される。ボクセルB21は、ボクセルB22及びボクセルB23に比べて、厚み表現Riが示す体積的な厚みが厚い。ボクセルB21は、体積的な厚みが厚いことに応じて、厚み表現Riとして、ボクセルB22及びボクセルB23に比べて暗い階調が与えられている。
ボクセルB21は、Z軸の方向についての幅が、ボクセルB22及びボクセルB23に比べて大きい。そのため、ボクセルB21は、ボクセルB22及びボクセルB23に比べて直感的な厚みが厚い。図12に示す厚み表現Riによれば、ボクセルモデル演算装置1によって算出された厚み情報Wiが示す体積的な厚みは、直感的な厚みと整合している。
【0053】
ボクセルモデルM2において、角の部分は、角以外の部分に比べて厚み情報Wiが示す体積的な厚みは薄くなる傾向がある。図12は、例えば、ボクセルB21の角E2は、ボクセルB21の角以外の部分に比べて明るい階調が与えられており、厚み情報Wiが示す体積的な厚みは薄い。角の部分について厚み情報Wiを補正する処理については、後述の第3の実施形態において取り扱う。
【0054】
[体積的な厚みの解析結果]
ここで図13及び図14を参照し、体積的な厚みの解析結果について説明する。
図13(a)、及び図14(a)では、体積的な厚みの解析の対象となる立体がそれぞれ1267個、7795個のポリゴンを用いて示されている。
図13(b)、及び図14(b)では、それぞれの立体についてのボクセルモデルの中立軸が示されている。ここで500万個のボクセルを用いて元の立体についてのボクセルモデルが生成されている。
図13(c)、及び図14(c)では、それぞれの立体についての体積的な厚みの解析結果が示されている。体積的な厚みの解析結果は、厚み表現Riが与えられたボクセルモデルとして示されている。
【0055】
以上に説明したように、本実施形態に係るボクセルモデル演算装置1は、取得部(本実施形態において、ボクセルモデル取得部12)と、距離算出部13と、厚み算出部14と、厚み提示部15とを備える。
取得部(本実施形態において、ボクセルモデル取得部12)は、立体T1がボクセルによって表現されたボクセルモデルM1を取得する。
距離算出部13は、取得部(本実施形態において、ボクセルモデル取得部12)が取得するボクセルモデルM1に含まれるボクセルについて、ボクセル中心と立体T1の表面との距離Diを算出する。
厚み算出部14は、各ボクセルについて、距離算出部13が算出する距離Diに基づく厚み情報Wiを算出する。
厚み提示部15は、厚み算出部14が算出する厚み情報Wiに基づいて、ボクセルモデルM1に厚み表現Riを与える。
【0056】
この構成により、本実施形態に係るボクセルモデル演算装置1では、立体の各部分についての厚みである体積的な厚みを算出できるため、立体の各部分についての厚みが直感的に理解できる。
【0057】
(第3の実施形態)
以下、図面を参照しながら本発明の第3の実施形態について詳しく説明する。
上記第2の実施形態では、ボクセルモデル演算装置による厚み表現提示処理では、ボクセルモデルにおいて角の部分は、角以外の部分に比べて厚み情報Wiが示す体積的な厚みは薄くなる傾向があった。本実施形態では、ボクセルモデル演算装置が、ボクセルモデルにおいて角の部分について厚み情報Wiを補正する場合について説明をする。
本実施形態に係るボクセルモデル演算装置をボクセルモデル演算装置1aという。
【0058】
[ボクセルモデル演算装置の構成]
図15は、本実施形態に係るボクセルモデル演算装置1aの構成の一例を示す図である。ボクセルモデル演算装置1は、立体データ取得部10と、ボクセルモデル生成部11と、ボクセルモデル取得部12と、距離算出部13と、厚み算出部14と、厚み提示部15と、厚み補正部16aとを備える。本実施形態に係るボクセルモデル演算装置1a(図15)と第2の実施形態に係るボクセルモデル演算装置1(図3)とを比較すると、厚み補正部16aが異なる。ここで、他の構成要素(立体データ取得部10、ボクセルモデル生成部11、ボクセルモデル取得部12、距離算出部13、厚み算出部14、及び厚み提示部15)が持つ機能は第2の実施形態と同じである。第2の実施形態と同じ機能の説明は省略し、第3の実施形態では、第2の実施形態と異なる部分を中心に説明する。
【0059】
厚み補正部16aは、ボクセルモデルM1に含まれる各ボクセルBiのうち、立体T1の表面付近のボクセルBiについての厚み情報Wiを補正する。
【0060】
[厚み表現提示処理]
次に図16を参照し、ボクセルモデル演算装置1aが立体T1について厚み表現を与えたボクセルモデルを提示する処理である厚み表現提示処理について説明する。図16は、本実施形態に係る厚み表現提示処理の一例を示す図である。
なお、ステップS110、ステップS120、ステップS130、ステップS140、ステップS150、ステップS170、及びステップS180の各処理は、図4におけるステップS10からステップS70までの各処理と同様であるため、説明を省略する。
【0061】
ステップS160:厚み補正部16aは、ボクセルモデルM1に含まれる各ボクセルBiのうち、立体T1の表面付近のボクセルBiについての厚み情報Wiを補正する。ここで厚み補正部16aは、ボクセルモデルM1に含まれる各ボクセルBiのうち、立体T1の表面付近のボクセルBjについての厚み情報Wjを、立体T1の表面上の点のうち当該ボクセルBjに最も近い点における内向きの法線方向の厚み情報Wiの当該ボクセルBjを始点とする変化について、当該変化の割合が所定の値以下となるボクセルBkの厚み情報Wkによって置き換える。当該変化の割合が所定の値以下となるボクセルBkは、以下に説明するように、厚み情報Wiが一定となるボクセルBk、または厚み情報Wiの極大値に対応するボクセルBkである。
【0062】
ここで図17から図21を参照し、表面付近のボクセルBiについての厚み情報Wiを補正する処理について説明する。図17及び図18にはそれぞれ、ボクセルモデルM3、ボクセルモデルM4が示されている。ボクセルモデルM3、ボクセルモデルM4ではそれぞれ、ボクセルBiの厚み情報Wiが示す体積的な厚みが、白から黒の明暗を示すグレースケールの階調によって示されている。ボクセルBiは、体積的な厚みが厚いほど、暗い階調によって示されている。
【0063】
図19は、ボクセルモデルM3の表面上の点p0を始点として法線ベクトルN0の方向に並んだボクセルBiについて、ボクセルBiの厚みと、当該ボクセルBiのボクセルモデルM3の表面からの距離との関係を示すグラフである。法線ベクトルN0は、ボクセルモデルM3の表面上の点p0における法線ベクトルであって、ボクセルモデルM3の内側を向く法線ベクトルである。
図19に示すように、点p0を始点とする法線ベクトルN0の方向に並んだボクセルBiの厚みは、表面からの距離について一定である。
【0064】
図20は、ボクセルモデルM3の表面上の点p1を始点として法線ベクトルN1の方向に並んだボクセルBiについて、ボクセルBiの厚みと、当該ボクセルBiのボクセルモデルM3の表面からの距離との関係を示すグラフである。法線ベクトルN1は、ボクセルモデルM3の表面上の点p1における法線ベクトルであって、ボクセルモデルM3の内側を向く法線ベクトルである。
【0065】
図20に示すように、点p1を始点とする法線ベクトルN1の方向に並んだボクセルBiの厚みは、表面からの距離について、図23に示す点p1から点q1まで単調に増加し、点q1以降は一定となる。したがって、点q1を含むボクセルは、厚み情報Wiが一定となる。当該ボクセルは、当該変化の割合が所定の値以下となるボクセルBkである。厚み補正部16aは、点p1を含むボクセルBjの厚み情報Wjを、点q1を含むボクセルの厚み情報Wkによって置き換える。
【0066】
図21は、ボクセルモデルM4の表面上の点p2を始点として法線ベクトルN2の方向に並んだボクセルBiについて、ボクセルBiの厚みと、当該ボクセルBiのボクセルモデルM4の表面からの距離との関係を示すグラフである。法線ベクトルN2は、ボクセルモデルM4の表面上の点p2における法線ベクトルであって、ボクセルモデルM4の内側を向く法線ベクトルである。
【0067】
図21に示すように、点p2を始点とする法線ベクトルN2の方向に並んだボクセルBiの厚みは、表面からの距離について、図18に示す点p2から点q2まで単調に増加し、点q2以降では単調に減少する。したがって、点q2を含むボクセルは、厚み情報Wiの極大値に対応するボクセルである。極大値の付近では、立体の表面からの距離の変化に対する厚み情報Wiの変化の割合は、略一定となっていると考えられるため、極大値に対応するボクセルは、当該変化の割合が所定の値以下となるボクセルBkである。厚み補正部16aは、点p2を含むボクセルBjの厚み情報Wjを、点q2を含むボクセルの厚み情報Wkによって置き換える。
【0068】
上述したように、本実施形態に係るボクセルモデル演算装置1aでは、立体T1の表面付近のボクセルBiについて厚み情報Wiを補正できるため、角など立体T1の表面付近を含めて立体の各部分についての厚みが直感的に理解できる。
【0069】
なお、上述した第2の実施形態、及び第3の実施形態においては、ボクセルモデル演算装置1は、ボクセルモデルM1に含まれるボクセルについて、ボクセル中心と立体T1の表面との距離を算出して、算出した距離に基づいて厚み情報Wiを算出する場合の一例について説明した。つまり、上述した第2の実施形態、及び第3の実施形態においては、ボクセルモデル演算装置1は、距離場に基づいて厚み情報Wiを算出する場合の一例について説明したが、これに限られない。ボクセルモデル演算装置1は、第1の実施形態において説明したステップ(1)からステップ(3)の処理に基づいて、厚み情報Wiを算出してもよい。
【0070】
またなお、上述した第2の実施形態、及び第3の実施形態においては、立体T1がボクセルモデルM1によって表現されて、体積的な厚みが解析される場合の一例について説明したが、これに限られない。立体T1がボクセルモデルM1によって表現されずに、立体T1を構成する各点について体積的な厚みが解析されてもよい。
【0071】
上述した各実施形態におけるボクセルモデル演算装置1の処理は、CADまたはCAMなどのソフトウェアに組み込まれて実行されることが好適である。これによって、CADまたはCAMなどのソフトウェアによって扱われる立体について、体積的な厚みの解析結果を表示させることができる。
【0072】
なお、上述した実施形態におけるボクセルモデル演算装置1の一部、例えば、ボクセルモデル取得部12、距離算出部13、厚み算出部14、及び厚み提示部15をコンピュータで実現するようにしてもよい。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ボクセルモデル演算装置1に内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
また、上述した実施形態におけるボクセルモデル演算装置1の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。ボクセルモデル演算装置1の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【0073】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【0074】
1、1a…ボクセルモデル演算装置、12…ボクセルモデル取得部、13…距離算出部、14…厚み算出部、15…厚み提示部、T1…立体、M1…ボクセルモデル、Di…距離、Wi…厚み情報、Ri…厚み表現
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21