JP4133727B2 - Graphic data conversion method and program, and data structure - Google Patents
Graphic data conversion method and program, and data structure Download PDFInfo
- Publication number
- JP4133727B2 JP4133727B2 JP2003355371A JP2003355371A JP4133727B2 JP 4133727 B2 JP4133727 B2 JP 4133727B2 JP 2003355371 A JP2003355371 A JP 2003355371A JP 2003355371 A JP2003355371 A JP 2003355371A JP 4133727 B2 JP4133727 B2 JP 4133727B2
- Authority
- JP
- Japan
- Prior art keywords
- patch
- bezier
- quadrilateral
- segment
- curve
- 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
Images
Landscapes
- Processing Or Creating Images (AREA)
Description
本発明は、CAD(Computer Aided Design)データの変換技術に関する。 The present invention relates to a CAD (Computer Aided Design) data conversion technique.
CADシステムにおいて立体を表現するためのモデルには、ワイヤフレームモデル、サーフェースモデル、ソリッドモデルなどがあるが、現在ソリッドモデルが主流となっている。このソリッドモデリングでは、例えば日本特許第3087497号公報記載のように、内部に複雑な許容差の体系が規定されており、特定のソリッドモデラにおけるデータを他のソリッドモデラ用に変換してもそのままでは処理を継続できない場合が多い。図1を用いてこの原因を単純化して説明する。理想的には、面分1000と面分1003と当該面分1000と面分1003との境界(交線)を表す稜線1001とは接続されているべきであるが、面分1000及び1003並びに稜線1001の表現形式などのため、実際には図1に示すようにそれぞれの間に乖離が生じる場合が多い。但し、その乖離の大きさε1とε2とが、特定のCADシステムAにおいて予め定められている許容差の範囲内であれば、当該特定のCADシステムAでは面分1000及び1003並びに稜線1001は接続されているものと判断され、各種図形演算を実施することができる。また、当該特定のCADシステムAのデータを他のCADシステムX用のデータに変換することも可能である。しかしながら、他のCADシステムXにおいて規定されている許容差が、特定のCADシステムAにおける許容差より小さい場合、当該他のCADシステムXにおいては乖離の大きさε1とε2では許容差を超えてしまって、面分1000及び1003並びに稜線1001が接続しないということになる場合が生じてしまう。すなわち、図形演算においてエラーが発生してしまい、処理を継続することができなくなってしまう。なお、特定のCADシステムAから上記他のCADシステムXへのデータの変換自体が行えないという場合もある。
There are a wire frame model, a surface model, a solid model, and the like as models for expressing a solid in the CAD system, but the solid model is currently mainstream. In this solid modeling, for example, a complicated tolerance system is defined inside as described in Japanese Patent No. 3087497, and even if data in a specific solid modeler is converted to another solid modeler, it remains as it is. In many cases, processing cannot be continued. This cause will be described in a simplified manner with reference to FIG. Ideally, the
これに対して面分や稜線を構成するパッチ又はセグメントを細分化して上記のような乖離を小さくするという技術が存在しているが、全ての場合に対処することができず、またデータ量が増加するという問題がある。
以上述べたように、従来においては、特定のCADシステムのCADデータを他のCADシステムにおいて処理する場合には不都合が生じていた。また、同一のCADシステム内における図形演算においても、場合によっては乖離が大きくなってしまい、処理の継続が不可能になる場合がある。 As described above, conventionally, there has been a problem when processing CAD data of a specific CAD system in another CAD system. Also, even in graphic operations within the same CAD system, the divergence may increase in some cases, making it impossible to continue processing.
従って、本発明の目的は、CADデータを後に行う図形演算において適切に処理できるようにするための技術を提供するものである。 Accordingly, an object of the present invention is to provide a technique for enabling CAD data to be appropriately processed in a graphic operation performed later.
本発明の第1の態様に係る図形データ変換処理方法は、ベジエ系複合曲面(接続点である制御点(以下接続制御点とする)と接続点ではない内部制御点の集合を用いて表現するパッチからなる、例えばベジエ複合曲面や有理ベジエ複合曲面などの曲面)を、特定のセグメントにより構成されるベジエ系複合曲線(例えばベジエ複合曲線や有理ベジエ複合曲線などの曲線により得られる稜線)によりトリムすることにより得られる面分のうち当該ベジエ系複合曲線によりトリムされることのない基底パッチを特定し、当該基底パッチのデータを図形データ格納部に格納するステップと、上記ベジエ系複合曲面のうちベジエ系複合曲線によりトリムされるパッチのうち上記面分に含まれる部分を、基底パッチから決定されるパラメタ一定線を用いて所定のルールに従い四辺形パッチ及び三角形パッチに分割する分割ステップと、四辺形パッチ及び三角形パッチの頂点のうち上記面分の境界となる頂点を上記ベジエ系複合曲線上の対応する点に、三角形パッチの辺のうち上記面分の境界となる辺を上記ベジエ系複合曲線の対応する部分に移動させ、移動処理後の四辺形パッチ及び三角形パッチのデータを図形データ格納部に格納する移動ステップとを含む。 The graphic data conversion processing method according to the first aspect of the present invention is expressed by using a set of Bezier composite curved surfaces (control points that are connection points (hereinafter referred to as connection control points) and internal control points that are not connection points. Trimming patches, such as curved surfaces such as Bézier compound surfaces and rational Bézier compound curves, with Bézier compound curves (for example, ridge lines obtained by curves such as Bézier compound curves and rational Bezier compound curves) composed of specific segments Identifying a base patch that is not trimmed by the Bezier composite curve among the surface segments obtained by storing the base patch data in the graphic data storage unit, and of the Bezier composite curved surface Of the patch trimmed by the Bezier compound curve, the part included in the above-mentioned surface segment is used with a constant parameter line determined from the base patch. A division step for dividing the patch into a quadrangular patch and a triangular patch according to a predetermined rule, and a vertex that is a boundary of the face segment among the vertices of the quadrangular patch and the triangular patch is set to a corresponding point on the Bezier composite curve. Moving the side that is the boundary of the face portion to the corresponding part of the Bezier compound curve, and storing the data of the quadrilateral patch and the triangular patch after the movement processing in the graphic data storage unit. Including.
このようにベジエ系複合曲面のうちベジエ系複合曲線である稜線によりトリムされるパッチのうち上記面分に含まれる部分を四辺形パッチ及び三角形パッチに分割し、当該四辺形及び三角形パッチの頂点及び三角形パッチの辺を、上記ベジエ系複合曲線上に移動させることにより、少なくともC0連続性を保証することができる。従って、異なるCADシステム間に許容差の大小が存在することによってデータ交換がうまくいかなくなるという事態を回避することができる。なお、このようにパッチを細分化することは、ベジエ系複合曲面のようにテンソル積型の複合曲面の場合には数学的に正確に実施することができ、本発明ではこの性質を利用している。また、接続点の位置制御を行うのに適しているためベジエ系複合曲面及びベジエ系複合曲線を用いている。 In this way, the portion included in the above-mentioned surface portion of the patch to be trimmed by the ridge line which is a Bezier composite curve among the Bezier composite curved surface is divided into a quadrangular patch and a triangular patch, and the vertex of the quadrilateral and the triangular patch and At least C 0 continuity can be guaranteed by moving the sides of the triangular patch onto the above-mentioned Bezier system composite curve. Therefore, it is possible to avoid a situation in which data exchange is not successful due to the presence or absence of tolerance between different CAD systems. It should be noted that subdividing patches in this way can be carried out mathematically and accurately in the case of a tensor product type compound curved surface such as a Bezier type compound curved surface, and the present invention utilizes this property. Yes. In addition, since it is suitable for controlling the position of the connection point, a Bezier composite curved surface and a Bezier composite curve are used.
また分割ステップにおいて、上記ベジエ系複合曲線のセグメント接続点に対応する上記面分上の点のパラメタ値から得られるパラメタ一定線をさらに用いて分割を行うようにしてもよい。このように上記ベジエ系複合曲線のセグメント接続点に対応する上記面分上の点のパラメタ値から得られるパラメタ一定線を用いて分割を実施することにより、生成される三角形パッチ又は四辺形パッチの頂点又は辺と稜線に、移動ステップを行った際に別の乖離が生じるのを回避することができる。 Further, in the dividing step, the dividing may be performed by further using a constant parameter line obtained from the parameter values of the points on the surface corresponding to the segment connection points of the Bezier composite curve. In this way, by performing division using the parameter constant line obtained from the parameter value of the point on the surface corresponding to the segment connection point of the Bezier compound curve, the triangle patch or quadrilateral patch generated is generated. It is possible to avoid another divergence from occurring when the moving step is performed on the vertex or side and the ridgeline.
さらに、移動ステップが、四辺形パッチ及び三角形パッチの頂点のうち上記面分の境界となる頂点に対応する上記ベジエ系複合曲線上の点で、当該ベジエ系複合曲線をさらに分割するステップを含むようにしてもよい。このようにすると三角形パッチの斜辺(面分の境界となる辺)に稜線の特定のセグメントが対応するようになり、後の管理や処理が簡単になる。ベジエ系複合曲線もテンソル積型の複合曲線であるため、いずれの点において分割しても、数学的に正確に分割でき、問題は生じない。 Further, the moving step includes a step of further dividing the Bezier composite curve at a point on the Bezier composite curve corresponding to the vertex that is the boundary of the face portion among the vertices of the quadrilateral patch and the triangle patch. Also good. In this way, a specific segment of the ridge line corresponds to the hypotenuse (side that becomes the boundary of the surface segment) of the triangular patch, and subsequent management and processing becomes easy. Since the Bezier type composite curve is also a tensor product type composite curve, even if it is divided at any point, it can be mathematically accurately divided and no problem occurs.
本発明の第2の態様に係るデータ構造は、特定のセグメントにより構成されるベジエ系複合曲線(稜線)により、ベジエ系複合曲面をトリムすることにより得られる面分を表すデータ構造であって、当該面分のうち上記ベジエ系複合曲線によりトリムされることのない基底パッチ群についてのデータ構造であって、各基底パッチを特定するためのデータを含み、基底パッチ群を管理するためのデータ構造と、ベジエ系複合曲面のうち上記ベジエ系複合曲線によりトリムされるパッチのうち面分に含まれる部分を基底パッチから決定されるパラメタ一定線を用い且つ所定のルールに従って分割することにより得られる四辺形パッチ群及び三角形パッチ群についてのデータ構造であって、各四辺形パッチと各三角形パッチとを特定するためのデータを含み、四辺形パッチ群を管理するためのデータ構造と三角形パッチ群を管理するためのデータ構造とを含むデータ構造とを含むものである。 The data structure according to the second aspect of the present invention is a data structure representing a surface segment obtained by trimming a Bezier compound curved surface by a Bezier compound curve (ridge line) constituted by a specific segment, A data structure for a base patch group that is not trimmed by the Bezier composite curve among the surface segments, including data for specifying each base patch, and a data structure for managing the base patch group And the four sides obtained by dividing the portion included in the surface portion of the patch trimmed by the above-mentioned Bezier composite curve among the Bezier composite curved surface using a constant parameter line determined from the base patch and according to a predetermined rule A data structure for a shape patch group and a triangle patch group, which is a data structure for specifying each quadrilateral patch and each triangle patch. Include is intended to include a data structure and a data structure for managing a data structure and a triangle patch group to manage the quadrilateral patch group.
このようなデータ構造を保持することにより、いずれのCADシステムにおいても図形演算を適切な形で継続することができるようになる。 By maintaining such a data structure, it is possible to continue graphic operations in an appropriate form in any CAD system.
本発明の方法は、上記方法をコンピュータに実行させるためのプログラムを作成することができ、このプログラム及び上記データ構造は、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークなどを介してデジタル信号として配信される場合もある。尚、中間的な処理結果はメモリ等の記憶装置に一時保管される。 The method of the present invention can create a program for causing a computer to execute the method, and the program and the data structure are stored in, for example, a flexible disk, a CD-ROM, a magneto-optical disk, a semiconductor memory, a hard disk or the like. Stored in a medium or storage device. Moreover, it may be distributed as a digital signal via a network or the like. The intermediate processing result is temporarily stored in a storage device such as a memory.
本発明によれば、CADデータを後に行う図形演算において適切に処理できるようになる。 According to the present invention, CAD data can be appropriately processed in a graphic operation performed later.
図2に本発明の一実施の形態に係る機能ブロック図を示す。CAD−Aシステム1は、従来から存在している特定のCADシステムであり、CAD−Aシステム1において生成された図形の幾何データなどは、CAD−Aデータ格納部3に格納される。このCAD−Aデータ格納部3に格納されるデータを、他のCADシステムにおいても問題なく図形演算できるように変換するために、フォーマット変換部5と、Bスプライン(B-spline)系CADデータ格納部7と、基底図形変換部9と、ベジエ系CADデータ格納部11と、混成パッチ変換部13と、混成パッチ格納部15と、基底パッチ変換部17とを用いる。
FIG. 2 shows a functional block diagram according to an embodiment of the present invention. The CAD-
フォーマット変換部5は、幾何フォーマットの変換、位相フォーマットの変換、属性フォーマットの変換などを実施する。幾何フォーマットの変換においては、場合によっては近似となる場合もあるが、曲線及び曲面の基底図形の表現形式(Canon)を変換する。ここでは、CAD−Aシステム1用の幾何データを、Bスプライン系又はベジエ系に変換する。CAD−Aシステム1用の幾何データが、既にBスプライン系又はベジエ系で表されている場合には、幾何フォーマットの変換は不要である。なお、Bスプライン系には、BスプラインやNURBS(Non Uniform Rational B-Spline)が含まれ、パッチやセグメント間の連続性の制御に便利な表現形式である。また、ベジエ系には、ベジエや有理ベジエが含まれ、接続制御点を曲線や曲面が通過するので、パッチやセグメントの接続点の位置制御に便利な表現形式である。なお、位相フォーマットの変換においては、頂点、稜線、面分の表現形式を変換する。例えば、ウイングドエッジ、ハーフエッジ、ラジアルエッジという表現形式が存在しているが、本実施の形態の主旨ではないのでいずれの表現形式に変換するようにしても良い。位相フォーマットの変換についても変換先と同じ表現形式をCAD−Aシステム1においても用いていれば、実施する必要はない。属性フォーマットの変換においては、システム固有の属性値を変換するものであるが、これについても本実施の形態の主旨ではないので、予め決定した所定の表現形式に変換するものとする。属性値については必ずしも完全に変換することができるデータではない。フォーマット変換部5が、幾何フォーマット変換においてBスプライン系に変換した場合には、変換後のデータをBスプライン系CADデータ格納部7に格納する。一方、ベジエ系に変換した場合には、変換後のデータをベジエ系CADデータ格納部11に格納する。
The format conversion unit 5 performs geometric format conversion, phase format conversion, attribute format conversion, and the like. In the conversion of the geometric format, although it may be an approximation in some cases, the representation format (Canon) of the base figure of the curve and the curved surface is converted. Here, the geometric data for the CAD-
基底図形変換部9は、Bスプライン系CADデータ格納部7に格納されているBスプライン系の幾何データを、ベジエ系の幾何データに変換する処理を実施し、変換後のデータをベジエ系CADデータ格納部11に格納する。Bスプライン系の幾何データをベジエ系の幾何データに変換する処理は周知であり、ここでは詳細を述べない。なお、この基底図形の変換は近似ではなく正確に行うことができる。上でも述べたが、フォーマット変換部5により初めからベジエ系の幾何データが生成されている場合には、基底図形変換部9により処理を実施する必要はない。
The base graphic conversion unit 9 performs processing for converting the B-spline geometric data stored in the B-spline CAD data storage unit 7 into Bezier geometric data, and converts the converted data into Bezier CAD data. Store in the
混成パッチ変換部13は、以下で詳細に述べる処理を実施することにより、三角形パッチ及び四辺形パッチからなる混成パッチのデータを生成し、当該混成パッチのデータを混成パッチ格納部15に格納する。
The hybrid
図形演算部19は、混成パッチ格納部15に格納されたデータに対して、例えば面分の切り取り、ブーリアン(集合演算)、フィレットといった図形演算を実施する。これらの図形演算の内部では、面分の切断が行われ、新たな面分が生成されるが、この時基底曲面と稜線の曲線間の乖離などが従来では問題となっていたが、本実施の形態に係る混成パッチを生成することにより、このような図形演算において問題が発生することがなくなる。従って、図形演算の種類はこれらに限定されるものではなく、他の図形演算も実施される。
The
また、基底パッチ変換部17は、混成パッチ格納部15に格納されているデータとベジエ系CADデータ格納部11に格納されているデータから、ベジエ系の幾何データを生成し、ベジエ系CADデータ格納部11に格納する。すなわち、前記の図形演算を行う前の基底曲面をそのまま使用しても良いし、必要なだけ切り取って使用しても良い。フィレットの場合は全て四辺形パッチで表現された曲面が生成されるので、そのまま格納すればよい。
The base
さらに、フォーマット変換部5及び基底図形変換部9については、上で述べた変換方向とは逆方向の変換も実施する。すなわち、基底パッチ変換部17と組み合わせることにより、混成パッチ格納部15に格納され且つ図形演算部19によって処理されたデータを、CAD−Aシステム1で適切に利用できるようになる。但し、必ずしも再度CAD−Aシステム1にデータを戻す必要はないので、基底パッチ変換部17、基底図形変換部9、フォーマット変換部5の流れの処理は行われない場合もある。
Further, the format conversion unit 5 and the base graphic conversion unit 9 also perform conversion in the direction opposite to the conversion direction described above. That is, by combining with the base
次に、混成パッチ変換部13の処理内容について図3乃至図14を用いて説明する。最初に、ベジエ系CADデータ格納部11に格納されたデータを読み出す。例えば図4に示すように、ベジエ系複合曲線である稜線を構成するセグメント101乃至103を用いて、ベジエ系複合曲面200(基底曲面)をトリムすることにより面分150が構成される場合を考える。なお、ベジエ系複合曲面及びベジエ系複合曲線は、テンソル積型の複合曲面及び複合曲線である。この複合曲面の「複合」は、パッチが複数連結して存在することを表す。また「テンソル積」は多重線形空間であることを表す。すなわちベジエ系複合曲面200は、図4に示されている部分において、四辺形のパッチA乃至Kで構成されている。パッチA乃至Kの各々は、他のパッチと接続する接続制御点と内部制御点とにより規定される。点線110乃至114は、ベジエ系複合曲面200に対するパラメタ空間において(U,V)で表されるパラメタのUの値が一定であるパラメタ一定線を表しており、点線115乃至118は、Vの値が一定であるパラメタ一定線を表している。接続制御点は、点線110乃至118上に存在している。また、パッチA乃至Kで分かるように、パッチは規則的に並んでおり、またパラメタ空間(U,V)において、パラメタ値U及びVは図4に示した方向に単調に増加するものとする。
Next, processing contents of the hybrid
なお、セグメント101とセグメント102は、頂点104付近に端点が存在しているが、ここでは接続されていないものとする。また、セグメント102とセグメント103とはセグメント接続点105にて接続されている。稜線には、図4の右から左にループ方向が規定されている。なお、セグメント101乃至103及び頂点104は、ベジエ系複合曲面200上には存在しておらず、乖離が生じているものとする。
The
図3の説明に戻って、混成パッチ変換部13は、ベジエ系CADデータ格納部11から読み出されたデータに基づき、稜線を構成するセグメント101乃至103によりトリムされることのないパッチである基底パッチを特定し、当該基底パッチのデータを混成パッチ格納部15に格納する(ステップS1)。図4の例では、セグメント101乃至103にトリムされないパッチ(基底パッチ)は、パッチI,パッチH,パッチN,パッチH,パッチM及びパッチLである。なお、パッチEは面分150に含まれないのでここでは取り扱わない。このような基底パッチのデータは、図5(a)に示すように混成パッチ格納部15内の基底パッチ・データ格納部に格納される。図5(a)の例では、基底曲面に対する(U,V)空間における、四辺形である基底パッチの第1の対角接続点のパラメタ値を格納する対角接続点1の列と、同じく対角接続点2の列と、基底パッチの16個(縦横4つずつ)の制御点のうち1番目の制御点の座標値を格納する制御点1の列と、...基底パッチの16個の制御点のうち16番目の制御点の座標値を格納する制御点16の列とを含む。なお、基底パッチの登録の順番は、例えば第1の対角接続点のパラメタ値の小さい順に並べる。図4の例では、パッチN,パッチM,パッチH,パッチL,パッチIの順番で並べられる。
Returning to the description of FIG. 3, the hybrid
次に、混成パッチ変換部13は、基底パッチ・データ格納部に格納された各基底パッチの対角接続点のパラメタ値(U及びV)、セグメント接続点105からベジエ系複合曲面200に垂線を下ろした際の当該垂線との交点(以下、セグメント接続点相当の点と呼ぶ)のパラメタ値(U及びV)、頂点104からベジエ系複合曲面200に垂線を下ろした際の当該垂線との交点(以下、頂点相当の点と呼ぶ)のパラメタ値(U及びV)、及び存在する場合には稜線の変極点からベジエ系複合曲面200に垂線を下ろした際の当該垂線との交点のパラメタ値(U及びV)を取得し、一旦記憶装置に保持する(ステップS3)。
Next, the hybrid
そして、取得したパラメタ値の各々についてパラメタ一定線を生成し(ステップS5)、パラメタ一定線と、稜線からベジエ系複合曲面200に垂線を下ろした際の当該垂線との交線(以下稜線相当線又は境界と呼ぶ)との交点のパラメタ値(以下、交点パラメタ値と呼ぶ)を算出し、一旦記憶装置に格納する(ステップS7)。ステップS5において生成されるパラメタ一定線については、基底パッチの境界と接した場合にはそれ以上伸ばさないものとする。そして、交点パラメタ値のパラメタ一定線を生成する(ステップS9)。ステップS9において生成されるパラメタ一定線についても、基底パッチの境界と接した場合にはそれ以上伸ばさないものとする。なお、ステップS9の結果、パラメタ一定線と稜線相当線との交点が検出された場合には、ステップS7及びS9を繰り返す。
Then, a parameter constant line is generated for each of the acquired parameter values (step S5), and an intersection line (hereinafter referred to as a ridge line equivalent line) between the parameter constant line and the perpendicular line when the perpendicular line is dropped from the ridge line to the Bezier-based composite
ステップS5乃至S9の様子を図4と同じ例である図6を用いて説明する。ステップS5において生成されるパラメタ一定線は、基底パッチの境界に関連する点線110乃至118と、頂点104の頂点相当の点に関連する一点鎖線121と、セグメント接続点105のセグメント接続点相当の点に関連する一点鎖線122及び123である。これらのパラメタ一定線と稜線相当線との交点は、点161、点162、点165、点166、点167、点168、点169及び点170である。さらにこれらの点を通り且つステップS9において生成されるパラメタ一定線は、二点鎖線131,132,135,136,137,138及び139である。この二点鎖線と稜線相当線との交点は、点163及び点164である。この点163及び点164を通り且つステップS9においてさらに生成されるパラメタ一定線は、二点鎖線133及び134である。
Steps S5 to S9 will be described with reference to FIG. 6, which is the same example as FIG. The constant parameter line generated in step S5 includes dotted
次に、混成パッチ変換部13は、パラメタ一定線の交点を算出し、当該交点のデータを一旦記憶装置に格納する(ステップS11)。そして、パラメタ一定線と稜線相当線との交点に対応する稜線上の点で、当該稜線を細分割する処理を行う(ステップS13)。図6の例では、点161乃至169に対応する稜線上の点で、当該稜線を細分割する。稜線を構成するセグメントは、ここではテンソル積型曲線であるから、任意の点において分割しても数学的な正確さを保持することができる。従って、ステップS13における細分割は、稜線の形を変形するものではない。また上記のような点において細分割することにより、後の処理において三角形パッチの斜辺と新たに生成されることになるセグメントとの対応が付けやすくなる。なお、ステップS11では、セグメント接続点である接続制御点が新たに生成されると共に、内部制御点も従来の内部制御点の位置が変更されると共に新たな内部制御点が生成される。従って、図5(c)に示すように、混成パッチ格納部15のセグメントデータ格納部に、新たな制御点の位置座標と、稜線に対するパラメタ空間Tにおけるパラメタ値tとを格納する。図5(c)では接続制御点と内部制御点との区別を登録していないが、2つの接続制御点の間には2つの内部制御点が存在しているため、パラメタ空間Tにおけるパラメタ値tの順番で並べれば特定可能である。
Next, the hybrid
そして、混成パッチ変換部13は、稜線乖離除去処理を実施する(ステップS15)。この稜線乖離除去処理については、図7を用いて説明する。図7は、図6の一部を拡大した図であり、セグメント102が、ステップS13において新たに生成されたセグメント接続点163a及び164aにより、セグメント1021、セグメント1022及びセグメント1023に細分割されている。図7の例では、セグメント1021、セグメント1022及びセグメント1023は直線であり、この場合セグメント接続点である接続制御点だけではなく、内部制御点もセグメント1021、セグメント1022及びセグメント1023上に存在する。すなわち、セグメント1021の端点104aとセグメント接続点163aの間には内部制御点181及び182が存在しており、セグメント1022のセグメント接続点163a及び164aの間には内部制御点184及び185が存在しており、セグメント1023のセグメント接続点164aの隣には内部制御点185が存在している。内部制御点についてもステップS13にて稜線を細分割する際に生成されたものである。これらのデータについては図5(c)に格納されている。なお、セグメント1021の端点104aと頂点104は一致しているべきであるが、実際には図7に示すように離れている。このように離れているとC0連続性を保証できないので、ステップS15では、セグメント1021の端点104aを、頂点104の位置に移動させる。但し、端点104aのみを移動させるのでは、端点104a及びセグメント接続点163a並びに内部制御点181及び182により規定されるセグメント1021が、急激に湾曲する形になるなど問題が生じえるため、内部制御点181及び182の位置についても調整する。すなわち、セグメント1021が滑らかに変化するように内部制御点181の位置を点181aの位置に移動し、内部制御点182の位置を点182aの位置に移動させる。このような処理により頂点と稜線の乖離を除去する。なお、本実施の形態では稜線より頂点を優先して乖離を除去する。端点104a、内部制御点181及び182の座標位置については、変更後の値を混成パッチ格納部15のセグメントデータ格納部に登録する。
Then, the hybrid
そして、混成パッチ変換部13は、稜線によりトリムされるパッチの面分150に含まれる部分内(すなわち、面分150のうち基底パッチの領域を除いた部分内)の四辺形パッチ(遷移四辺形パッチと呼ぶ)の格納処理を実施する(ステップS17)。この処理については、図8乃至図12を用いて説明する。混成パッチ変換部13は、ステップS5及びS9において生成されたパラメタ一定線とステップS7及びS11で算出された交点とに基づき、稜線によりトリムされるパッチの面分150に含まれる部分内における四辺形パッチを、遷移四辺形パッチとして特定する(図8:ステップS21)。図5の場合に特定される遷移四辺形パッチを図9に示す。図9の例では、パッチB内には遷移四辺形パッチB1及びB2が、パッチC内には遷移四辺形パッチC1乃至C9が、パッチG内には遷移四辺形パッチG1乃至G3が、パッチP内には遷移四辺形パッチP1乃至P6が、存在しているので、これらの遷移四辺形パッチを特定する。このようにベジエ系複合曲面200の元のパッチは、上記のようなパラメタ一定線と稜線相当線により細分割されることになるが、上でも述べたようにテンソル積型曲面の性質として当該テンソル積型曲面は数学的に正確に細分割することができる。細分割後の隣接するパッチは、その接する制御点を共有しており、連続性も保持される。
Then, the hybrid
なお、特定された遷移四辺形パッチの中には、稜線相当線上の点を頂点に含む遷移四辺形パッチも存在する。このような遷移四辺形パッチについては、当該頂点が稜線上に載るように当該頂点を移動させる(ステップS23)。すなわち稜線相当線上の点(すなわち遷移四辺形パッチの頂点)は、ステップS13で生成されたセグメント接続点に移動される。この様子を図9において矢印300の方向から斜め横に見た図である図10及び図11を用いて説明する。ステップS23以前の状態を図10に示す。図10では、稜線であるセグメント1023及び1024と面分150とに乖離が生じており、ステップS13で生成されたセグメント接続点(接続制御点)が点164a、165a及び166aである。接続制御点であるセグメント接続点164aとセグメント接続点165aの間には内部制御点185及び186が存在しており、セグメント接続点165aとセグメント接続点166aの間には内部制御点187及び188が存在している。三角形パッチC11及びD1については後の処理で用いられる。この図10に示されている範囲において遷移四辺形パッチはC1のみであり、この遷移四辺形パッチC1の頂点165が稜線相当線上の点となるが、図9を見ればわかるように、頂点164も頂点166も同様に図10には示されていない遷移四辺形パッチの稜線相当線上の点である。従って、頂点164はセグメント接続点164aに、頂点165はセグメント接続点165aに、頂点166はセグメント接続点166aに移動させる。ステップS23の処理後の状態を図11に示す。図11では、頂点164、165及び166は、それぞれセグメント接続点164a、165a及び166aの位置に移動している。従って、遷移四辺形パッチC1の頂点164に接続している線分を表す制御点についても、当該線分が滑らかに変化するような位置になるべきである。図11では、例えば内部制御点191及び192は、頂点164の移動に従って紙面下方向に移動している。なお、図10及び図11では三角形パッチ及び四辺形パッチ共に制御点を図示しているが、一部の制御点の位置が移動すること及びパッチの形状が変化することを示すために図示しており、必ずしもステップS23の段階において制御点が特定されている必要はない。
Among the identified transition quadrilateral patches, there is also a transition quadrilateral patch that includes a point on the ridge line equivalent line as a vertex. For such a transition quadrilateral patch, the vertex is moved so that the vertex is on the ridge line (step S23). That is, the point on the ridge line equivalent line (that is, the vertex of the transition quadrilateral patch) is moved to the segment connection point generated in step S13. This state will be described with reference to FIGS. 10 and 11 which are oblique views from the direction of the
図8の説明に戻って、混成パッチ変換部13は、遷移四辺形パッチのデータを、混成パッチ格納部15に格納する(ステップS25)。ステップS21及びS23により遷移四辺形パッチについては形状も特定されるので、遷移四辺形パッチの2つの対角接続点の、ベジエ系複合曲面200(基底曲面)に対するパラメタ空間におけるパラメタ値と、全ての(16個の)制御点の座標値を決定することができる。これらのデータを図5(b)に示す遷移領域データ格納部の遷移四辺形パッチ領域データ格納部に格納する。図5(b)の例では、基底曲面に対する(U,V)空間における、遷移四辺形パッチの第1の対角接続点のパラメタ値を格納する対角接続点1の列と、同じく対角接続点2の列と、遷移四辺形パッチの16個の制御点のうち1番目の制御点の座標値を格納する制御点1の列と、...遷移四辺形パッチの16個の制御点のうち16番目の制御点の座標値を格納する制御点16の列とポインタの列とを含む。遷移四辺形パッチの並べ方は、ループ回りでループから基底パッチ又は稜線相当線までV方向に並べる。図9に示した例では、B2,B1,C9,C7,C4,C8,C6,C3,C5,C2,C1,G3,G2,G1,P6,P5,P3,P4,P2,P1の順番で登録される。
Returning to the description of FIG. 8, the hybrid
なお、図9のような例では、全て遷移四辺形パッチは稜線相当線から見ると基底パッチにぶつかるが、図12に示すような場合には稜線相当線から遷移四辺形パッチを探索すると稜線相当線にぶつかるようになる部分が生じてしまう。図12では、パッチQ及びパッチRが基底パッチであり、遷移四辺形パッチS1及びS2については、V方向(縦方向)に探索すると基底パッチにぶつかる。しかし、遷移四辺形パッチX1乃至X4はV方向に探索すると基底パッチにぶつかることはない。遷移四辺形パッチY1及びY2についても同様である。このような場合には、セグメント301又はセグメント302のいずれからも遷移四辺形パッチX1乃至X4を辿ることができるように、稜線相当線に隣接する遷移四辺形パッチX1から遷移四辺形パッチX4へのポインタ及び遷移四辺形パッチX4から遷移四辺形パッチX1へのポインタを設ける。同様に、稜線相当線に隣接する遷移四辺形パッチY1とY2の間の遷移のためのポインタも設ける。
In the example shown in FIG. 9, all transition quadrilateral patches collide with the base patch when viewed from the ridge line equivalent line, but in the case shown in FIG. 12, searching for the transition quadrilateral patch from the ridge line equivalent line corresponds to the ridge line. There will be a part that will hit the line. In FIG. 12, the patch Q and the patch R are base patches, and the transition quadrilateral patches S1 and S2 collide with the base patch when searched in the V direction (vertical direction). However, the transition quadrilateral patches X1 to X4 do not collide with the base patch when searching in the V direction. The same applies to the transition quadrilateral patches Y1 and Y2. In such a case, the transition quadrilateral patch X1 adjacent to the ridge line equivalent line to the transition quadrilateral patch X4 so that the transition quadrilateral patches X1 to X4 can be traced from either the
このような処理を実施した後に図3の処理フローに戻る。混成パッチ変換部13は、稜線によりトリムされるパッチの面分150に含まれる部分内(すなわち、面分150のうち基底パッチの領域を除いた部分内)の三角形パッチ(遷移四辺形パッチと呼ぶ)の格納処理を実施する(ステップS19)。この処理については図13及び図14を用いて説明する。混成パッチ変換部13は、ステップS5及びS9において生成されたパラメタ一定線とステップS7及びS11で算出された交点とに基づき、稜線によりトリムされるパッチの面分150に含まれる部分内における三角形パッチを、遷移三角形パッチとして特定する(図13:ステップS31)。図5の場合に特定される遷移三角形パッチは、図9に示すように、パッチB11、C11、C12、C13、C14、D11、G11、F11、P11及びP12である。なお、上でも述べたが、細分割後の隣接する三角形パッチ及び四辺形パッチは、その接する制御点を共有しており、連続性も保持されている。
After performing such processing, the process returns to the processing flow of FIG. The hybrid
なお、図9の例では全ての遷移三角形パッチの斜辺は稜線相当線上に存在している。この遷移三角形パッチの斜辺を稜線の対応するセグメントに移動させる(ステップS33)。図11に示したような、頂点は稜線と一致させているが遷移三角形パッチの斜辺にあたる稜線相当線と稜線とに乖離が生じている状態から、図14に示すような状態に変化させる。図14では、図11に示した稜線相当線を点線で示しており、遷移三角形パッチの斜辺を稜線の対応するセグメントに一致するように移動させている。すなわち、セグメント1023の内部制御点185及び186は、遷移三角形パッチC11の斜辺の制御点となる。また、セグメント1024の内部制御点187及び188も同様に、遷移三角形パッチD11の斜辺の制御点となる。なお、遷移三角形パッチについてステップS33のような処理を実施したが、場合によっては遷移四辺形パッチにつきその辺を稜線のセグメントに一致させる処理を実施する場合もある。
In the example of FIG. 9, the hypotenuses of all the transition triangle patches exist on the ridge line equivalent line. The hypotenuse of the transition triangle patch is moved to the corresponding segment of the ridge line (step S33). As shown in FIG. 11, the vertex is matched with the ridge line, but the ridge line equivalent line corresponding to the hypotenuse of the transition triangle patch and the ridge line are deviated from the state shown in FIG. 14. In FIG. 14, the ridge line equivalent line shown in FIG. 11 is indicated by a dotted line, and the hypotenuse of the transition triangle patch is moved so as to coincide with the corresponding segment of the ridge line. That is, the
そして混成パッチ変換部13は、遷移三角形パッチのデータを、混成パッチ格納部15に格納する(ステップS35)。ステップS31及びS33により遷移三角形パッチについては形状も特定されるので、遷移三角形パッチの斜辺の両端における頂点の、ベジエ系複合曲面200(基底曲面)に対するパラメタ空間(U,V)におけるパラメタ値と、全ての(10個の)制御点の座標値と、遷移三角形パッチの斜辺に対応する稜線セグメントの、稜線(ベジエ系複合曲線)に対するパラメタ空間Tにおけるパラメタ値とを決定することができる。これらのデータを図5(b)に示す遷移領域データ格納部の遷移三角形パッチ領域データ格納部に格納する。図5(b)の例では、基底曲面に対するパラメタ空間(U,V)における、遷移三角形パッチの斜辺の一端である第1の頂点のパラメタ値及び稜線(ベジエ系複合曲線)に対するパラメタ空間Tにおけるパラメタ値を格納する頂点1の列と、基底曲面に対するパラメタ空間(U,V)における、遷移三角形パッチの斜辺の他端である第2の頂点のパラメタ値及び稜線(ベジエ系複合曲線)に対するパラメタ空間におけるパラメタ値を格納する頂点2の列と、遷移三角形パッチの10個の制御点のうち1番目の制御点の座標値を格納する制御点1の列と、...遷移三角形パッチの10個の制御点のうち10番目の制御点の座標値を格納する制御点10の列とを含む。遷移四辺形パッチの並べ方は、ループ周りであって、図9に示した例ではB11,C14,C13,C12,C11,D11,G11,F11,P12,P11の順番で並べられる。このように稜線に対するパラメタ空間における、斜辺両端の頂点のパラメタ値tを保持するのは、面分150を切断するなどの場合に交線を追跡しやすくするためである。すなわち、遷移三角形パッチ間で交線の追跡する場合には、稜線に対するパラメタ空間Tにおけるパラメタ区間を探索すれば、稜線を挟んで対向するパッチを特定することができる。ちなみに、四角形パッチの場合には基底曲面に対するパラメタ空間(U,V)のパラメタ区間を探索する。ここでも、テンソル積型の複合曲面及び複合曲線であるため1つのパッチの境界のいずれの曲線についても数学的に正確に切断することができ、さらに隣接する2つのパッチは制御点を共有しておりC0接続が保証されているので隣接するパッチに対応する点が存在しているという性質が用いられている。
Then, the hybrid
以上のような処理を実施することにより、面分150の境界である稜線相当線は稜線のセグメントと一致するようになり、またセグメントの端点についても頂点と一致するようになるため、面分150と稜線及び頂点との乖離は除去されるようになる。すなわち、C0の連続性を保持することができるため、許容差の大小に関係なく、図形演算を実施することができるようになる。また、オフセットした曲面についても許容差が原因で図形演算が停止するようなことはなくなる。また、本実施の形態では、胞複体表現を行っていない。胞複体表現よりも本実施の形態の方がデータ構造が簡単でデータ量も小さいからである。
By performing the processing as described above, the ridge line equivalent line that is the boundary of the
以上本発明の一実施の形態について説明したが、本発明はこれに限定されるものではない。具体的な図形形状を例にして説明したが、このような図形形状に適用が限定されるものではない。また、処理フローについてもシーケンシャルに実行する例を示したが、一部並列に処理できる部分も存在する。また、順番を入れ替えて実行できるステップも存在する。上で述べた処理の主旨を変更しない限りにおいて処理の順番などを変更することができる。 Although one embodiment of the present invention has been described above, the present invention is not limited to this. Although a specific figure shape has been described as an example, application is not limited to such a figure shape. Moreover, although the example which performs sequentially about a processing flow was shown, the part which can be processed in parallel also exists. There are also steps that can be executed in a different order. As long as the main point of the processing described above is not changed, the order of processing can be changed.
また、基底図形変換部9、混成パッチ変換部13、基底パッチ変換部17については、必要に応じて動的に処理を行うような構成とすることも可能である。これにより処理を図形演算の内部処理である面分切断に関与するパッチに限定することが可能になり、処理の高速化、記憶容量の節約ができる。また、フォーマット変換部5では、汎用の中間的なデータを生成してから変換する方式であってもよいし、直接変換する方式を採用しても良い。
In addition, the base graphic conversion unit 9, the hybrid
(付記1)
ベジエ系複合曲面をベジエ系複合曲線によりトリムすることにより得られる面分のうち前記ベジエ系複合曲線によりトリムされることのない基底パッチを特定し、当該基底パッチのデータを図形データ格納部に格納するステップと、
前記ベジエ系複合曲面のうち前記ベジエ系複合曲線によりトリムされるパッチのうち前記面分に含まれる部分を、前記基底パッチから決定されるパラメタ一定線を用いて所定のルールに従い四辺形パッチ及び三角形パッチに分割する分割ステップと、
前記四辺形パッチ及び前記三角形パッチの頂点のうち前記面分の境界となる頂点を前記ベジエ系複合曲線上の対応する点に、前記三角形パッチの辺のうち前記面分の境界となる辺を前記ベジエ系複合曲線の対応する部分に移動させ、移動処理後の前記四辺形パッチ及び前記三角形パッチのデータを前記図形データ格納部に格納する移動ステップと、
を含む図形データ変換処理方法。
(Appendix 1)
The base patch that is not trimmed by the Bezier composite curve is identified from the surface segments obtained by trimming the Bezier composite curved surface with the Bezier composite curve, and the data of the base patch is stored in the graphic data storage unit. And steps to
Of the patch to be trimmed by the Bezier composite curve among the Bezier composite curved surface, a portion included in the surface segment is a quadrilateral patch and a triangle according to a predetermined rule using a parameter constant line determined from the base patch. A splitting step to split the patch,
Of the vertices of the quadrilateral patch and the triangular patch, the vertex that becomes the boundary of the face is a corresponding point on the Bezier system composite curve, and the side that becomes the boundary of the face of the triangle patch is the edge Move to the corresponding part of the Bezier complex curve, and store the data of the quadrilateral patch and the triangle patch after the movement processing in the graphic data storage unit,
Graphic data conversion processing method.
(付記2)
前記分割ステップにおいて、前記ベジエ系複合曲線のセグメント接続点に対応する前記面分上の点のパラメタ値から得られるパラメタ一定線をさらに用いて分割を行うことを特徴とする付記1記載の図形データ変換処理方法。
(Appendix 2)
2. The graphic data according to
(付記3)
前記分割ステップにおいて、前記面分の境界線と前記パラメタ一定線との交点のパラメタ値から得られるパラメタ一定線をさらに用いて分割を行うことを特徴とする付記1又は2記載の図形データ変換処理方法。
(Appendix 3)
The graphic data conversion processing according to
(付記4)
前記基底パッチから決定されるパラメタ一定線が、前記基底パッチの接続制御点のパラメタ値から得られるパラメタ一定線であることを特徴とする付記1乃至3のいずれか1つ記載の図形データ変換処理方法。
(Appendix 4)
The graphic data conversion process according to any one of
(付記5)
前記移動ステップが、
前記四辺形パッチ及び前記三角形パッチの頂点のうち前記面分の境界となる頂点に対応する前記ベジエ系複合曲線上の点で、前記ベジエ系複合曲線をさらに分割するステップ
を含む付記1乃至4のいずれか1つ記載の図形データ変換処理方法。
(Appendix 5)
The moving step comprises:
(付記6)
前記移動ステップが、
前記面分の頂点として定義されたポイントと前記ベジエ系複合曲線とに乖離が存在する場合、前記ベジエ系複合曲線のうち前記ポイントに関連するセグメントを前記ポイントを通過するように修正するステップ
を含む付記1乃至5のいずれか1つ記載の図形データ変換処理方法。
(Appendix 6)
The moving step comprises:
When there is a divergence between the point defined as the vertex of the surface and the Bezier compound curve, the segment related to the point of the Bezier compound curve is modified to pass through the point. The graphic data conversion processing method according to any one of
(付記7)
前記基底パッチのデータと前記四辺形パッチのデータとのうち少なくともいずれかが、対角接続点の、前記ベジエ系複合曲面におけるパラメタ値及び全ての制御点の座標値を含むことを特徴とする付記1乃至6のいずれか1つ記載の図形データ変換処理方法。
(Appendix 7)
The supplementary note, wherein at least one of the base patch data and the quadrilateral patch data includes a parameter value and coordinate values of all control points on the Bezier composite curved surface of the diagonal connection point. The graphic data conversion processing method according to any one of 1 to 6.
(付記8)
前記三角形パッチのデータが、当該三角形パッチの斜辺の両端の頂点の、前記ベジエ系複合曲面におけるパラメタ値及び前記ベジエ系複合曲線のうち関連するセグメントにおけるパラメタ値と、全ての制御点の座標値とを含むことを特徴とする付記1乃至7のいずれか1つ記載の図形データ変換処理方法。
(Appendix 8)
The triangular patch data includes the parameter values in the Bezier-based composite curved surface and the parameter values in the related segment of the Bezier-based composite curve, and the coordinate values of all control points at the vertices of the hypotenuse of the triangular patch. The graphic data conversion processing method according to any one of
(付記9)
前記基底パッチを前記ベジエ系複合曲面におけるパラメタ値に従って管理し、前記三角形パッチ及び前記四辺形パッチを前記ベジエ系複合曲線によるループ方向に管理することを特徴とする付記1乃至8記載のいずれか1つ記載の図形データ変換処理方法。
(Appendix 9)
The
(付記10)
ベジエ系複合曲面をベジエ系複合曲線によりトリムすることにより得られる面分のうち前記ベジエ系複合曲線によりトリムされることのない基底パッチを特定し、当該基底パッチのデータを図形データ格納部に格納するステップと、
前記ベジエ系複合曲面のうち前記ベジエ系複合曲線によりトリムされるパッチのうち前記面分に含まれる部分を、前記基底パッチから決定されるパラメタ一定線を用いて所定のルールに従い四辺形パッチ及び三角形パッチに分割する分割ステップと、
前記四辺形パッチ及び前記三角形パッチの頂点のうち前記面分の境界となる頂点を前記ベジエ系複合曲線上の対応する点に、前記三角形パッチの辺のうち前記面分の境界となる辺を前記ベジエ系複合曲線の対応する部分に移動させ、移動処理後の前記四辺形パッチ及び前記三角形パッチのデータを前記図形データ格納部に格納する移動ステップと、
をコンピュータにより実行させる図形データ変換プログラム。
(Appendix 10)
The base patch that is not trimmed by the Bezier composite curve is identified from the surface segments obtained by trimming the Bezier composite curved surface with the Bezier composite curve, and the data of the base patch is stored in the graphic data storage unit. And steps to
Of the patch to be trimmed by the Bezier composite curve among the Bezier composite curved surface, a portion included in the surface segment is a quadrilateral patch and a triangle according to a predetermined rule using a parameter constant line determined from the base patch. A splitting step to split the patch,
Of the vertices of the quadrilateral patch and the triangular patch, the vertex that becomes the boundary of the face is a corresponding point on the Bezier system composite curve, and the side that becomes the boundary of the face of the triangle patch is the edge Move to the corresponding part of the Bezier complex curve, and store the data of the quadrilateral patch and the triangle patch after the movement processing in the graphic data storage unit,
A graphic data conversion program that allows a computer to execute.
(付記11)
ベジエ系複合曲面をベジエ系複合曲線によりトリムすることにより得られる面分のうち前記ベジエ系複合曲線によりトリムされることのない基底パッチを特定し、当該基底パッチのデータを図形データ格納部に格納する手段と、
前記ベジエ系複合曲面のうち前記ベジエ系複合曲線によりトリムされるパッチのうち前記面分に含まれる部分を、前記基底パッチから決定されるパラメタ一定線を用いて所定のルールに従い四辺形パッチ及び三角形パッチに分割する分割手段と、
前記四辺形パッチ及び前記三角形パッチの頂点のうち前記面分の境界となる頂点を前記ベジエ系複合曲線上の対応する点に、前記三角形パッチの辺のうち前記面分の境界となる辺を前記ベジエ系複合曲線の対応する部分に移動させ、移動処理後の前記四辺形パッチ及び前記三角形パッチのデータを前記図形データ格納部に格納する移動手段と、
を有する図形データ変換装置。
(Appendix 11)
The base patch that is not trimmed by the Bezier composite curve is identified from the surface segments obtained by trimming the Bezier composite curved surface with the Bezier composite curve, and the data of the base patch is stored in the graphic data storage unit. Means to
Of the patch to be trimmed by the Bezier composite curve among the Bezier composite curved surface, a portion included in the surface segment is a quadrilateral patch and a triangle according to a predetermined rule using a parameter constant line determined from the base patch. A dividing means for dividing the patch;
Of the vertices of the quadrilateral patch and the triangular patch, the vertex that becomes the boundary of the face is a corresponding point on the Bezier system composite curve, and the side that becomes the boundary of the face of the triangle patch is the edge Moving to a corresponding part of the Bezier-type compound curve, and storing the data of the quadrilateral patch and the triangle patch after the moving process in the graphic data storage unit;
A graphic data conversion apparatus.
(付記12)
ベジエ系複合曲面をベジエ系複合曲線によりトリムすることにより得られる面分を表すデータ構造であって、
当該面分のうち前記ベジエ系複合曲線によりトリムされることのない基底パッチ群についてのデータ構造であって、各前記基底パッチにつき対角接続点の、前記ベジエ系複合曲面におけるパラメタ値及び全ての制御点の座標値を含み、前記基底パッチ群を前記ベジエ系複合曲面におけるパラメタ値の順に管理するためのデータ構造と、
前記ベジエ系複合曲面のうち前記ベジエ系複合曲線によりトリムされるパッチのうち前記面分に含まれる部分を前記基底パッチから決定されるパラメタ一定線と前記ベジエ系複合曲線のセグメント接続点に対応する前記面分上の点のパラメタ値から得られるパラメタ一定線と前記面分の境界線と前記パラメタ一定線との交点のパラメータ値から得られるパラメタ一定線とを用い且つ所定のルールに従って分割することにより得られる四辺形パッチ群についてのデータ構造であって、各前記四辺形パッチにつき対角接続点の、前記ベジエ系複合曲面におけるパラメタ値及び全ての制御点の座標値を含み、前記四辺形パッチ群を前記ベジエ系複合曲線のループ方向の順番で管理するためのデータ構造と、
前記ベジエ系複合曲面のうち前記ベジエ系複合曲線によりトリムされるパッチのうち前記面分に含まれる部分を前記基底パッチから決定されるパラメタ一定線と前記ベジエ系複合曲線のセグメント接続点に対応する前記面分上の点のパラメタ値から得られるパラメタ一定線と前記面分の境界線と前記パラメタ一定線との交点のパラメタ値から得られるパラメタ一定線とを用い且つ所定のルールに従って分割することにより得られる三角形パッチ群についてのデータ構造であって、当該三角形パッチの斜辺の両端の頂点の、前記ベジエ系複合曲面におけるパラメタ値及び前記ベジエ系複合曲線のうち関連するセグメントにおけるパラメタ値と、全ての制御点の座標値とを含み、前記三角形パッチ群を前記ベジエ系複合曲線のループ方向の順番で管理するためのデータ構造と、
を含むデータ構造。
(Appendix 12)
A data structure representing a surface segment obtained by trimming a Bezier compound curved surface with a Bezier compound curve,
A data structure for a base patch group that is not trimmed by the Bezier composite curve among the surface segments, and a parameter value and all of the diagonal connection points for each base patch in the Bezier composite surface Including a coordinate value of a control point, a data structure for managing the base patch group in order of parameter values in the Bezier composite curved surface;
Of the patch that is trimmed by the Bezier composite curve among the Bezier composite curved surface, a portion included in the surface corresponds to a parameter constant line determined from the base patch and a segment connection point of the Bezier composite curve. Dividing according to a predetermined rule using a parameter constant line obtained from a parameter value of a point on the surface segment, a parameter constant line obtained from a parameter value of an intersection of the boundary line of the surface segment and the parameter constant line A data structure for a quadrilateral patch group obtained by the step, wherein each quadrilateral patch includes parameter values and coordinate values of all control points on the Bezier-based composite curved surface of diagonal connection points, and the quadrilateral patch A data structure for managing groups in the order of the loop direction of the Bezier complex curve;
Of the patch that is trimmed by the Bezier composite curve among the Bezier composite curved surface, a portion included in the surface corresponds to a parameter constant line determined from the base patch and a segment connection point of the Bezier composite curve. Dividing according to a predetermined rule using a constant parameter line obtained from a parameter value of a point on the surface segment, a constant parameter line obtained from a parameter value of an intersection of the boundary line of the surface segment and the constant parameter line Is a data structure for a triangular patch group obtained by the following: a parameter value in the Bezier composite curved surface and a parameter value in a related segment of the Bezier composite curve at the vertices of the hypotenuse of the triangular patch, The triangular patch group in the order of the loop direction of the Bezier compound curve. And a data structure for management,
A data structure containing
(付記13)
ベジエ系複合曲面をベジエ系複合曲線によりトリムすることにより得られる面分を表すデータ構造であって、
当該面分のうち前記ベジエ系複合曲線によりトリムされることのない基底パッチ群についてのデータ構造であって、各前記基底パッチを特定するためのデータを含み、前記基底パッチ群を管理するためのデータ構造と、
前記ベジエ系複合曲面のうち前記ベジエ系複合曲線によりトリムされるパッチのうち前記面分に含まれる部分を前記基底パッチから決定されるパラメタ一定線を用い且つ所定のルールに従って分割することにより得られる四辺形パッチ群及び三角形パッチ群についてのデータ構造であって、各前記四辺形パッチと各前記三角形パッチとを特定するためのデータを含み、前記四辺形パッチ群を管理するためのデータ構造と前記三角形パッチ群を管理するためのデータ構造とを含むデータ構造と、
を含むデータ構造。
(Appendix 13)
A data structure representing a surface segment obtained by trimming a Bezier compound curved surface with a Bezier compound curve,
A data structure for a base patch group that is not trimmed by the Bezier complex curve among the surface segments, including data for specifying each base patch, and for managing the base patch group Data structures and
Of the patch that is trimmed by the Bezier composite curve among the Bezier composite curved surface, a portion included in the surface segment is obtained by dividing the portion according to a predetermined rule using a constant parameter line determined from the base patch. A data structure for a quadrilateral patch group and a triangular patch group, the data structure including data for identifying each quadrilateral patch and each triangular patch, and a data structure for managing the quadrilateral patch group; and A data structure including a data structure for managing a group of triangular patches;
A data structure containing
(付記14)
前記四辺形パッチ及び前記三角形パッチの頂点のうち前記面分の境界となる頂点に対応する前記ベジエ系複合曲線上の点がさらなるセグメント接続点となるように修正された前記ベジエ系複合曲線のデータをさらに含む付記12又は13記載のデータ構造。
(Appendix 14)
Data of the Bezier composite curve modified so that a point on the Bezier composite curve corresponding to a vertex serving as a boundary of the face segment among the vertices of the quadrilateral patch and the triangle patch becomes a further segment connection point. 14. The data structure according to
(付記15)
前記ベジエ系複合曲線のデータが、前記稜線の頂点として定義されたポイントと前記ベジエ系複合曲線とに乖離が存在した場合、前記ベジエ系複合曲線のうち前記ポイントに関連するセグメントが前記ポイントを通過するように修正されていることを特徴とする付記14記載のデータ構造。
(Appendix 15)
When there is a divergence between the point defined as the vertex of the ridge line and the Bezier composite curve in the data of the Bezier composite curve, the segment related to the point of the Bezier composite curve passes the
1 CAD−Aシステム
3 CAD−Aデータ格納部
5 フォーマット変換部
7 Bスプライン系CADデータ格納部
9 基底図形変換部
11 ベジエ系CADデータ格納部
13 混成パッチ変換部
15 混成パッチ格納部
17 基底パッチ変換部
19 図形演算部
DESCRIPTION OF
Claims (4)
前記パッチ変換部により、ベジエ系複合曲面をベジエ系複合曲線によりトリムすることにより得られる面分のうち前記ベジエ系複合曲線によりトリムされることのない基底パッチを特定し、当該基底パッチのデータを前記図形データ格納部に格納するステップと、
前記パッチ変換部により、前記ベジエ系複合曲面のうち前記ベジエ系複合曲線によりトリムされるパッチのうち前記面分に含まれる部分を、前記基底パッチから決定されるパラメタ一定線を用いて所定のルールに従い四辺形パッチ及び三角形パッチに分割する分割ステップと、
前記パッチ変換部により、前記四辺形パッチ及び前記三角形パッチの頂点のうち前記面分の境界となる頂点を前記ベジエ系複合曲線上の対応する点に、前記三角形パッチの辺のうち前記面分の境界となる辺を前記ベジエ系複合曲線の対応する部分に移動させ、移動処理後の前記四辺形パッチ及び前記三角形パッチのデータを前記図形データ格納部に格納する移動ステップと、
を含む図形データ変換処理方法。 A graphic data conversion processing method executed by a computer having a patch conversion unit and a graphic data storage unit,
The patch conversion unit identifies a base patch that is not trimmed by the Bezier composite curve from among the surface segments obtained by trimming a Bezier composite curved surface with a Bezier composite curve, and sets the base patch data. and storing the graphic data storage section,
A portion of the Bezier-based composite curved surface that is trimmed by the Bezier-based composite curve by the patch conversion unit, and a portion included in the surface segment is determined using a predetermined parameter line determined from the base patch. Splitting into quadrilateral and triangular patches according to:
The patch conversion unit converts a vertex of the quadrilateral patch and the triangle patch into a corresponding point on the Bezier composite curve to a vertex corresponding to the surface segment of the triangle patch. A moving step of moving a side to be a boundary to a corresponding part of the Bezier compound curve, and storing data of the quadrilateral patch and the triangular patch after the moving process in the graphic data storage unit,
Graphic data conversion processing method.
前記四辺形パッチ及び前記三角形パッチの頂点のうち前記面分の境界となる頂点に対応する前記ベジエ系複合曲線上の点で、前記ベジエ系複合曲線をさらに分割するステップ
を含む請求項1又は2記載の図形データ変換処理方法。 The moving step comprises:
The step of further dividing the Bezier-based composite curve at a point on the Bezier-based composite curve corresponding to a vertex serving as a boundary of the face segment among the vertices of the quadrilateral patch and the triangular patch. The graphic data conversion processing method described.
前記ベジエ系複合曲面のうち前記ベジエ系複合曲線によりトリムされるパッチのうち前記面分に含まれる部分を、前記基底パッチから決定されるパラメタ一定線を用いて所定のルールに従い四辺形パッチ及び三角形パッチに分割する分割ステップと、
前記四辺形パッチ及び前記三角形パッチの頂点のうち前記面分の境界となる頂点を前記ベジエ系複合曲線上の対応する点に、前記三角形パッチの辺のうち前記面分の境界となる辺を前記ベジエ系複合曲線の対応する部分に移動させ、移動処理後の前記四辺形パッチ及び前記三角形パッチのデータを前記図形データ格納部に格納する移動ステップと、
をコンピュータにより実行させる図形データ変換プログラム。 The base patch that is not trimmed by the Bezier composite curve is identified from the surface segments obtained by trimming the Bezier composite curved surface with the Bezier composite curve, and the data of the base patch is stored in the graphic data storage unit. And steps to
Of the patch to be trimmed by the Bezier composite curve among the Bezier composite curved surface, a portion included in the surface segment is a quadrilateral patch and a triangle according to a predetermined rule using a parameter constant line determined from the base patch. A splitting step to split the patch,
Of the vertices of the quadrilateral patch and the triangular patch, the vertex that becomes the boundary of the face is a corresponding point on the Bezier system composite curve, and the side that becomes the boundary of the face of the triangle patch is the edge Move to the corresponding part of the Bezier complex curve, and store the data of the quadrilateral patch and the triangle patch after the movement processing in the graphic data storage unit,
A graphic data conversion program that allows a computer to execute.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003355371A JP4133727B2 (en) | 2003-10-15 | 2003-10-15 | Graphic data conversion method and program, and data structure |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003355371A JP4133727B2 (en) | 2003-10-15 | 2003-10-15 | Graphic data conversion method and program, and data structure |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005122391A JP2005122391A (en) | 2005-05-12 |
JP4133727B2 true JP4133727B2 (en) | 2008-08-13 |
Family
ID=34612991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003355371A Expired - Fee Related JP4133727B2 (en) | 2003-10-15 | 2003-10-15 | Graphic data conversion method and program, and data structure |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4133727B2 (en) |
-
2003
- 2003-10-15 JP JP2003355371A patent/JP4133727B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005122391A (en) | 2005-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106846425B (en) | Scattered point cloud compression method based on octree | |
JP3103793B2 (en) | Object structure graph generation device, data conversion device and system that can use the same | |
JP5890105B2 (en) | Designing parts modeled by parallel geodesic lines | |
CN103136790B (en) | Surface is created from multiple 3D curves | |
KR101285941B1 (en) | Process for creating a parametric surface having a required geometrical continuity | |
US6307555B1 (en) | Boolean operations for subdivision surfaces | |
JP2002501640A (en) | Adaptive mesh refinement method and apparatus | |
CN104793560A (en) | Method and system for generating a trajectory | |
KR100717676B1 (en) | Cad system and recording medium having cad program thereon | |
CN105867310B (en) | The numerical-control processing method and system of T Spline Models are realized based on OCC | |
JP2008305372A (en) | System and method for calculating loft surface using 3d scan data | |
US5701404A (en) | Method and system for efficiently trimming a nurbs surface with a projected curve | |
CN108335318A (en) | The method and device of corona and fusion of roots | |
KR102476800B1 (en) | 3D CAD data conversion method, program and apparatus for 3D printing of 3D modeling object | |
CN113343546B (en) | VBO-based efficient geometric simulation method for cutting machining process | |
CN114429535A (en) | Smooth cutting method and device for triangular mesh curved surface | |
JP2005004382A (en) | Form creation device, control method for operating computer device as form creation device, and computer-executable program for executing its control method on computer device | |
JP4133727B2 (en) | Graphic data conversion method and program, and data structure | |
JPH02132573A (en) | Boundary expressing solid modeling system | |
CN116029263A (en) | DWG object importing method, device, equipment and medium | |
Shang et al. | Effective re-parameterization and GA based knot structure optimization for high quality T-spline surface fitting | |
Tremel et al. | Automatic unstructured surface mesh generation for complex configurations | |
JP2022072158A (en) | Information processing method and information processing device | |
JPH11195139A (en) | Sculptured surface generating device, method therefor and providing medium | |
JP3305395B2 (en) | Figure division device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050413 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080219 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080404 |
|
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: 20080527 |
|
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: 20080602 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110606 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4133727 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: 20120606 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120606 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130606 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130606 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |