JP4133727B2 - Graphic data conversion method and program, and data structure - Google Patents

Graphic data conversion method and program, and data structure Download PDF

Info

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
Application number
JP2003355371A
Other languages
Japanese (ja)
Other versions
JP2005122391A (en
Inventor
建彦 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2003355371A priority Critical patent/JP4133727B2/en
Publication of JP2005122391A publication Critical patent/JP2005122391A/en
Application granted granted Critical
Publication of JP4133727B2 publication Critical patent/JP4133727B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 surface segment 1000, the surface segment 1003, and the ridgeline 1001 representing the boundary (intersection line) between the surface segment 1000 and the surface segment 1003 should be connected, but the surface segments 1000 and 1003 and the ridgeline Due to the expression format 1001, etc., in practice, there is often a divergence between them as shown in FIG. However, if the magnitudes ε 1 and ε 2 are within a predetermined tolerance range in a specific CAD system A, the specific CAD system A has surface segments 1000 and 1003 and a ridgeline 1001. Are determined to be connected, and various graphic operations can be performed. It is also possible to convert the data of the specific CAD system A into data for another CAD system X. However, tolerances that are defined in the other CAD system X is less than the tolerance at a particular CAD system A, in the other CAD system X is greater than the magnitude epsilon 1 and epsilon 2 tolerance deviation As a result, there may occur a case where the surface portions 1000 and 1003 and the ridgeline 1001 are not connected. That is, an error occurs in the graphic operation, and the process cannot be continued. In some cases, conversion of data from a specific CAD system A to the other CAD system X cannot be performed.

これに対して面分や稜線を構成するパッチ又はセグメントを細分化して上記のような乖離を小さくするという技術が存在しているが、全ての場合に対処することができず、またデータ量が増加するという問題がある。
日本特許第3087497号公報
On the other hand, there is a technology that subdivides patches or segments that make up surface segments and ridge lines to reduce the above-mentioned divergence, but it cannot deal with all cases, and the amount of data is There is a problem of increasing.
Japanese Patent No. 3087497

以上述べたように、従来においては、特定の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-A system 1 is a specific CAD system that has existed in the past, and geometric data of a figure generated in the CAD-A system 1 is stored in the CAD-A data storage unit 3. In order to convert the data stored in the CAD-A data storage unit 3 so that graphic operations can be performed without any problem in other CAD systems, the format conversion unit 5 and B-spline CAD data storage The unit 7, the base graphic conversion unit 9, the Bezier CAD data storage unit 11, the hybrid patch conversion unit 13, the hybrid patch storage unit 15, and the base patch conversion unit 17 are used.

フォーマット変換部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-A system 1 is converted into a B-spline system or a Bezier system. When the geometric data for the CAD-A system 1 is already expressed in a B-spline system or a Bezier system, conversion of the geometric format is unnecessary. The B-spline system includes B-splines and NURBS (Non Uniform Rational B-Spline), and is a convenient expression format for controlling continuity between patches and segments. In addition, Bezier systems include Beziers and rational Beziers, and curves and curved surfaces pass through connection control points, which is a convenient expression format for position control of connection points of patches and segments. In the phase format conversion, the expression format of vertices, ridges, and faces is converted. For example, although there are expression forms such as winged edge, half edge, and radial edge, they are not the main points of the present embodiment, and may be converted into any expression form. If the same format as the conversion destination is also used in the CAD-A system 1 for the conversion of the phase format, it is not necessary to carry out the conversion. In the attribute format conversion, the system-specific attribute value is converted. However, this is not the gist of the present embodiment, so that it is converted into a predetermined expression format determined in advance. The attribute value is not necessarily data that can be completely converted. When the format conversion unit 5 converts the data into the B-spline system in the geometric format conversion, the converted data is stored in the B-spline system CAD data storage unit 7. On the other hand, when converted to the Bezier system, the converted data is stored in the Bezier CAD data storage unit 11.

基底図形変換部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 storage unit 11. The process of converting B-spline geometric data into Bezier geometric data is well known and will not be described in detail here. Note that the transformation of the base figure can be performed accurately, not approximation. As described above, when the Bezier geometric data is generated from the beginning by the format conversion unit 5, it is not necessary to perform the processing by the base graphic conversion unit 9.

混成パッチ変換部13は、以下で詳細に述べる処理を実施することにより、三角形パッチ及び四辺形パッチからなる混成パッチのデータを生成し、当該混成パッチのデータを混成パッチ格納部15に格納する。   The hybrid patch conversion unit 13 generates hybrid patch data including triangular patches and quadrilateral patches by performing processing described in detail below, and stores the hybrid patch data in the hybrid patch storage unit 15.

図形演算部19は、混成パッチ格納部15に格納されたデータに対して、例えば面分の切り取り、ブーリアン(集合演算)、フィレットといった図形演算を実施する。これらの図形演算の内部では、面分の切断が行われ、新たな面分が生成されるが、この時基底曲面と稜線の曲線間の乖離などが従来では問題となっていたが、本実施の形態に係る混成パッチを生成することにより、このような図形演算において問題が発生することがなくなる。従って、図形演算の種類はこれらに限定されるものではなく、他の図形演算も実施される。   The graphic operation unit 19 performs graphic operations such as cut-out of faces, boolean (set operation), and fillet on the data stored in the hybrid patch storage unit 15. Inside these graphic operations, the surface is cut and a new surface is generated. At this time, the divergence between the base curved surface and the curve of the ridge line has been a problem in the past. By generating the hybrid patch according to the form, a problem does not occur in such graphic operations. Therefore, the types of graphic operations are not limited to these, and other graphic operations are also performed.

また、基底パッチ変換部17は、混成パッチ格納部15に格納されているデータとベジエ系CADデータ格納部11に格納されているデータから、ベジエ系の幾何データを生成し、ベジエ系CADデータ格納部11に格納する。すなわち、前記の図形演算を行う前の基底曲面をそのまま使用しても良いし、必要なだけ切り取って使用しても良い。フィレットの場合は全て四辺形パッチで表現された曲面が生成されるので、そのまま格納すればよい。   The base patch conversion unit 17 generates Bezier geometric data from the data stored in the hybrid patch storage unit 15 and the data stored in the Bezier CAD data storage unit 11, and stores the Bezier CAD data. Stored in the unit 11. That is, the base curved surface before performing the graphic calculation may be used as it is, or may be cut out and used as necessary. In the case of fillets, a curved surface expressed by a quadrilateral patch is generated, and can be stored as it is.

さらに、フォーマット変換部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 patch conversion unit 17, the data stored in the hybrid patch storage unit 15 and processed by the graphic calculation unit 19 can be appropriately used in the CAD-A system 1. However, since it is not always necessary to return the data to the CAD-A system 1 again, the processing of the flow of the base patch conversion unit 17, the base graphic conversion unit 9, and the format conversion unit 5 may not be performed.

次に、混成パッチ変換部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 patch conversion unit 13 will be described with reference to FIGS. First, the data stored in the Bezier CAD data storage unit 11 is read. For example, as shown in FIG. 4, a case is considered in which a segment 150 is formed by trimming a Bezier composite curved surface 200 (basic curved surface) using segments 101 to 103 that form ridge lines that are Bezier composite curves. . The Bezier composite curved surface and the Bezier composite curve are a tensor product type composite curved surface and a composite curve. The “composite” of this composite curved surface indicates that a plurality of patches are connected. “Tensor product” represents a multiple linear space. That is, the Bezier-type composite curved surface 200 is composed of quadrilateral patches A to K in the portion shown in FIG. Each of the patches A to K is defined by a connection control point and an internal control point that are connected to other patches. Dotted lines 110 to 114 represent parameter constant lines in which the U value of the parameter represented by (U, V) is constant in the parameter space for the Bezier composite curved surface 200, and dotted lines 115 to 118 represent the V values. Represents a constant parameter line where is constant. Connection control points exist on the dotted lines 110 to 118. As can be seen from the patches A to K, the patches are regularly arranged, and in the parameter space (U, V), the parameter values U and V increase monotonously in the direction shown in FIG. .

なお、セグメント101とセグメント102は、頂点104付近に端点が存在しているが、ここでは接続されていないものとする。また、セグメント102とセグメント103とはセグメント接続点105にて接続されている。稜線には、図4の右から左にループ方向が規定されている。なお、セグメント101乃至103及び頂点104は、ベジエ系複合曲面200上には存在しておらず、乖離が生じているものとする。   The segment 101 and the segment 102 have end points near the vertex 104, but are not connected here. In addition, the segment 102 and the segment 103 are connected at a segment connection point 105. The ridgeline defines a loop direction from right to left in FIG. It is assumed that the segments 101 to 103 and the vertex 104 do not exist on the Bezier composite curved surface 200 and a divergence occurs.

図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 patch conversion unit 13 is based on data read from the Bezier CAD data storage unit 11 and is a base that is a patch that is not trimmed by the segments 101 to 103 constituting the ridgeline. The patch is specified, and the data of the base patch is stored in the hybrid patch storage unit 15 (step S1). In the example of FIG. 4, patches (base patches) that are not trimmed into the segments 101 to 103 are the patch I, the patch H, the patch N, the patch H, the patch M, and the patch L. Note that patch E is not included here because it is not included in area 150. Such base patch data is stored in the base patch data storage section in the hybrid patch storage section 15 as shown in FIG. In the example of FIG. 5A, in the (U, V) space for the base curved surface, the column of diagonal connection points 1 that stores the parameter values of the first diagonal connection points of the base patch that is a quadrilateral, A row of diagonal connection points 2, a row of control points 1 storing the coordinate values of the first control point among the 16 control points of the base patch (4 vertical and 4 horizontal),. . . And a column of control points 16 for storing the coordinate values of the 16th control point among the 16 control points of the base patch. The order of registration of the base patches is, for example, arranged in ascending order of the parameter values of the first diagonal connection point. In the example of FIG. 4, the patch N, patch M, patches H, patches L, they are arranged in the order of patch I.

次に、混成パッチ変換部13は、基底パッチ・データ格納部に格納された各基底パッチの対角接続点のパラメタ値(U及びV)、セグメント接続点105からベジエ系複合曲面200に垂線を下ろした際の当該垂線との交点(以下、セグメント接続点相当の点と呼ぶ)のパラメタ値(U及びV)、頂点104からベジエ系複合曲面200に垂線を下ろした際の当該垂線との交点(以下、頂点相当の点と呼ぶ)のパラメタ値(U及びV)、及び存在する場合には稜線の変極点からベジエ系複合曲面200に垂線を下ろした際の当該垂線との交点のパラメタ値(U及びV)を取得し、一旦記憶装置に保持する(ステップS3)。   Next, the hybrid patch conversion unit 13 sets a parameter value (U and V) of the diagonal connection point of each base patch stored in the base patch data storage unit, and a perpendicular line from the segment connection point 105 to the Bezier complex curved surface 200. Parameter values (U and V) of intersections with the perpendiculars when lowered (hereinafter referred to as segment connection points), intersections with the perpendiculars when perpendiculars are drawn from the vertex 104 to the Bezier composite curved surface 200 Parameter values (U and V) (hereinafter referred to as points corresponding to vertices), and parameter values at the intersection with the perpendicular when the perpendicular is drawn from the inflection point of the ridge line to the Bezier composite curved surface 200, if any (U and V) are acquired and temporarily held in the storage device (step S3).

そして、取得したパラメタ値の各々についてパラメタ一定線を生成し(ステップ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 curved surface 200. Alternatively, a parameter value (hereinafter referred to as an intersection parameter value) of the intersection with the boundary is calculated and temporarily stored in the storage device (step S7). The parameter constant line generated in step S5 is not further extended when it contacts the boundary of the base patch. Then, a constant parameter line of the intersection parameter value is generated (step S9). The constant parameter line generated in step S9 is not further extended when it contacts the boundary of the base patch. Note that if the intersection of the constant parameter line and the ridge line equivalent line is detected as a result of step S9, steps S7 and S9 are repeated.

ステップ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 lines 110 to 118 related to the boundary of the base patch, a one-dot chain line 121 related to the point corresponding to the vertex of the vertex 104, and a point corresponding to the segment connection point of the segment connection point 105. Dotted lines 122 and 123 related to. The intersections of these parameter constant lines and the ridge line equivalent lines are point 161, point 162, point 165, point 166, point 167, point 168, point 169 and point 170. Furthermore, the parameter constant lines that pass through these points and are generated in step S9 are two-dot chain lines 131, 132, 135, 136, 137, 138, and 139. The intersections of the two-dot chain line and the ridge line equivalent line are points 163 and 164. Parameter constant lines passing through the points 163 and 164 and further generated in step S9 are two-dot chain lines 133 and 134.

次に、混成パッチ変換部13は、パラメタ一定線の交点を算出し、当該交点のデータを一旦記憶装置に格納する(ステップS11)。そして、パラメタ一定線と稜線相当線との交点に対応する稜線上の点で、当該稜線を細分割する処理を行う(ステップS13)。図6の例では、点161乃至169に対応する稜線上の点で、当該稜線を細分割する。稜線を構成するセグメントは、ここではテンソル積型曲線であるから、任意の点において分割しても数学的な正確さを保持することができる。従って、ステップS13における細分割は、稜線の形を変形するものではない。また上記のような点において細分割することにより、後の処理において三角形パッチの斜辺と新たに生成されることになるセグメントとの対応が付けやすくなる。なお、ステップS11では、セグメント接続点である接続制御点が新たに生成されると共に、内部制御点も従来の内部制御点の位置が変更されると共に新たな内部制御点が生成される。従って、図5(c)に示すように、混成パッチ格納部15のセグメントデータ格納部に、新たな制御点の位置座標と、稜線に対するパラメタ空間Tにおけるパラメタ値tとを格納する。図5(c)では接続制御点と内部制御点との区別を登録していないが、2つの接続制御点の間には2つの内部制御点が存在しているため、パラメタ空間Tにおけるパラメタ値tの順番で並べれば特定可能である。   Next, the hybrid patch conversion unit 13 calculates the intersection of the constant parameter line, and temporarily stores the data of the intersection in the storage device (step S11). And the process which subdivides the said ridgeline in the point on the ridgeline corresponding to the intersection of a parameter fixed line and a ridgeline equivalent line is performed (step S13). In the example of FIG. 6, the ridge line is subdivided at points on the ridge line corresponding to the points 161 to 169. Since the segments constituting the ridge line are tensor product type curves here, mathematical accuracy can be maintained even if divided at an arbitrary point. Therefore, the subdivision in step S13 does not change the shape of the ridgeline. Further, by subdividing the points as described above, it becomes easier to associate the hypotenuse of the triangular patch with the segment to be newly generated in the subsequent processing. In step S11, a connection control point that is a segment connection point is newly generated, and the position of the conventional internal control point is also changed and a new internal control point is generated. Accordingly, as shown in FIG. 5C, the position coordinates of the new control point and the parameter value t in the parameter space T with respect to the ridge line are stored in the segment data storage unit of the hybrid patch storage unit 15. In FIG. 5C, the distinction between the connection control point and the internal control point is not registered, but there are two internal control points between the two connection control points. If they are arranged in the order of t, they can be specified.

そして、混成パッチ変換部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 patch conversion unit 13 performs a ridge line deviation removal process (step S15). This ridge line deviation removal process will be described with reference to FIG. FIG. 7 is an enlarged view of a part of FIG. 6. The segment 102 is subdivided into segments 1021, 1022 and 1023 by segment connection points 163a and 164a newly generated in step S13. . In the example of FIG. 7, the segment 1021, the segment 1022, and the segment 1023 are straight lines. In this case, not only the connection control point that is the segment connection point but also the internal control points exist on the segment 1021, the segment 1022, and the segment 1023. That is, the internal control points 181 and 182 exist between the end point 104a of the segment 1021 and the segment connection point 163a, and the internal control points 184 and 185 exist between the segment connection points 163a and 164a of the segment 1022. An internal control point 185 exists next to the segment connection point 164a of the segment 1023. The internal control points are also generated when the ridge line is subdivided in step S13. These data are stored in FIG. It should be noted that the end point 104a and the vertex 104 of the segment 1021 should coincide with each other, but are actually separated as shown in FIG. Since C 0 continuity cannot be guaranteed if they are separated in this way, the end point 104a of the segment 1021 is moved to the position of the vertex 104 in step S15. However, if only the end point 104a is moved, a problem may occur such that the segment 1021 defined by the end point 104a, the segment connection point 163a, and the internal control points 181 and 182 may be sharply curved. The positions of 181 and 182 are also adjusted. That is, the position of the internal control point 181 is moved to the position of the point 181a so that the segment 1021 changes smoothly, and the position of the internal control point 182 is moved to the position of the point 182a. By such processing, the divergence between the vertex and the ridge line is removed. In the present embodiment, the divergence is removed by giving priority to the vertex over the ridgeline. For the coordinate positions of the end point 104a and the internal control points 181 and 182, the changed values are registered in the segment data storage unit of the hybrid patch storage unit 15.

そして、混成パッチ変換部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 patch conversion unit 13 performs a quadrilateral patch (transition quadrilateral) within a portion included in the patch segment 150 to be trimmed by the ridgeline (that is, within the portion excluding the base patch region of the segment 150). A storage process of a patch is performed (step S17). This process will be described with reference to FIGS. Based on the parameter constant line generated in steps S5 and S9 and the intersection calculated in steps S7 and S11, the hybrid patch conversion unit 13 has a quadrilateral shape in the portion included in the surface portion 150 of the patch trimmed by the ridgeline. The patch is specified as a transition quadrilateral patch (FIG. 8: Step S21). FIG. 9 shows the transition quadrilateral patch specified in the case of FIG. In the example of FIG. 9, the transition quadrilateral patches B1 and B2 are included in the patch B, the transition quadrilateral patches C1 to C9 are included in the patch C, and the transition quadrilateral patches G1 to G3 are included in the patch G. Since there are transition quadrilateral patches P1 to P6, the transition quadrilateral patches are specified. As described above, the original patch of the Bezier-type composite curved surface 200 is subdivided by the parameter constant line and the ridge line equivalent line as described above. Product surface can be subdivided mathematically and accurately. Adjacent patches after subdivision share their control points and maintain continuity.

なお、特定された遷移四辺形パッチの中には、稜線相当線上の点を頂点に含む遷移四辺形パッチも存在する。このような遷移四辺形パッチについては、当該頂点が稜線上に載るように当該頂点を移動させる(ステップ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 arrow 300 in FIG. The state before step S23 is shown in FIG. In FIG. 10, there is a divergence between the segments 1023 and 1024 that are ridge lines and the surface segment 150, and the segment connection points (connection control points) generated in step S13 are points 164a, 165a, and 166a. Internal control points 185 and 186 exist between segment connection point 164a and segment connection point 165a, which are connection control points, and internal control points 187 and 188 exist between segment connection point 165a and segment connection point 166a. Existing. The triangular patches C11 and D1 are used in later processing. In the range shown in FIG. 10, the transition quadrilateral patch is only C1, and the vertex 165 of this transition quadrilateral patch C1 is a point on the ridge line equivalent line. As can be seen from FIG. Similarly, the vertex 166 is a point on the ridge line equivalent line of the transition quadrilateral patch not shown in FIG. Accordingly, the vertex 164 is moved to the segment connection point 164a, the vertex 165 is moved to the segment connection point 165a, and the vertex 166 is moved to the segment connection point 166a. The state after the process of step S23 is shown in FIG. In FIG. 11, vertices 164, 165, and 166 have moved to the positions of segment connection points 164a, 165a, and 166a, respectively. Therefore, the control point representing the line segment connected to the vertex 164 of the transition quadrilateral patch C1 should also be at a position where the line segment changes smoothly. In FIG. 11, for example, the internal control points 191 and 192 are moved downward in the drawing according to the movement of the vertex 164. 10 and 11, the control points are shown for both the triangular patch and the quadrilateral patch. However, the control points are illustrated to show that the positions of some control points move and the patch shape changes. Therefore, it is not always necessary to specify the control point at the stage of step S23.

図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 patch conversion unit 13 stores the data of the transition quadrilateral patch in the hybrid patch storage unit 15 (step S25). Since the shape of the transition quadrilateral patch is also specified in steps S21 and S23, the parameter values in the parameter space for the Bezier composite curved surface 200 (basic curved surface) at the two diagonal connection points of the transition quadrilateral patch, The coordinate values of (16) control points can be determined. These data are stored in the transition quadrilateral patch area data storage section of the transition area data storage section shown in FIG. In the example of FIG. 5B, the diagonal connection point 1 column storing the parameter values of the first diagonal connection point of the transition quadrilateral patch in the (U, V) space with respect to the base curved surface is the same as the diagonal line. A sequence of connection points 2, a sequence of control points 1 storing the coordinate values of the first control point among the 16 control points of the transition quadrilateral patch,. . . It includes a row of control points 16 for storing the coordinate values of the 16th control point among the 16 control points of the transition quadrilateral patch, and a row of pointers. The transition quadrilateral patches are arranged in the V direction around the loop from the loop to the base patch or the ridge line equivalent line. In the example shown in FIG. 9, B2, B1, C9, C7, C4, C8, C6, C3, C5, C2, C1, G3, G2, G1, P6, P5, P3, P4, P2, P1 in this order. be registered.

なお、図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 segment 301 or the segment 302. A pointer and a pointer from the transition quadrilateral patch X4 to the transition quadrilateral patch X1 are provided. Similarly, a pointer for transition between the transition quadrilateral patches Y1 and Y2 adjacent to the ridge line equivalent line is also provided.

このような処理を実施した後に図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 patch conversion unit 13 is a triangular patch (referred to as a transition quadrilateral patch) within a portion included in the surface segment 150 of the patch trimmed by the ridgeline (that is, within a portion excluding the base patch region of the surface segment 150). ) Is executed (step S19). This process will be described with reference to FIGS. Based on the parameter constant line generated in steps S5 and S9 and the intersection calculated in steps S7 and S11, the hybrid patch conversion unit 13 creates a triangular patch in the portion included in the surface portion 150 of the patch trimmed by the ridgeline. Is identified as a transition triangle patch (FIG. 13 : step S 31 ). Transition triangle patches specified in the case of FIG. 5 are patches B11, C11, C12, C13, C14, D11, G11, F11, P11, and P12, as shown in FIG. As described above, adjacent triangular patches and quadrilateral patches after subdivision share their control points and maintain continuity.

なお、図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 internal control points 185 and 186 of the segment 1023 are control points on the hypotenuse of the transition triangle patch C11. Similarly, the internal control points 187 and 188 of the segment 1024 are control points on the hypotenuse of the transition triangle patch D11. In addition, although processing like step S33 was implemented about the transition triangle patch, depending on the case, the process which makes the edge correspond to the segment of a ridgeline may be implemented about a transition quadrilateral patch.

そして混成パッチ変換部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 patch conversion unit 13 stores the transition triangle patch data in the hybrid patch storage unit 15 (step S35). Since the shape of the transition triangle patch is also identified by steps S31 and S33, the parameter values in the parameter space (U, V) of the vertices at both ends of the hypotenuse of the transition triangle patch with respect to the Bezier composite curved surface 200 (basic curved surface); It is possible to determine the coordinate values of all (10) control points and the parameter values in the parameter space T for the ridgeline (Bézier system complex curve) of the ridgeline segment corresponding to the hypotenuse of the transition triangle patch. These data are stored in the transition triangle patch area data storage section of the transition area data storage section shown in FIG. In the example of FIG. 5B, in the parameter space T for the first vertex that is one end of the hypotenuse of the transition triangle patch in the parameter space (U, V) for the base curved surface and the ridgeline (Bézier system complex curve). A column of vertices 1 for storing parameter values, a parameter value for the second vertex that is the other end of the hypotenuse of the transition triangle patch in the parameter space (U, V) for the base curved surface, and a parameter for the edge line (Bézier complex curve) A column of vertices 2 that stores parameter values in space, a column of control points 1 that stores the coordinate values of the first control point of the 10 control points of the transition triangle patch,. . . And a column of control points 10 storing the coordinate values of the 10th control point among the 10 control points of the transition triangle patch. The transition quadrilateral patches are arranged around the loop, and in the example shown in FIG. 9, they are arranged in the order of B11, C14, C13, C12, C11, D11, G11, F11, P12, and P11. The reason why the parameter values t of the vertices at both ends of the hypotenuse in the parameter space with respect to the ridgeline is held is to make it easier to trace the intersection line when the surface segment 150 is cut. That is, when tracing the intersection line between transition triangle patches, searching for a parameter section in the parameter space T with respect to the ridge line can identify patches facing each other across the ridge line. Incidentally, in the case of a quadrangular patch, the parameter section of the parameter space (U, V) for the base curved surface is searched. Again, because of the tensor product type compound curved surface and compound curve, any curve at the boundary of one patch can be mathematically accurately cut, and two adjacent patches share a control point. Since the C0 connection is guaranteed, the property that there is a point corresponding to an adjacent patch is used.

以上のような処理を実施することにより、面分150の境界である稜線相当線は稜線のセグメントと一致するようになり、またセグメントの端点についても頂点と一致するようになるため、面分150と稜線及び頂点との乖離は除去されるようになる。すなわち、C0の連続性を保持することができるため、許容差の大小に関係なく、図形演算を実施することができるようになる。また、オフセットした曲面についても許容差が原因で図形演算が停止するようなことはなくなる。また、本実施の形態では、胞複体表現を行っていない。胞複体表現よりも本実施の形態の方がデータ構造が簡単でデータ量も小さいからである。 By performing the processing as described above, the ridge line equivalent line that is the boundary of the surface segment 150 becomes coincident with the segment of the ridge line, and the end point of the segment also coincides with the vertex. The divergence between the ridgeline and the vertex is removed. That is, since the continuity of C 0 can be maintained, it is possible to perform graphic operations regardless of the tolerance. Further, the figure calculation does not stop for the offset curved surface due to the tolerance. In the present embodiment, cell complex expression is not performed. This is because the data structure of this embodiment is simpler and the amount of data is smaller than the cell complex representation.

以上本発明の一実施の形態について説明したが、本発明はこれに限定されるものではない。具体的な図形形状を例にして説明したが、このような図形形状に適用が限定されるものではない。また、処理フローについてもシーケンシャルに実行する例を示したが、一部並列に処理できる部分も存在する。また、順番を入れ替えて実行できるステップも存在する。上で述べた処理の主旨を変更しない限りにおいて処理の順番などを変更することができる。   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 patch conversion unit 13, and the base patch conversion unit 17 may be configured to perform processing dynamically as necessary. As a result, the processing can be limited to patches that are involved in surface segment cutting, which is an internal processing of graphic computation, and the processing speed can be increased and the storage capacity can be saved. In addition, the format conversion unit 5 may use a method of generating general-purpose intermediate data and then converting it, or a method of converting directly.

(付記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 claim 1, wherein in the dividing step, the division is further performed using a parameter constant line obtained from a parameter value of a point on the surface corresponding to the segment connection point of the Bezier composite curve. Conversion processing method.

(付記3)
前記分割ステップにおいて、前記面分の境界線と前記パラメタ一定線との交点のパラメタ値から得られるパラメタ一定線をさらに用いて分割を行うことを特徴とする付記1又は2記載の図形データ変換処理方法。
(Appendix 3)
The graphic data conversion processing according to claim 1 or 2, wherein in the dividing step, the division is further performed by using a constant parameter line obtained from a parameter value at an intersection of the boundary line of the surface and the constant parameter line. Method.

(付記4)
前記基底パッチから決定されるパラメタ一定線が、前記基底パッチの接続制御点のパラメタ値から得られるパラメタ一定線であることを特徴とする付記1乃至3のいずれか1つ記載の図形データ変換処理方法。
(Appendix 4)
The graphic data conversion process according to any one of appendices 1 to 3, wherein the constant parameter line determined from the base patch is a constant parameter line obtained from a parameter value of a connection control point of the base patch. Method.

(付記5)
前記移動ステップが、
前記四辺形パッチ及び前記三角形パッチの頂点のうち前記面分の境界となる頂点に対応する前記ベジエ系複合曲線上の点で、前記ベジエ系複合曲線をさらに分割するステップ
を含む付記1乃至4のいずれか1つ記載の図形データ変換処理方法。
(Appendix 5)
The moving step comprises:
Additional steps 1 to 4 further comprising the step of further dividing the Bezier composite curve at 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. The graphic data conversion processing method according to any one of the above.

(付記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 appendices 1 to 5.

(付記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 supplementary notes 1 to 7, characterized by comprising:

(付記9)
前記基底パッチを前記ベジエ系複合曲面におけるパラメタ値に従って管理し、前記三角形パッチ及び前記四辺形パッチを前記ベジエ系複合曲線によるループ方向に管理することを特徴とする付記1乃至8記載のいずれか1つ記載の図形データ変換処理方法。
(Appendix 9)
The supplementary note 1 to 8, wherein the base patch is managed according to a parameter value in the Bezier composite curved surface, and the triangular patch and the quadrilateral patch are managed in a loop direction by the Bezier composite curve. Graphic data conversion processing method described in one.

(付記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 appendix 12 or 13, further including:

(付記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 point 15. The data structure according to appendix 14, wherein the data structure is modified to

従来技術の問題を説明するための図である。It is a figure for demonstrating the problem of a prior art. 本発明の一実施の形態に係る機能ブロック図である。It is a functional block diagram concerning one embodiment of the present invention. 本発明の一実施の形態におけるメイン処理フローを示すフローチャートである。It is a flowchart which shows the main process flow in one embodiment of this invention. 図形形状の模式図である。It is a schematic diagram of a figure shape. (a)は基底パッチ・データ格納部に格納されるデータの一例を、(b)は遷移四辺形パッチ領域データ格納部と遷移三角形パッチ領域データ格納部とを含む遷移領域データ格納部に格納されるデータの一例を、(c)はセグメントデータ格納部に格納されるデータの一例を示す。(A) is an example of data stored in the base patch data storage unit, and (b) is stored in a transition region data storage unit including a transition quadrilateral patch region data storage unit and a transition triangle patch region data storage unit. (C) shows an example of data stored in the segment data storage unit. パラメタ一定線などを含む図形形状を模式的に示す図である。It is a figure which shows typically the figure shape containing a parameter fixed line. 稜線乖離除去処理を説明するための図である。It is a figure for demonstrating a ridgeline deviation removal process. 遷移四辺形パッチの格納処理の処理フローを示す図である。It is a figure which shows the processing flow of the storage process of a transition quadrilateral patch. 遷移領域におけるパッチの配置を説明するための図である。It is a figure for demonstrating arrangement | positioning of the patch in a transition area | region. 遷移四辺形パッチ及び遷移三角形パッチと、稜線の乖離を示す斜視図である。It is a perspective view which shows the deviation of a transition quadrilateral patch and a transition triangle patch, and a ridgeline. 遷移四辺形パッチ及び遷移三角形パッチの頂点の移動を説明するための図である。It is a figure for demonstrating the movement of the vertex of a transition quadrilateral patch and a transition triangle patch. 遷移四辺形パッチ領域データ格納部のポインタを説明するための図である。It is a figure for demonstrating the pointer of a transition quadrilateral patch area | region data storage part. 遷移三角形パッチの格納処理の処理フローを示す図である。It is a figure which shows the processing flow of the storage process of a transition triangle patch. 遷移三角形パッチの斜辺の移動を説明するための図である。It is a figure for demonstrating the movement of the hypotenuse of a transition triangle patch.

符号の説明Explanation of symbols

1 CAD−Aシステム
3 CAD−Aデータ格納部
5 フォーマット変換部
7 Bスプライン系CADデータ格納部
9 基底図形変換部
11 ベジエ系CADデータ格納部
13 混成パッチ変換部
15 混成パッチ格納部
17 基底パッチ変換部
19 図形演算部
DESCRIPTION OF SYMBOLS 1 CAD-A system 3 CAD-A data storage part 5 Format conversion part 7 B spline system CAD data storage part 9 Base figure conversion part 11 Bezier system CAD data storage part 13 Hybrid patch conversion part 15 Hybrid patch storage part 17 Base patch conversion Part 19 Graphical computation part

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 figure according to claim 1, wherein in the dividing step, the division is further performed using a parameter constant line obtained from a parameter value of a point on the surface corresponding to a segment connection point of the Bezier compound curve. 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.
JP2003355371A 2003-10-15 2003-10-15 Graphic data conversion method and program, and data structure Expired - Fee Related JP4133727B2 (en)

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)

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