JP4405822B2 - トリム内外判定装置およびその方法 - Google Patents
トリム内外判定装置およびその方法 Download PDFInfo
- Publication number
- JP4405822B2 JP4405822B2 JP2004035410A JP2004035410A JP4405822B2 JP 4405822 B2 JP4405822 B2 JP 4405822B2 JP 2004035410 A JP2004035410 A JP 2004035410A JP 2004035410 A JP2004035410 A JP 2004035410A JP 4405822 B2 JP4405822 B2 JP 4405822B2
- Authority
- JP
- Japan
- Prior art keywords
- intersection
- trim
- determination
- trim line
- line
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 59
- 238000012545 processing Methods 0.000 claims description 31
- 238000003860 storage Methods 0.000 claims description 12
- 238000009966 trimming Methods 0.000 claims description 5
- 230000010365 information processing Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims 2
- 238000004364 calculation method Methods 0.000 description 25
- 238000011960 computer-aided design Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 16
- 238000013461 design Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000004040 coloring Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000008961 swelling Effects 0.000 description 1
Images
Landscapes
- Image Generation (AREA)
Description
(1) 光線と曲面の交点計算 … 光線と曲面の交点を数値計算で求める。
(2) トリム内外判定 … 曲面はトリム面であり、トリム線に囲まれた内部の曲面に当たる光線についてのみ後述する着色計算を行い、トリム線の外部に当たる光線については計算を行わない。このため光線と計算対象の曲面の交点がトリム線の領域内にあるか否かを判定する。
(3) 着色計算 … 太陽や空からの光、地面からの照り返し等によって照らされた物体の色を計算する。
本発明は、予めCADシステムにて用意されているトリム線を利用してトリム内外判定を高速に行うが、その第一段階の処理として、UVトリム線データを基に、外接矩形データ、トリビアルインアウトボックス(Trivial In/Out Box)データ、バウンディングボックス(Bounding Box)データの三つの補助データを作成する。そして第二段階の処理として、この補助データを使用して次に示す方法でトリム内外判定を行うことで、ニュートン法による交点計算回数を減少させる。
図1は三次元空間における曲面とトリム線の一例を示す図である。図1に示すように、曲面101上にあるトリム線112によって面の有効領域が定義される。コンピュータグラフィクスでレイトレース処理を行う場合、光線(レイ)103と曲面101が交わる点(交点R)を計算した後、その交点Rがトリム線112の領域内にあるか否かをトリム内外判定で判定する。
Q(x, y, z) = Q(u) = Σi=0 NBi,N(u)・Pi …(1)
ここで、uはパラメタ
Nは曲線の次数
Pi(Px, Py, Pz) (i = 0-N)は曲線の制御点
Bi,Nはバーンシュタイン(Bernstein)の基底関数
Bi,N = NCi(1 - u)N-iui …(2)
ここで、NCi = N!/{(N-i)!i!}
図4はトリム内外判定システムの構成例を示すブロック図である。
次に、自由曲面のトリム内外判定の処理のための前処理である第一段階の処理を詳細に説明する。第一段階の処理は、外接矩形、バウンディングボックス、トリビアルインアウトボックスを作成する。なお、外接矩形は、UVトリム線全体を囲む矩形である。バウンディングボックスは、UVトリム線のセグメントを囲む矩形である。トリビアルインアウトボックスは、スキャンライン線(後述)とその近傍の近似点列で形成される矩形である。
CADシステム6により、三次元空間(x, y, z)上の制御点の集合である、処理対象の曲面とトリム線のデータがCADデータとして生成され、CADデータは外部記憶装置3に保存されている。判定サーバ2は、外部記憶装置3に保存されたCADデータ(曲面とトリム線のデータ)を読み込む。
読み込んだ三次元空間(x, y, z)の制御点のデータをUV平面のデータへ変換する。この処理により、三次元空間はUV平面に、三次元トリム線はUVトリム線(以降、単に「トリム線」という場合がある)に変換される。
トリム線102のセグメントごとに、次の三つの条件C1-C3を満たす近似点列(例えば、図6に示すPn、Pn+1)を発生する。
条件C1:近似点は必ずUVトリム線上にある。
条件C2:隣接する近似点間の線分上の中点と、UVトリム線上のパラメタ中点
との距離を、予め定めた公差(例えば1/1000)以下にする。
条件C3:近似点間の距離の最大値を制御点間の最小距離の1/2に設定する。
すなわち近似点間の距離は最小制御点間の距離の1/2以下になる。
近似点列より、セグメントごとにセグメントを囲むバウンディングボックスを計算する(図6参照)。
近似点列より、トリム線102の全体を囲む外接矩形104を計算する(図7参照)。
近似点列より、U方向、V方向それぞれの方向について、セグメントの極大点、極小点を調べ、すべてのセグメントに含まれる極大点、極小点の少ない方向(UまたはV)を求めた後、この方向で極大点、極小点を基にセグメントを分割する。この極大点、極小点の少ない方向を探索線の向きにする。
(ui+1 - ui)×(ui - ui-1) ≦ 0(U方向の極大点・極小点の場合)
(vi+1 - vi)×(vi - vi-1) ≦ 0(V方向の極小点・極小点の場合) …(3)
┌ ┐ ┌ ┐
│u(t)│ │ui│
│ │= ΣPi・Bi,N(t) = Σ│ │・Bi,N(t) …(4)
│v(t)│ │vi│
└ ┘ └ ┘
ここで、Piは制御点(i=0からN)
Bi,Nはバーンシュタインの基底関数
Σ演算はi=0からNまで
F(t) = du(t)/dt = d/dt{ΣPi・Bi,N(t)} = Σui・B'i,N(t) = 0(U方向の場合)
F(t) = dv(t)/dt = d/dt{ΣPi・Bi,N(t)} = Σvi・B'i,N(t) = 0(V方向の場合) …(5)
ここで、Σ演算はi=0からNまで
tk+1 = tk - F(tk)/F'(tk)
= tk - Σui・B'i,N(tk)/{Σui・B"i,N(tk)}(U方向の場合) …(6)
ここで、Σ演算はi=0からNまで
dt = - Σui・B'i,N(tk)/{Σui・B"i,N(tk)}(U方向の場合) …(7)
ここで、Σ演算はi=0からNまで
分割後の各セグメントについて、ステップS30、S40と同様の処理を行い、分割後の各セグメントにおける近似点列を発生して、セグメントを囲むバウンディングボックスを求める。
探索線の方向とは異なる(UまたはV)方向に外接矩形104をN等分する。図9は外接矩形104をV方向に十等分する例である。この場合、スキャンラインの方向はV方向であるといい、等分線105をスキャンライン線、等分した矩形106をスキャンラインと呼ぶ。そして、判定サーバ2は、スキャンライン線105と交わるバウンディングボックスについて、次の値を外部記憶装置3または内部メモリに保存する。
(1) バウンディングボックスの識別記号
(2) スキャンライン線105とトリム線102の交点に最も近い二つの近似点
の識別記号(例えば図6の近似点Pn、Pn+1)
図10は、ステップS80で保存した、スキャンライン線105と交わるバウンティングボックスの情報を基に作成される、交点で挟まれた矩形領域であるトリビアルインアウトボックス(以降「トリビアルボックス」と呼ぶ場合がある)の一例を示す図で、●印はトリム線102とスキャンライン線105との交点位置を示す。
図11はトリム線の膨らみに対する補正を説明する図である。つまり、図11(a)に示すように、トリム線102に膨らみがある場合、トリム線102とトリビアルボックスが交わることがある。これを避けるため、ステップS80で保存したバウンディングボックスの識別記号およびスキャンライン内の近似点列の位置情報を利用して、図11(a)に示す交点位置Aから交点位置Bまで点列を辿って、図11(b)に示すように、近似点Cを含まないようにトリビアルボックスを縮小する。
図12に示すトリム線102aのように、完全にスキャンラインに含まれるトリム線が存在する。また、近似点列はトリビアルボックスに含まれなくても、トリム線102としてみた場合、トリビアルボックスと交差するトリム線が存在する。これらの場合、後述するトリビアルボックスによる内外判定が無効になるので、この段階で、このような特定のトリビアルボックスを削除する必要がある。そこで、近時点列の隣接する二点が形成する線分と、トリビアルボックスとが交わらないか否かを判定し、交わる場合はそのトリビアルボックスを削除する。
外接矩形104、バウンディングボックス、トリビアルボックスなどの各データを外部記憶装置3に中間ファイルとして保存する。
上記の第一段階の処理がCADデータの基底面の数だけ繰り返され、各トリム線に対応付けられた外接矩形104、バウンディングボックス、トリビアルボックスなどのデータが中間ファイルとして保存される。詳細は後述するが、レイトレース処理は、視点や観察方向などの条件に応じて何度も実行する必要がありるが、その際、判定サーバ2は、中間ファイルを使用して(言い換えれば第一の処理を行わずに)、交点Rがトリム線102の領域内にあるか否かを判定する第二段階の処理を繰り返し実行することができる。
まず、中間ファイルから、UV平面で表した曲面とトリム線102のデータを読み込む(図13A-13C参照)。
次に、ステップS50で作成し、中間ファイルに保存したトリム線102を囲む外接矩形104のデータ(図13C参照)によるトリム内外判定を行う。
次に、ステップS90、S100で作成し、中間ファイルに保存したトリビアルボックスのデータ(図13C参照)を使用してトリム内外判定を行う。スキャンライン内は、トリビアルインボックス、トリビアルアウトボックス、不定の三つの領域(図10参照)に区分されているが、交点Rがトリビアルインボックス内にあれば内側、トリビアルアウトボックス内にあれば外側と判定する。そして、不定の領域にある交点Rについては、以降のステップで判定する。
次に、ステップS40、S70で作成し、中間ファイルに保存したバウンディングボックスのデータ(図13A-13C参照)を使用してトリム内外判定を行う。
交点Rがその内部にあるバウンディングボックス(ニ)の場合、ニュートン法による交点計算を行い、ステップS240で記憶した交差回数と合計し、その結果の偶数奇数によりトリム内外判定を行う。判定サーバ102によるニュートン法の交点計算は次のようになる。
┌ ┐ ┌ ┐
│u(t)│ │ui│
│ │= ΣPi・Bi,N(t) = Σ│ │・Bi,N(t) …(8)
│v(t)│ │vi│
└ ┘ └ ┘
ここで、tはベジェ曲線のパラメタ
Piは制御点(i=0からN)
(u(t), v(t))はベジエ曲線上の点
Bi,Nはバーンシュタインの基底関数
Σ演算はi=0からNまで
F(t) = Σui・B'i,N(t) - uA = 0 …(9)
ここで、Σ演算はi=0からNまで
tk+1 = tk - F(tk)/F'(tk)
= tk - {Σui・Bi,N(tk) - uA}/{Σui・B'i,N(tk)}
= tk - (U・B - uA)/(U・B') …(10)
ここで、Σ演算はi=0からNまで
U = {u0, u1, u2, …, uN}
B = {B0,N(tk), B1,N(tk), …, BN,N(tk)}
B' = {B'0,N(tk), B'1,N(tk), …, B'N,N(tk)}
dt = (uA - U・B)/(U・B') …(11)
判定サーバ102は、トリム内外判定の結果を外部記憶装置103に保存する。
次に、上述したトリム内外判定を含むレイトレース処理を説明する。図16はレイトレース処理の概要を示すフローチャートで、例えば図4に示すCADシステム6や端末5などが実行する処理である。勿論、判定サーバ102に実行させてもよい。
U値:3.526143e-01
V値:2.325176e-02
Claims (6)
- 情報処理装置を用いて、レイトレース処理におけるトリム内外判定を行う判定方法であって、
トリム線データを含むCADデータを入力する入力ステップと、
前記トリム線データを基に、トリム線を囲む外接矩形のデータ、前記外接矩形を所定方向にN(整数)等分した矩形領域を前記トリム線と交わらないように前記所定方向に直交する方向に分割したトリビアルインボックスとトリビアルアウトボックスのデータ、並びに、前記トリム線のセグメントを包含する矩形であるバウンディングボックスのデータを含む判定用の補助データを作成する作成ステップと、
前記補助データを使用して、面と光線の交点が前記トリム線の領域の内か外かを判定する判定ステップとを有し、前記判定ステップは、
前記交点が前記外接矩形の外にあれば前記トリム線の領域の外と判定する第一の判定ステップと、
前記第一の判定ステップで判定できない前記交点について、前記トリビアルインボックス内にあれば前記トリム線の領域の内と判定し、前記トリビアルアウトボックス内にあれば前記トリム線の領域の外と判定する第二の判定ステップと、
前記第二の判定ステップで判定できない前記交点について、前記交点から前記所定方向に直交する方向に引き出した探索線と前記交点を含まない前記バウンディングボックスの交差回数を数え、前記交点を含む前記バウンディングボックスについてはニュートン法により前記探索線と前記トリム線の交差回数を計算して、前記交差回数の合計が奇数であれば前記トリム線の領域の内と判定し、前記交差回数の合計が偶数であれば前記トリム線の領域の外と判定する第三の判定ステップとを有することを特徴とする判定方法。 - さらに、前記補助データをメモリに保存する保存ステップを有し、前記判定ステップは、前記メモリに保存された補助データを使用して、前記判定を繰り返し実行可能であることを特徴とする請求項1に記載された判定方法。
- トリム線データを含むCADデータを入力する入力手段と、
前記トリム線データを基に、トリム線を囲む外接矩形のデータ、前記外接矩形を所定方向にN(整数)等分した矩形領域を前記トリム線と交わらないように前記所定方向に直交する方向に分割したトリビアルインボックスとトリビアルアウトボックスのデータ、並びに、前記トリム線のセグメントを包含する矩形であるバウンディングボックスのデータを含む判定用の補助データを作成する作成手段と、
前記補助データを使用して、面と光線の交点が前記トリム線の領域の内か外かを判定する判定手段とを有し、前記判定手段は、
前記交点が前記外接矩形の外にあれば前記トリム線の領域の外と判定する第一の判定手段と、
前記第一の判定手段が判定できない前記交点について、前記トリビアルインボックス内にあれば前記トリム線の領域の内と判定し、前記トリビアルアウトボックス内にあれば前記トリム線の領域の外と判定する第二の判定手段と、
前記第二の判定手段が判定できない前記交点について、前記交点から前記所定方向に直交する方向に引き出した探索線と前記交点を含まない前記バウンディングボックスの交差回数を数え、前記交点を含む前記バウンディングボックスについてはニュートン法により前記探索線と前記トリム線の交差回数を計算して、前記交差回数の合計が奇数であれば前記トリム線の領域の内と判定し、前記交差回数の合計が偶数であれば前記トリム線の領域の外と判定する第三の判定手段とを有することを特徴とするトリム内外判定装置。 - さらに、前記補助データを保存するメモリを有し、前記判定手段は、前記メモリに保存された補助データを使用して、前記判定を繰り返し実行可能であることを特徴とする請求項3に記載された判定装置。
- 情報処理装置を制御して、請求項1または請求項2に記載されたトリム内外判定を実行することを特徴とするコンピュータプログラム。
- 請求項5に記載されたコンピュータプログラムが記録されたことを特徴とするコンピュータが読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004035410A JP4405822B2 (ja) | 2004-02-12 | 2004-02-12 | トリム内外判定装置およびその方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004035410A JP4405822B2 (ja) | 2004-02-12 | 2004-02-12 | トリム内外判定装置およびその方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005227992A JP2005227992A (ja) | 2005-08-25 |
JP2005227992A5 JP2005227992A5 (ja) | 2006-11-16 |
JP4405822B2 true JP4405822B2 (ja) | 2010-01-27 |
Family
ID=35002670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004035410A Expired - Fee Related JP4405822B2 (ja) | 2004-02-12 | 2004-02-12 | トリム内外判定装置およびその方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4405822B2 (ja) |
-
2004
- 2004-02-12 JP JP2004035410A patent/JP4405822B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005227992A (ja) | 2005-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5890105B2 (ja) | 平行測地線によってモデリングされるパーツの設計 | |
JP3962361B2 (ja) | 位相判断装置、分解可能形状生成装置、構造メッシュ生成装置、位相判断方法、分解可能形状生成方法、および該位相判断方法を実行させるためのコンピュータ実行可能なプログラム、分解可能形状生成方法を実行させるためのコンピュータ実行可能なプログラム並びに構造メッシュ生成システム | |
US12045549B2 (en) | Hybrid measurement and simulation based distortion compensation system for additive manufacturing processes | |
US8384716B2 (en) | Image processing method | |
Chan et al. | Volumetric parametrization from a level set boundary representation with PHT-splines | |
US9704293B2 (en) | Finite element mesh customisation | |
US20040090437A1 (en) | Curved surface image processing apparatus and curved surface image processing method | |
US10796497B2 (en) | Distance field coupled fitted deformation lattices for shape modification | |
JP2013507679A (ja) | 三次元物体モデルの3dプリントが可能な方法及びシステム | |
JP2015024631A (ja) | スライスデータ作成装置、スライスデータ作成方法、プログラムおよびコンピューター読み取り可能な記録媒体 | |
JP2016157429A (ja) | 細分割曲面上における2d画像のエングレービング | |
Ma et al. | B-spline surface local updating with unorganized points | |
JPWO2005066852A1 (ja) | 三次元cadデータの近似および表示方法、その方法を実行するシステム | |
CN110766783A (zh) | 一种零件的三维建模方法 | |
US10845779B2 (en) | Designing an outer surface of a composite part | |
US7388584B2 (en) | Method and program for determining insides and outsides of boundaries | |
CN110532670B (zh) | 一种适分析样条实体模型构建方法及系统 | |
JP4405822B2 (ja) | トリム内外判定装置およびその方法 | |
US20190251218A1 (en) | System and Method for Performing Isogeometric Analysis and Finite Element Analysis Using H-Splines | |
Adhikary et al. | A slice-based algorithm for automatic and feature-preserving hole-filling in a CAD mesh model | |
JP2002207777A (ja) | 中立面モデルの生成方法 | |
CN113496468A (zh) | 深度图像的修复方法、装置和存储介质 | |
Bashir et al. | Geometric analysis of non-degenerate shifted-knots Bézier surfaces in Minkowski space | |
CN117893655B (zh) | 一种提升裁剪点搜索速度和gpu速度的方法 | |
JP4949440B2 (ja) | 図面作成支援装置、図面作成支援方法、図面作成支援プログラム、記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060926 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060926 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090810 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090824 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090911 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20091013 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091105 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121113 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4405822 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131113 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |