JP4952322B2 - Curved surface generator - Google Patents
Curved surface generator Download PDFInfo
- Publication number
- JP4952322B2 JP4952322B2 JP2007073433A JP2007073433A JP4952322B2 JP 4952322 B2 JP4952322 B2 JP 4952322B2 JP 2007073433 A JP2007073433 A JP 2007073433A JP 2007073433 A JP2007073433 A JP 2007073433A JP 4952322 B2 JP4952322 B2 JP 4952322B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- twist
- curved surface
- corner
- tangent
- 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
Landscapes
- Image Generation (AREA)
Description
本発明は、CADシステム等に利用され、所定の領域に曲面を生成する曲面生成装置に関する。 The present invention relates to a curved surface generation apparatus that is used in a CAD system or the like and generates a curved surface in a predetermined area.
従来、各種の構造物の設計にはCADシステムが用いられる場合が多く、このCADシステムに利用されて前記構造物の複雑な形状を表現するための曲面生成装置については、種々の開発が行われている。 Conventionally, a CAD system is often used for the design of various structures, and various developments have been made on curved surface generation devices that are used in this CAD system to express the complex shape of the structure. ing.
例えば、特許文献1には、複数のメッシュラインで囲まれた複数のパッチからなる所定の領域において、各パッチにクーンズ曲面を生成することで前記領域に曲面を生成するための装置が開示されている。具体的には、前記パッチの内部の横断ベクトルを、当該パッチの各コーナーにおける接線ベクトルを用いて3次のBezier関数式で算出している。そして、この3次のBezier関数式において、境界条件として、各コーナーにおける前記横断ベクトルの微分値、すなわち各コーナーにおけるツイストベクトルの値を全て0として与えている。 For example, Patent Document 1 discloses an apparatus for generating a curved surface in a predetermined region including a plurality of patches surrounded by a plurality of mesh lines by generating a Coons curved surface for each patch. Yes. Specifically, the transverse vector inside the patch is calculated by a cubic Bezier function equation using the tangent vector at each corner of the patch. In this cubic Bezier function equation, as a boundary condition, the differential value of the transverse vector at each corner, that is, the value of the twist vector at each corner is all set to zero.
この装置によれば、前記のように各コーナーにおけるツイストベクトルの値を全て0としているので、各コーナーにおいて隣接するパッチ間で横断ベクトルが変化しないことになるので、この隣接するパッチの接続部分において曲面が歪んでしまうのを抑制することができる。
しかしながら、前記の装置のように各コーナーにおけるツイストベクトルの値を0としてしまうと、各パッチの接続部分以外の部分すなわち各パッチの内部に歪を生じさせてしまう場合がある。すなわち、前記装置では、本来の曲面において各パッチ間の接続部分の横断ベクトルが変化している場合であっても、前記ツイストベクトルの値すなわちこの横断ベクトルの変化量を無理矢理0としているので、本来の曲面を正しく表現することができずにその影響がパッチ内部に現れてしまう。 However, if the value of the twist vector at each corner is set to 0 as in the above-described apparatus, distortion may occur in a portion other than the connection portion of each patch, that is, in each patch. That is, in the device, even when the crossing vector of the connection portion between the patches is changed on the original curved surface, the value of the twist vector, that is, the amount of change of the crossing vector is set to 0, so The curved surface cannot be correctly expressed, and the effect appears inside the patch.
前記のようにツイストベクトルの値を0として曲面を生成した場合の例を図1に示す。この図では、曲面を生成する領域が、メッシュラインm1〜m4およびn1〜n3で囲まれたパッチP1〜P6により構成されている。この図に示すように、ツイストベクトルを0とすると、パッチの接続部分には滑らかな曲面が生成されるが、各パッチ、例えばP2やP3の内部に歪が生じてしまうという問題がある。 An example in which a curved surface is generated with the value of the twist vector set to 0 as described above is shown in FIG. In this figure, a region for generating a curved surface is constituted by patches P1 to P6 surrounded by mesh lines m1 to m4 and n1 to n3. As shown in this figure, when the twist vector is 0, a smooth curved surface is generated at the patch connection portion, but there is a problem that distortion occurs in each patch, for example, P2 and P3.
本発明は、かかる事情に鑑み、所定の領域全体に滑らかな曲面をより確実に生成することのできる曲面生成装置の提供を目的とする。 In view of such circumstances, an object of the present invention is to provide a curved surface generating apparatus that can more reliably generate a smooth curved surface over a predetermined region.
上記課題を解決するための請求項1に係る発明は、u方向の複数のメッシュラインとv方向の複数のメッシュラインによって囲まれた1乃至複数のパッチからなる領域に曲面を生成する曲面生成装置において、前記パッチの各コーナーにおけるu方向の接線ベクトルを前記u方向のメッシュラインの形状に基づいて算出するともに、前記各コーナーにおけるv方向の接線ベクトルを前記v方向のメッシュラインの形状に基づいて算出する接線ベクトル算出手段と、前記各コーナーにおいて算出されたu方向の接線ベクトルに基づいて、当該u方向の接線ベクトルの終点あるい始点の少なくとも一方のv方向のメッシュライン沿いの軌跡を推定するとともに、前記各コーナーにおいて算出されたv方向の接線ベクトルに基づいて、当該v方向の接線ベクトルの終点あるいは始点の少なくとも一方のu方向のメッシュライン沿いの軌跡を推定する接線ベクトル軌跡推定手段と、前記推定されたu方向の接線ベクトルのv方向のメッシュライン沿いの軌跡およびv方向の接線ベクトルのu方向のメッシュライン沿いの軌跡に基づいて、前記各コーナーにおけるツイストベクトルを算出するツイストベクトル算出手段と、各コーナーにおける前記u方向の接線ベクトルと前記v方向の接線ベクトルと前記ツイストベクトルとに基づいて、前記領域内の曲面を算出する曲面算出手段とを有し、前記ツイストベクトル算出手段は、前記接線ベクトル軌跡推定手段において推定されたu方向の接線ベクトルのv方向のメッシュライン沿いの軌跡に基づいて、前記各コーナーにおけるv方向のツイストベクトルを算出するとともに、前記推定されたv方向の接線ベクトルのu方向のメッシュライン沿いの軌跡に基づいて前記各コーナーにおけるu方向のツイストベクトルを算出するuv方向ツイストベクトル算出手段と、前記算出された各コーナーにおけるu方向のツイストベクトルとv方向のツイストベクトルとをコーナー毎に平均化して、uv平均ツイストベクトルを算出するuv方向平均化手段とを有するとともに、当該uv平均ツイストベクトルに基づいて前記コーナーにおけるツイストベクトルを算出することを特徴とする曲面生成装置を提供する(請求項1)。
The invention according to claim 1 for solving the above-described problem is a curved surface generation apparatus that generates a curved surface in an area composed of one or more patches surrounded by a plurality of mesh lines in the u direction and a plurality of mesh lines in the v direction. The tangent vector in the u direction at each corner of the patch is calculated based on the shape of the mesh line in the u direction, and the tangent vector in the v direction at each corner is calculated based on the shape of the mesh line in the v direction. Based on the tangent vector calculation means to be calculated and the tangent vector in the u direction calculated at each corner, the trajectory along the mesh line in the v direction of at least one of the end point or the start point of the tangent vector in the u direction is estimated. In addition, based on the tangent vector in the v direction calculated at each corner, the v direction A tangential vector trajectory estimating means for estimating a trajectory along a mesh line in the u direction at least one of an end point or a start point of the line vector; a trajectory along the v direction mesh line of the estimated u tangent vector; Twist vector calculation means for calculating a twist vector at each corner based on a locus along the mesh line in the u direction of the tangent vector, the tangent vector in the u direction, the tangent vector in the v direction, and the twist vector at each corner. based on the bets, possess a curved surface calculating means for calculating the curved surface of the region, the twist vector calculating means, the tangent vector locus v direction of mesh lines along the tangent vector of the estimated u direction in the estimation means V-direction twist at each corner based on the trajectory of A uv direction twist vector calculating means for calculating a vector and calculating a twist vector in the u direction at each corner based on a locus along the mesh line in the u direction of the estimated tangent vector in the v direction; And a uv direction averaging means for calculating a uv average twist vector by averaging the twist vector in the u direction and the twist vector in the v direction at each corner, and calculating the uv average twist vector based on the uv average twist vector. A curved surface generation apparatus characterized by calculating a twist vector at a corner is provided.
この装置によれば、前記ツイストベクトル算出手段において、メッシュラインの形状および前記パッチの各コーナーにおける接線ベクトルに基づいてツイストベクトルが算出され、前記曲面算出手段において、このツイストベクトルと接線ベクトルとに基づいて曲面が算出されるので、前記メッシュラインの特性すなわちこのメッシュラインから導かれる曲面の特性を反映したより滑らかな曲面を算出することが可能となる。すなわち、従来のように前記ツイストベクトルを強制的に0とすることなくこのツイストベクトルを曲面の制御量として与えているので、生成した曲面に歪が生じてしまうのを抑制することが可能となる。 According to this apparatus, the twist vector calculating means calculates a twist vector based on the shape of the mesh line and the tangent vector at each corner of the patch, and the curved surface calculating means based on the twist vector and the tangent vector. Therefore, it is possible to calculate a smooth curved surface reflecting the characteristics of the mesh line, that is, the characteristics of the curved surface derived from the mesh line. That is, since the twist vector is given as a control amount of the curved surface without forcibly setting the twist vector to 0 as in the prior art, it is possible to suppress the occurrence of distortion on the generated curved surface. .
具体的には、前記接線ベクトル算出手段において前記メッシュラインの形状に基づいて各コーナーにおけるuv方向の接線ベクトルが算出され、前記接線ベクトル軌跡推定手段にて、前記各コーナーにおけるuv方向の接線ベクトルの始点あるいは終点のメッシュライン沿いの軌跡が各方向のメッシュラインに沿った接線ベクトルに基づいて推定されており、当該接線ベクトルの軌跡に各メッシュラインの形状を反映させることが可能となる。そして、この推定された接線ベクトルの軌跡に基づいて各コーナーにおけるu方向のツイストベクトルおよびv方向のツイストベクトルが算出されるので、これら各方向のツイストベクトルにもまた前記メッシュラインの形状を反映させることが可能となる。従って、前記メッシュラインの形状ひいては曲面の全体形状が反映されたツイストベクトルを算出することができるので、このツイストベクトルに基づいて曲面を算出することで滑らかな曲面をより正確に算出することが可能となる。 Specifically, the tangent vector calculation unit calculates a tangent vector in the uv direction at each corner based on the shape of the mesh line, and the tangent vector locus estimation unit calculates the tangent vector in the uv direction at each corner. The trajectory along the mesh line at the start point or the end point is estimated based on the tangent vector along the mesh line in each direction, and the shape of each mesh line can be reflected in the trajectory of the tangent vector. Then, since the twist vector in the u direction and the twist vector in the v direction at each corner are calculated based on the estimated locus of the tangent vector, the shape of the mesh line is also reflected in the twist vector in each direction. It becomes possible. Accordingly, since the twist vector reflecting the shape of the mesh line and the entire shape of the curved surface can be calculated, the smooth curved surface can be calculated more accurately by calculating the curved surface based on the twist vector. It becomes.
また、この装置によれば、各コーナーにおいて前記u方向のツイストベクトルとv方向のツイストベクトルとを均等に反映したuv方向平均ツイストベクトルが算出され、このuv方向平均ツイストベクトルに基づいて各コーナーのツイストベクトルが算出されるので、uv方向のいずれのメッシュライン形状にも即したツイストベクトルを求めることが可能となる。
Further, according to this apparatus, the uv direction average twist vector that equally reflects the u direction twist vector and the v direction twist vector is calculated at each corner, and each corner is calculated based on the uv direction average twist vector. Since the twist vector is calculated, it is possible to obtain a twist vector that matches any mesh line shape in the uv direction.
また本発明において、前記ツイストベクトル算出手段は、前記領域が複数のパッチからなるとともに当該各パッチの所定のコーナーが前記メッシュラインの所定の交点周りで互いに隣接している場合に、当該各コーナーに対してそれぞれ算出された前記uv平均ツイストベクトルを前記交点周りでの曲面が滑らかな形状となるように相互補間することで、各コーナーにおけるツイストベクトルを算出するのが好ましい(請求項2)。
Further, in the present invention, the twist vector calculating means may calculate each of the corners when the region includes a plurality of patches and the predetermined corners of the patches are adjacent to each other around a predetermined intersection of the mesh lines. by the curved surface at said intersection point around the uv average twist vector calculated respectively mutually interpolated to a smooth shape for, preferably calculates the twist vector at each corner (claim 2).
この構成によれば、所定のコーナーに対してパッチ毎に算出された前記uv方向平均ツイストベクトルを前記交点周りでの曲面が滑らかな形状となるように相互補間するので、各コーナーのツイストベクトルの値を維持して各パッチ内での曲面の特性を保ちつつパッチ間の接続を滑らかにすることが可能となる。 According to this configuration, the uv-direction average twist vector calculated for each patch with respect to a predetermined corner is interpolated so that the curved surface around the intersection has a smooth shape. The connection between patches can be made smooth while maintaining the characteristic of the curved surface in each patch while maintaining the value.
また本発明において、前記ツイストベクトル算出手段は、前記所定の交点周りで互いに隣接している各コーナーに対してそれぞれ算出された前記uv平均ツイストベクトルを、それぞれu方向成分、v方向成分および面直方向成分に分解し、これらの成分値を各コーナーにおけるu方向の接線ベクトルおよびv方向の接線ベクトルの値に基づいてそれぞれ単位接線ベクトル当りの値に変換する規格化手段と、この規格化手段にて算出されたコーナー毎の単位接線ベクトル当りの各成分値を、それぞれ成分毎にコーナー間で平均化して単位ツイストベクトルを算出するとともに、この単位ツイストベクトルを各コーナーにおけるu方向の接線ベクトルおよびv方向の接線ベクトルの値に基づいて補正することで、各コーナーにおけるツイストベクトルをそれぞれ算出する補正手段とを有するのが好ましい(請求項3)。
Also, in the present invention, the twist vector calculation means calculates the uv average twist vector calculated for each corner adjacent to each other around the predetermined intersection, respectively, as the u-direction component, the v-direction component, and the perpendicularity. A normalizing means for decomposing the component into direction components, and converting these component values into values per unit tangent vector based on the values of the tangent vector in the u direction and the tangent vector in the v direction at each corner; Each component value per unit tangent vector calculated for each corner is averaged between the corners for each component to calculate a unit twist vector, and this unit twist vector is converted to a tangent vector in the u direction at each corner and v By correcting based on the value of the tangent vector in the direction, the twist base at each corner Preferably it has a correction means for calculating the torque, respectively (claim 3).
この構成では、前記規格化手段にて前記uv方向平均ツイストベクトルの各成分値を単位接線ベクトルの値に変換することで、各コーナーのuv方向平均ツイストベクトルの傾きを抽出し、前記補正手段にて、この傾きをコーナー間で平均化して、この平均化された傾きを有する単位ツイストベクトルを各コーナーにおけるu方向の接線ベクトルおよびv方向の接線ベクトルの値に応じて補正することで、各コーナーのツイストベクトルを、傾きが等しく各パッチの形状を反映したベクトルとして算出している。すなわち、この構成によれば、所定の交点回りのコーナーにおけるツイストベクトルの傾きを各パッチの特性を反映しつつ一定とすることができるので、前記交点回りのパッチの接続部分に滑らかな曲面を生成することが可能となる。また、前記のように各コーナーにおけるツイストベクトルに各コーナーにおけるu方向の接線ベクトルおよびv方向の接線ベクトルの値を反映しているので、各パッチ内部の曲面の歪をより確実に抑制することが可能となる。すなわち、本構成によれば、曲面の特性を維持しつつパッチの接続部分およびパッチ内部の形状が滑らかとなる曲面を生成することが可能となる。 In this configuration, the normalization unit converts each component value of the uv direction average twist vector into a unit tangent vector value, thereby extracting the slope of the uv direction average twist vector of each corner and supplying the correction unit to the correction unit. Then, the inclination is averaged between the corners, and the unit twist vector having the averaged inclination is corrected in accordance with the values of the tangent vector in the u direction and the tangent vector in the v direction at each corner. Is calculated as a vector that has the same inclination and reflects the shape of each patch. In other words, according to this configuration, since the inclination of the twist vector at a corner around a predetermined intersection can be made constant while reflecting the characteristics of each patch, a smooth curved surface is generated at the connection portion of the patch around the intersection. It becomes possible to do. In addition, as described above, the values of the tangent vector in the u direction and the tangent vector in the v direction at each corner are reflected in the twist vector at each corner, so that distortion of the curved surface inside each patch can be more reliably suppressed. It becomes possible. That is, according to the present configuration, it is possible to generate a curved surface in which the patch connection portion and the shape inside the patch are smooth while maintaining the characteristics of the curved surface.
また本発明において、前記曲面算出手段で算出された曲面に基づいて、当該曲面上の所定の点におけるツイストベクトルを算出し、このツイストベクトルの大きさあるいは当該
ツイストベクトルの変化量の少なくとも一つと予め設定された所定値とを比較し、この比較結果に基づいて前記曲面が所定の形状を有しているかどうかを判定する判定手段を有するのが好ましい(請求項4)。
In the present invention, a twist vector at a predetermined point on the curved surface is calculated based on the curved surface calculated by the curved surface calculating means, and at least one of the magnitude of the twist vector or the amount of change of the twist vector is calculated in advance. comparing the set predetermined value, the curved surface on the basis of the comparison result preferably has a judging means for judging whether a predetermined shape (claim 4).
このようにすれば、前記曲面の形状変化を表すツイストベクトルの大きさあるいは変化量に基づいて曲面が所定の形状を有しているかどうかが判定されるので、より容易にこの曲面の形状を判定することが可能となる。 In this way, since it is determined whether the curved surface has a predetermined shape based on the magnitude or amount of the twist vector representing the change in shape of the curved surface, it is possible to more easily determine the shape of the curved surface. It becomes possible to do.
また本発明において、前記判定手段において前記曲面が所定の形状を有していないと判定された場合に、その旨を報知する報知手段を有するのが好ましい(請求項5)。
Further, in the present invention, it is preferable to have a notifying means for notifying that when the determining means determines that the curved surface does not have a predetermined shape (Claim 5 ).
このようにすれば、前記報知手段によって使用者等が曲面形状が所定の形状を有しているかどうかを容易に認識することができ、利便性が向上する。 In this way, the user can easily recognize whether or not the curved surface has a predetermined shape by the notification means, and convenience is improved.
また本発明において、前記判定手段は、前記ツイストベクトルの大きさあるいは前記ツイストベクトルの変化量を、前記u方向およびv方向のローカル座標系にて算出し、当該ローカル座標上で前記ツイストベクトルの大きさおよび変化量と所定値とを比較するのが好ましい(請求項6)。 In the present invention, the determination unit calculates the magnitude of the twist vector or the amount of change of the twist vector in the local coordinate system in the u direction and the v direction, and the magnitude of the twist vector on the local coordinate. It is preferable to compare the height and the amount of change with a predetermined value (claim 6 ).
このようにすれば、メッシュラインで囲まれた面に対する前記ツイストベクトルの大きさあるいは変化量に基づいて曲面形状の妥当性を判定することができるので、曲面の滑らかさをより正確に判断することが可能となる。 In this way, the validity of the curved surface shape can be determined based on the magnitude or amount of change of the twist vector with respect to the surface surrounded by the mesh line, so that the smoothness of the curved surface can be determined more accurately. Is possible.
以上のように、本発明によれば、所定の境界線で囲まれた領域により滑らかな曲線を生成することのできる曲面生成装置を提供することができる。 As described above, according to the present invention, it is possible to provide a curved surface generation apparatus that can generate a smooth curve by a region surrounded by a predetermined boundary line.
以下、本発明の好ましい実施形態について図面を参照して説明する。 Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings.
図5は本発明の実施形態に係る曲面生成装置の概略ブロック図であり、図2〜図4はこの曲面生成装置における演算要領を示すフローチャートである。図6〜図19はこの曲面生成装置の具体的な演算方法を説明するための図である。 FIG. 5 is a schematic block diagram of the curved surface generation apparatus according to the embodiment of the present invention, and FIGS. 2 to 4 are flowcharts showing calculation procedures in the curved surface generation apparatus. 6 to 19 are diagrams for explaining a specific calculation method of the curved surface generation apparatus.
本曲面生成装置10は、図示しないコンピュータ上で駆動されるCADシステムに用いられるものである。すなわち、この曲面生成装置10は、コンピュータに接続されるキーボードやマウス等の操作に基づいてコンピュータ内のCPUで各種の演算が実行され、その演算結果が前記コンピュータに接続されるディスプレイ等に出力されるように構成されている。 The curved surface generation apparatus 10 is used in a CAD system driven on a computer (not shown). That is, the curved surface generation apparatus 10 executes various calculations by a CPU in the computer based on an operation of a keyboard or a mouse connected to the computer, and outputs the calculation results to a display or the like connected to the computer. It is comprised so that.
この曲面生成装置10は、図5に示すようにメッシュライン保存手段20、接線ベクトル算出手段30、接線ベクトル軌跡推定手段40、ツイストベクトル算出手段50、曲面算出手段60、判定手段70、報知手段80を備えている。この曲面生成装置10は、図6の(a)等に示すような複数のu方向のメッシュラインMu[n](u)(n=0〜n0)と複数のv方向メッシュラインMv[m](v)(m=0〜m0)によってそれぞれ囲まれた複数のパッチP[m,n]からなる領域に曲面を生成するためのものである。本実施形態では、n0=3、m0=4としている。 As shown in FIG. 5, the curved surface generation apparatus 10 includes a mesh line storage unit 20, a tangent vector calculation unit 30, a tangent vector locus estimation unit 40, a twist vector calculation unit 50, a curved surface calculation unit 60, a determination unit 70, and a notification unit 80. It has. The curved surface generation apparatus 10 includes a plurality of u-direction mesh lines Mu [n] (u) (n = 0 to n0) and a plurality of v-direction mesh lines Mv [m] as shown in FIG. (V) For generating a curved surface in a region composed of a plurality of patches P [m, n] respectively surrounded by (m = 0 to m0). In this embodiment, n0 = 3 and m0 = 4.
前記メッシュライン保存手段20は、前記u方向のメッシュラインMu[n](u)とv方向メッシュラインMv[m](v)を保存するためのものであり、このメッシュライン保存手段20には、予め算出された各メッシュラインの関数が保存されている。ここで、各メッシュラインは前記領域に生成する曲面に沿うように予め求められたものである。 The mesh line storage means 20 is for storing the mesh line Mu [n] (u) in the u direction and the mesh line Mv [m] (v) in the v direction. A function of each mesh line calculated in advance is stored. Here, each mesh line is obtained in advance along the curved surface generated in the region.
前記、メッシュラインMu[n](u)およびMv[m](v)は、それぞれu,v方向の区間多項式U(u),V(v)で与えられており、各パッチP[m,n]は、図6の(b)に示すように、それぞれu方向のメッシュラインU[m,n](u)およびU[m,n+1](u)と、v方向のメッシュラインV[m,n](v)およびV[m+1,n](v)で囲まれている。また、各パッチP[m,n]は、それぞれ4つのコーナーC1[m,n],C2[m,n],C3[m,n],C4[m,n]を有している。これらのコーナーC1〜C4における前記メッシュラインの交点をそれぞれ、Q[m,n],Q[m+1,n],Q[m,n+1],Q[m+1,n+1]と示す。 The mesh lines Mu [n] (u) and Mv [m] (v) are given by interval polynomials U (u) and V (v) in the u and v directions, respectively, and each patch P [m, n], as shown in FIG. 6B, mesh lines U [m, n] (u) and U [m, n + 1] (u) in the u direction and mesh line V [m in the v direction, respectively. , N] (v) and V [m + 1, n] (v). Each patch P [m, n] has four corners C1 [m, n], C2 [m, n], C3 [m, n], and C4 [m, n]. The intersections of the mesh lines at the corners C1 to C4 are denoted as Q [m, n], Q [m + 1, n], Q [m, n + 1], Q [m + 1, n + 1], respectively.
前記接線ベクトル算出手段30は、前記メッシュライン保存手段20から出力された各メッシュラインU,Vに基づいて各パッチPの各コーナーCにおける接線ベクトルを算出するものである。前記接線ベクトル軌跡推定手段40は、前記算出された各コーナーCの接線ベクトルのu,v方向の軌跡を推定するものである。前記ツイストベクトル算出手段50は、前記接線ベクトル算出手段30で算出された各コーナーCにおける接線ベクトルと前記接線ベクトル軌跡推定手段40で推定された前記接線ベクトルの軌跡に基づいて各コーナーCにおけるツイストベクトルを算出するものである。前記曲面算出手段60は、前記算出された各コーナーCにおける接線ベクトルとツイストベクトルとに基づいて前記領域に曲面を生成するものである。 The tangent vector calculation unit 30 calculates a tangent vector at each corner C of each patch P based on the mesh lines U and V output from the mesh line storage unit 20. The tangent vector trajectory estimating means 40 estimates the trajectories in the u and v directions of the calculated tangent vectors of the respective corners C. The twist vector calculating unit 50 is configured to convert the twist vector at each corner C based on the tangent vector at each corner C calculated by the tangent vector calculating unit 30 and the locus of the tangent vector estimated by the tangent vector locus estimating unit 40. Is calculated. The curved surface calculation means 60 generates a curved surface in the region based on the calculated tangent vector and twist vector at each corner C.
また、前記判定手段70は、前記曲面算出手段60にて生成された曲面に基づいてツイストベクトルを算出し、このツイストベクトルを用いて曲面が滑らかな形状を有しているかどうかを判定するものである。前記報知手段80は、前記判定手段70において、曲面が滑らかな形状を有していない場合に、その旨を使用者等に報知するものである。 The determination unit 70 calculates a twist vector based on the curved surface generated by the curved surface calculation unit 60, and determines whether or not the curved surface has a smooth shape using the twist vector. is there. The notification means 80 notifies the user or the like when the determination means 70 does not have a smooth curved surface.
以下に、これら各手段の具体的な構成および動作について図2〜図4のフローチャート等を用いて説明する。 Hereinafter, specific configurations and operations of these means will be described with reference to the flowcharts of FIGS.
まず、前記メッシュライン保存手段20よりu方向の複数のメッシュラインU[m,n](u)とv方向の複数のメッシュラインV[m,n](v)とをそれぞれ読み込む(ステップS11)。 First, a plurality of mesh lines U [m, n] (u) in the u direction and a plurality of mesh lines V [m, n] (v) in the v direction are read from the mesh line storage unit 20 (step S11). .
次に、接線ベクトル算出手段30にて、各メッシュラインU,Vに基づいて各パッチP[m,n]の各コーナーC1〜C4におけるu方向の接線ベクトルf1[m,n]〜f4[m,n]とv方向の接線ベクトルg1[m,n]〜g4[m,n]とをそれぞれ算出する。 Next, in the tangent vector calculation means 30, the tangent vectors f1 [m, n] to f4 [m in the u direction at the respective corners C1 to C4 of the respective patches P [m, n] based on the mesh lines U and V. , N] and the tangent vectors g1 [m, n] to g4 [m, n] in the v direction, respectively.
ここで、前記接線ベクトルf1,f4は、図7に示すように、コーナーC1,C4における交点Q[m,n],Q[m,n+1]をそれぞれ始点とするu方向の接線ベクトルであり、接線ベクトルf2およびf3は、コーナーC2,C3における交点Q[m+1,n],Q[m+1,n+1]をそれぞれ終点とするu方向の接線ベクトルである。また、接線ベクトルg1,g2は、コーナーC1,C2における交点Q[m,n],Q[m+1,n]をそれぞれ始点とするv方向の接線ベクトルであり、接線ベクトルg3,g4は、コーナーC3,C4における交点Q[m+1,n+1],Q[m,n+1]をそれぞれ終点とするv方向の接線ベクトルである。 Here, as shown in FIG. 7, the tangent vectors f1 and f4 are tangent vectors in the u direction starting from intersections Q [m, n] and Q [m, n + 1] at corners C1 and C4, respectively. The tangent vectors f2 and f3 are tangent vectors in the u direction that end at the intersections Q [m + 1, n] and Q [m + 1, n + 1] at the corners C2 and C3, respectively. The tangent vectors g1 and g2 are v-direction tangent vectors starting from the intersections Q [m, n] and Q [m + 1, n] at the corners C1 and C2, respectively. The tangent vectors g3 and g4 are the corners C3. , C4, tangent vectors in the v direction, each having an intersection Q [m + 1, n + 1] and Q [m, n + 1] as end points.
この接線ベクトル算出手段30では、前記u方向の接線ベクトルf1〜f4を式(1)〜(4)に示すように、パッチP[m,n]を囲むu方向のメッシュラインU[m,n](u)およびU[m,n+1](u)をそれぞれ微分することで算出する。同様に、前記v方向の接線ベクトルg1〜g4を、パッチP[m,n]を囲むv方向のメッシュラインV[m,n](v)およびV[m+1,n](v)をそれぞれ微分することで算出する。(ステップS12)。 In the tangent vector calculation means 30, the u-direction mesh lines U [m, n] surrounding the patch P [m, n] are obtained by using the u-direction tangent vectors f1 to f4 as shown in the equations (1) to (4). ] (U) and U [m, n + 1] (u) are respectively differentiated. Similarly, the v-direction tangent vectors g1 to g4 are differentiated from the v-direction mesh lines V [m, n] (v) and V [m + 1, n] (v) surrounding the patch P [m, n], respectively. To calculate. (Step S12).
前記u[x]は、交点Q[x,n]のu座標である。 The u [x] is the u coordinate of the intersection point Q [x, n].
以上の演算を全てのパッチP[m,n]について行い、各パッチP[m,n]の各コーナーC1〜C4における接線ベクトルを算出する。ここで、互いに隣接し所定のメッシュラインおよび交点を共有するパッチでは、当該交点における前記共有するメッシュライン上の接線ベクトルは同一となる。例えば、図7に示すように、パッチP[m,n]とv方向に隣接するパッチP[m,n−1]では、このP[m,n−1]におけるコーナーC4[m,n−1]のu方向の接線ベクトルf4[m,n−1]は、パッチP[m,n]におけるコーナーC1[m,n]におけるu方向の接線ベクトルf1[m,n]と同一となる。 The above calculation is performed for all patches P [m, n], and the tangent vectors at the corners C1 to C4 of each patch P [m, n] are calculated. Here, in patches that are adjacent to each other and share a predetermined mesh line and intersection, the tangent vectors on the shared mesh line at the intersection are the same. For example, as shown in FIG. 7, in the patch P [m, n-1] adjacent to the patch P [m, n] in the v direction, the corner C4 [m, n- The tangent vector f4 [m, n-1] in the u direction of 1] is the same as the tangent vector f1 [m, n] in the u direction at the corner C1 [m, n] in the patch P [m, n].
次に、前記接線ベクトル軌跡手段40にて、各接線ベクトルの各メッシュライン沿いの軌跡を推定する。前記接線ベクトルのうち各交点Qを始点とする接線ベクトル(f1,f4,g1,g2)については、その終点のメッシュライン沿いの軌跡を推定し、前記接線ベクトルのうち各交点Qを終点とする接線ベクトル(f2,f3,g3,g4)については、その始点のメッシュライン沿いの軌跡を推定する。また、u方向の接線ベクトルf1〜f4については、v方向のメッシュライン沿いの軌跡を推定し、v方向の接線ベクトルg1〜g4については、u方向のメッシュライン沿いの軌跡を推定する。 Next, the tangent vector locus means 40 estimates the locus along each mesh line of each tangent vector. For the tangent vectors (f1, f4, g1, g2) starting from each intersection Q among the tangent vectors, the trajectory along the mesh line of the end point is estimated, and each intersection Q of the tangent vectors is the end point. For the tangent vector (f2, f3, g3, g4), the locus along the mesh line of the starting point is estimated. For the tangent vectors f1 to f4 in the u direction, the trajectory along the mesh line in the v direction is estimated, and for the tangent vectors g1 to g4 in the v direction, the trajectory along the mesh line in the u direction is estimated.
ここでは、図8の(a)および図8の(b)を用いて、v方向の接線ベクトルgのu方向のメッシュラインMu[1]沿いの軌跡を推定する方法について説明する。 Here, a method for estimating the locus along the mesh line Mu [1] in the u direction of the tangent vector g in the v direction will be described with reference to FIGS. 8A and 8B.
まず、前記接線ベクトル算出手段30で算出された各接線ベクトルから、図8の(a)に示すように、メッシュラインMu[1]上の各交点Q[0,1]〜Q[4,1]を始点とするv方向の接線ベクトルg1[0,1]、g1[1,1](=g2[0,1]),g1[2,1](=g2[1,1])、g1[3,1](=g2[2,1])、g2[3、1]を抽出する。そして、これらの接線ベクトルの終点をスプライン補間して、これら終点のu方向のメッシュラインMu[1]沿いの軌跡Ge[1](u,v)を算出する。 First, from each tangent vector calculated by the tangent vector calculation means 30, as shown in FIG. 8A, each intersection point Q [0,1] to Q [4,1] on the mesh line Mu [1]. ] Starting tangent vectors g1 [0,1], g1 [1,1] (= g2 [0,1]), g1 [2,1] (= g2 [1,1]), g1 [3,1] (= g2 [2,1]) and g2 [3,1] are extracted. Then, the end points of these tangent vectors are spline-interpolated to calculate the trajectory Ge [1] (u, v) along the mesh line Mu [1] in the u direction of these end points.
一方、メッシュラインMu[1]上の各交点Q[0,1]〜Q[4,1]を終点とする前記v方向の接線ベクトルの当該メッシュラインMu[1]沿いの軌跡Gs[0](u,v)は、図8(b)に示すように、接線ベクトルg4[0,0]、g4[1,0],g4[2,0]、g4[3,0]、g3[3、0]の始点をスプライン補間することで算出する。 On the other hand, the trajectory Gs [0] along the mesh line Mu [1] of the tangential vector in the v direction that ends at each intersection Q [0,1] to Q [4,4] on the mesh line Mu [1]. As shown in FIG. 8B, (u, v) is a tangent vector g4 [0,0], g4 [1,0], g4 [2,0], g4 [3,0], g3 [3 , 0] is calculated by spline interpolation.
このようにして、各交点を始点とするv方向の接線ベクトルgの終点のu方向のメッシュライン沿いの軌跡Ge[n](u,v)と、各交点を終点とするv方向の接線ベクトルgの始点のu方向のメッシュライン沿いの軌跡Gs[n](u,v)を算出する。同様にして、各交点を始点とするu方向の接線ベクトルfの終点のv方向のメッシュライン沿いの軌跡Fe[m](u,v)と、各交点を終点とするu方向の接線ベクトルの始点のv方向のメッシュライン沿いの軌跡Fs[m](u,v)を算出する(ステップS13)。これらの軌跡は、曲面の接線ベクトルがメッシュラインに沿ってどのように変化しているかを表すものであり、曲面形状の変化傾向を表すものである。 In this way, the trajectory Ge [n] (u, v) along the mesh line in the u direction at the end point of the tangent vector g in the v direction starting from each intersection point, and the tangent vector in the v direction starting from each intersection point. The trajectory Gs [n] (u, v) along the mesh line in the u direction at the start point of g is calculated. Similarly, the trajectory Fe [m] (u, v) along the mesh line in the v direction at the end point of the tangent vector f in the u direction starting from each intersection point and the tangent vector in the u direction starting from each intersection point. A trajectory Fs [m] (u, v) along the mesh line in the v direction of the starting point is calculated (step S13). These trajectories represent how the tangent vector of the curved surface changes along the mesh line, and represent the changing tendency of the curved surface shape.
ここで、図9(a)に示すように、各パッチP[m,n]の各コーナーC1〜C4における接線ベクトルとして、各交点が例えば全て始点となるように設定することも可能である。しかしながら、このように設定してしまうと、図9(b)に示すように、同じパッチPxのコーナーC1における接線ベクトルであっても、uv方向を反転させた際にその値が変化してしまう可能性が高い。このように各接線ベクトルの値が変化するとこれら接線ベクトルの軌跡の形状がGxからGx´に変化し、後述するようにこの接線ベクトルの軌跡を用いて曲面を生成した際に、生成される曲面の形状が変化してしまう場合がある。すなわち、各パッチの各コーナーにおける接線ベクトルを前記のように設定してしまうと、曲面の形状がuv方向に依存してしまい好ましくない。これに対して、本実施形態では、前記のように、パッチの各コーナーのうちそのコーナーからパッチがu方向,v方向の+側に延びるコーナーについては、そのu方向,v方向の接線ベクトルをそれぞれ各交点を始点とするベクトルとして設定し、そのコーナーからパッチがu方向,v方向の−側に延びるコーナーについては、そのu方向,v方向の接線ベクトルをそれぞれ各交点を終点とするベクトルとして設定し、各パッチの接線ベクトルがそれぞれパッチの内側で算出されるように構成している。このようにすれば、uv方向を反転させたとしても前記接線ベクトルの始点および終点の軌跡が変化してしまうのを回避することができ、曲面の形状が演算方向に依存してしまうことを防止することができる。 Here, as shown in FIG. 9A, the tangent vectors at the respective corners C1 to C4 of the respective patches P [m, n] can be set such that all the intersections are the starting points, for example. However, if it is set in this way, as shown in FIG. 9B, even if the tangent vector at the corner C1 of the same patch Px, its value changes when the uv direction is reversed. Probability is high. When the value of each tangent vector changes in this way, the shape of the locus of these tangent vectors changes from Gx to Gx ′, and a curved surface generated when a curved surface is generated using the locus of the tangent vector as will be described later. May change the shape. That is, if the tangent vector at each corner of each patch is set as described above, the shape of the curved surface depends on the uv direction, which is not preferable. On the other hand, in this embodiment, as described above, the tangent vectors in the u direction and the v direction are used for the corners of the patch that extend from the corner to the + side in the u direction and the v direction. Each intersection is set as a vector starting from the intersection, and for a corner where the patch extends from the corner to the minus side in the u direction and the v direction, the tangent vectors in the u direction and the v direction are respectively used as vectors having the intersection as an end point. It is configured so that the tangent vector of each patch is calculated inside the patch. In this way, even if the uv direction is reversed, it is possible to avoid changing the locus of the start point and end point of the tangent vector, and to prevent the curved surface shape from depending on the calculation direction. can do.
次に、前記ツイストベクトル算出手段50にて、各パッチP[m,n]の各コーナーC1〜C4におけるツイストベクトルを算出する。このツイストベクトル算出手段50は、uv方向ツイストベクトル算出手段51と、uv方向平均化手段52と、規格化手段53と、補正手段54とを備えている。 Next, the twist vector calculation means 50 calculates the twist vector at each corner C1 to C4 of each patch P [m, n]. The twist vector calculation unit 50 includes an uv direction twist vector calculation unit 51, an uv direction averaging unit 52, a normalization unit 53, and a correction unit 54.
前記uv方向ツイストベクトル算出手段51は、前記接線ベクトル軌跡推定手段40で算出された各接線ベクトルの軌跡に基づいて各パッチP[m,n]におけるコーナーC1〜C4のu方向のツイストベクトルおよびv方向のツイストベクトルを算出するものである。前記uv平均化手段52は、このuv方向ツイストベクトル算出手段51にて算出された各パッチP[m,n]の各コーナーC1〜C4におけるu方向およびv方向のツイストベクトルをコーナーC1〜C4毎に平均化しuv平均ツイストベクトルを算出するものである。前記規格手段53は、所定の交点周りで各コーナーが互いに隣接している場合に、各コーナーの前記uv平均ツイストベクトルに基づいてこれら隣接するコーナーについて後述する単位ツイストベクトルを算出するものである。前記補正手段54は、この単位ツイストベクトルに基づいて各パッチの各コーナーC1〜C4の最終ツイストベクトルを算出する手段である。 The uv direction twist vector calculation means 51 is based on the tangent vector trajectory calculated by the tangent vector trajectory estimation means 40 and the v direction twist vector and v of corners C1 to C4 in each patch P [m, n]. The direction twist vector is calculated. The uv averaging means 52 calculates the u-direction and v-direction twist vectors at the corners C1 to C4 of each patch P [m, n] calculated by the uv direction twist vector calculation means 51 for each corner C1 to C4. And the uv average twist vector is calculated. When the corners are adjacent to each other around a predetermined intersection, the standard means 53 calculates a unit twist vector to be described later for the adjacent corners based on the uv average twist vector of each corner. The correction means 54 is a means for calculating the final twist vector of each corner C1 to C4 of each patch based on this unit twist vector.
まず、前記uv方向ツイストベクトル算出手段51にて、前記接線ベクトル軌跡推定手段40で算出された各接線ベクトルの軌跡Fe[n],Fs[n],Ge[n],Gs[n]に基づいて、各パッチP[m,n]の各コーナーC1〜C4のu方向のツイストベクトルtw1_u[m,n]〜tw4_u[m,n]、およびv方向のツイストベクトルtw1_v[m,n]〜tw4_v[m,n]を算出する(ステップS14)。 First, the uv direction twist vector calculation means 51 is based on the trajectories Fe [n], Fs [n], Ge [n], and Gs [n] of each tangent vector calculated by the tangent vector locus estimation means 40. The twist vectors tw1_u [m, n] to tw4_u [m, n] in the u direction and the twist vectors tw1_v [m, n] to tw4_v in the u direction at the corners C1 to C4 of each patch P [m, n]. [M, n] is calculated (step S14).
ここでは、例として、コーナーC1にて各方向のツイストベクトルtw1_u[m,n],tw1_v[m,n]を算出する方法について説明する。まず、図10に示すように、v方向の接線ベクトルg1[m,n]のu方向のメッシュライン沿いの軌跡であるGe[n](u,v)から、前記接線ベクトルg1[m,n]のu方向に対する変化ベクトルq1[m,n]を算出する。具体的には、式(5)のようにGe[n](u,v)を微分して変化ベクトルq1[m,n]を算出する。 Here, as an example, a method for calculating the twist vectors tw1_u [m, n] and tw1_v [m, n] in each direction at the corner C1 will be described. First, as shown in FIG. 10, the tangent vector g1 [m, n] is derived from Ge [n] (u, v) which is a locus along the mesh line in the u direction of the tangential vector g1 [m, n] in the v direction. ] Change vector q1 [m, n] with respect to the u direction. Specifically, the change vector q1 [m, n] is calculated by differentiating Ge [n] (u, v) as shown in Equation (5).
この変化ベクトルq1[m,n]は、コーナーC1近傍においてv方向の接線ベクトルがu方向に沿ってどのように変化するかを表したものであり、パッチP[m,n]の曲面が、u方向に進むにつれ前記変化ベクトルq1の終点Qzに向かってねじれることを示している。ここで、コーナーC1近傍において、v方向の接線ベクトルg1がu方向に沿って変化しない場合、すなわち、曲面がu方向に対してねじれない場合には、v方向の接線ベクトルの終点は点Q0となる。従って、このコーナーC1における曲面のu方向のねじれを示すu方向のツイストベクトルtw1_u[m,n]は、前記Q0から前記Qzに向けてのベクトルとして算出することができ、式(6)のように表せる。 This change vector q1 [m, n] represents how the tangent vector in the v direction changes along the u direction in the vicinity of the corner C1, and the curved surface of the patch P [m, n] It shows that the twist is made toward the end point Qz of the change vector q1 as it proceeds in the u direction. Here, when the tangent vector g1 in the v direction does not change along the u direction in the vicinity of the corner C1, that is, when the curved surface does not twist with respect to the u direction, the end point of the tangent vector in the v direction is the point Q0. Become. Therefore, the twist vector tw1_u [m, n] in the u direction indicating the twist in the u direction of the curved surface at the corner C1 can be calculated as a vector from the Q0 to the Qz, as shown in Expression (6). It can be expressed as
tw1_u[m,n]=Qz−Q0=(f1+q1)−(g1+f1)=q1−g1 式(6)
同様にして、図11に示すように、コーナーC1におけるu方向の接線ベクトルf1[m,n]のv方向のメッシュライン沿いの軌跡であるFe[m](u,v)を用いて、以下の式(7)より接線ベクトルf1[m,n]のv方向に対する変化ベクトルr1[m,n]を算出し、このr1[m,n]に基づいてv方向のツイストベクトルtw1_v[m,n]を式(8)より算出する。
tw1_u [m, n] = Qz−Q0 = (f1 + q1) − (g1 + f1) = q1−g1 Formula (6)
Similarly, as shown in FIG. 11, Fe [m] (u, v), which is the locus along the mesh line in the v direction of the tangent vector f1 [m, n] in the u direction at the corner C1, is used as follows. The change vector r1 [m, n] with respect to the v direction of the tangent vector f1 [m, n] is calculated from the equation (7), and the twist vector tw1_v [m, n] in the v direction is calculated based on this r1 [m, n]. ] Is calculated from equation (8).
tw1_v[m,n]=Rz−R0=(g1+r1)−(g1+f1)=r1−f1 式(8)
次に、前記uv方向平均化手段52にて、前記パッチP[m,n]のコーナーC1におけるu方向のツイストベクトルtw1_u[m,n]とv方向のツイストベクトルtw1_v[m,n]を図12の(a)および図12の(b)に示すように、式(9)を用いて平均化して、パッチP[m,n]のコーナーC1におけるuv平均ツイストベクトルTw1[m,n]を算出する(ステップS15)。
tw1_v [m, n] = Rz−R0 = (g1 + r1) − (g1 + f1) = r1−f1 Formula (8)
Next, in the uv direction averaging means 52, a twist vector tw1_u [m, n] in the u direction and a twist vector tw1_v [m, n] in the v direction at the corner C1 of the patch P [m, n] are shown. 12 (a) and FIG. 12 (b), the uv average twist vector Tw1 [m, n] at the corner C1 of the patch P [m, n] is averaged using the equation (9). Calculate (step S15).
Tw1[m,n]=(tw1_u[m,n]+tw1_v[m,n])/2 式(9)
以上の演算を他のコーナーC2〜C4に対して行うとともに全てのパッチP[m,n]に対して実施し、各パッチP[m,n]の各コーナーC1〜C4におけるuv平均ツイストベクトルTw1[m,n]〜Tw4[m,n]を算出する。
Tw1 [m, n] = (tw1_u [m, n] + tw1_v [m, n]) / 2 Formula (9)
The above calculation is performed for the other corners C2 to C4 and is performed for all the patches P [m, n], and the uv average twist vector Tw1 at each corner C1 to C4 of each patch P [m, n]. [M, n] to Tw4 [m, n] are calculated.
このようにして各パッチP[m,n]の各コーナーC1〜C4においてそれぞれu方向の接線ベクトルf1〜f4、v方向の接線ベクトルg1〜g4およびuv平均ツイストベクトルTw1〜Tw4が算出されると、これらの値を用いて各パッチP[m,n]の曲面S[m,n](u,v)を算出することが可能となる。特に、本実施形態では、各コーナーC1〜C4に、曲面のねじれ傾向を表すuv平均ツイストベクトルTw1〜Tw4を各メッシュラインの形状ひいては曲面の形状を反映させるように与えているので、前記曲面S[m,n]を前記メッシュラインから想定される滑らかな形状を有するものとして算出することができる。 When the tangent vectors f1 to f4 in the u direction, the tangent vectors g1 to g4 in the v direction, and the uv average twist vectors Tw1 to Tw4 are calculated in the respective corners C1 to C4 of the patches P [m, n] in this way. The curved surface S [m, n] (u, v) of each patch P [m, n] can be calculated using these values. In particular, in the present embodiment, the uv average twist vectors Tw1 to Tw4 representing the twist tendency of the curved surface are given to the corners C1 to C4 so as to reflect the shape of each mesh line and the curved surface. [M, n] can be calculated as having a smooth shape assumed from the mesh line.
しかしながら、前記uv平均ツイストベクトルTw1〜Tw4を用いて各パッチP[m,n]の曲面S[m,n]を求めると、各パッチ内の曲面は滑らかな形状となるが、隣接するパッチの接続部分が滑らかな形状とならない場合がある。 However, when the curved surface S [m, n] of each patch P [m, n] is obtained using the uv average twist vectors Tw1 to Tw4, the curved surface in each patch becomes a smooth shape, but the adjacent patches The connecting part may not have a smooth shape.
そこで、本装置10では、複数のパッチが所定の交点回りで互いに隣接しており、複数のコーナーが所定の交点周りで互いに隣接している場合には、各パッチの接続部分を滑らかな形状とするよう、規格化手段53および補正手段54において、当該各コーナーにおける前記uv平均ツイストベクトルを相互補間する(ステップS16)。 Therefore, in the present apparatus 10, when a plurality of patches are adjacent to each other around a predetermined intersection, and a plurality of corners are adjacent to each other around a predetermined intersection, the connecting portion of each patch has a smooth shape. Thus, the normalization means 53 and the correction means 54 interpolate the uv average twist vectors at the respective corners (step S16).
ここでは、図13に示すように、交点Q[m,n]を囲んで4つのパッチP[m,n],P[m−1、n],P[m−1、n−1],P[m、n−1]が隣接し、これらパッチPのコーナーC1[m,n]、C2[m−1、n],C3[m−1、n−1],C4[m、n−1]が互いに隣接している場合について説明する。また、この相互補間の手順については、図3のフローチャートを用いて説明する。 Here, as shown in FIG. 13, four patches P [m, n], P [m−1, n], P [m−1, n−1], which surround the intersection Q [m, n], P [m, n−1] are adjacent to each other, and the corners C1 [m, n], C2 [m−1, n], C3 [m−1, n−1], and C4 [m, n− of these patches P are present. 1] are adjacent to each other. The mutual interpolation procedure will be described with reference to the flowchart of FIG.
まず、前記規格化手段53にて、前記各コーナーC1〜C4のuv平均ツイストベクトルTw1[m,n]、Tw2[m−1、n],Tw3[m−1、n−1],Tw4[m、n−1]をu方向成分、v方向成分および面直方向成分に分解し、これらの成分値を各コーナーC1〜C4における接線ベクトルの値に基づいて単位接線ベクトルあたりの値に変換する(ステップS21)。例えば、前記uv平均ツイストベクトルTw1[m,n]のu方向成分Tw1[m,n]_uの単位ベクトルあたりの値t1_u[m,n]は、図15の模式図に示すように、コーナーC1[m,n]におけるu方向の接線ベクトルf1[m,n]とv方向の接線ベクトルg1[m,n]とを用いて式(10)にて算出でき、v方向成分Tw1[m,n]_vの単位ベクトルあたりの値t1_v[m,n]は、式(11)にて算出でき、面直方向成分Tw1[m,n]_hの単位ベクトルあたりの値t1_h[m,n]については、式(12)から算出できる。 First, in the normalization means 53, the uv average twist vectors Tw1 [m, n], Tw2 [m-1, n], Tw3 [m-1, n-1], Tw4 [ m, n−1] are decomposed into u-direction component, v-direction component and perpendicular direction component, and these component values are converted into values per unit tangent vector based on the tangent vector values at the corners C1 to C4. (Step S21). For example, the value t1_u [m, n] per unit vector of the u-direction component Tw1 [m, n] _u of the uv average twist vector Tw1 [m, n] is represented by a corner C1 as shown in the schematic diagram of FIG. The u-direction tangent vector f1 [m, n] and the v-direction tangent vector g1 [m, n] in [m, n] can be calculated by the equation (10), and the v-direction component Tw1 [m, n ] _V per unit vector value t1_v [m, n] can be calculated by equation (11), and the value t1_h [m, n] per unit vector of the perpendicular component Tw1 [m, n] _h And can be calculated from the equation (12).
t1_u[m,n]=|Tw1[m,n]_u|/(|f1[m,n]|×|g1[m,n]|) 式(10)
t1_v[m,n]=|Tw1[m,n]_v|/(|f1[m,n]|×|g1[m,n]|) 式(11)
t1_h[m,n]=|Tw1[m,n]_h|/(|f1[m,n]|×|g1[m,n]|) 式(12)
このようにして、図14に示すように、各コーナーのuv平均ツイストベクトルの各成分値をそれぞれ単位ベクトルあたりの値に変換する。
t1_u [m, n] = | Tw1 [m, n] _u | / (| f1 [m, n] | × | g1 [m, n] |) Equation (10)
t1_v [m, n] = | Tw1 [m, n] _v | / (| f1 [m, n] | × | g1 [m, n] |) Equation (11)
t1_h [m, n] = | Tw1 [m, n] _h | / (| f1 [m, n] | × | g1 [m, n] |) Equation (12)
In this way, as shown in FIG. 14, each component value of the uv average twist vector at each corner is converted into a value per unit vector.
次に、補正手段54にて、各uv平均ツイストベクトルの各成分値を成分毎に平均化する。例えばu方向成分の平均値t_u_ave[m,n]は式(13)から算出する。 Next, the correction means 54 averages each component value of each uv average twist vector for each component. For example, the average value t_u_ave [m, n] of the u direction component is calculated from the equation (13).
t_u_ave[m,n]=(t1_u[m,n]+t2_u[m−1,n]+t3_u[m−1,n−1]+t4_u[m,n−1]]/4 式(13)
ここで、t2_u[m−1,n]は、前記コーナーC2[m−1,n]におけるuv平均ツイストベクトルTw2[m−1,n]の単位接線ベクトルあたりのu方向成分であり、t3_u[m−1,n−1]は、前記コーナーC3[m−1,n−1]におけるuv平均ツイストベクトルTw3[m−1,n−1]の単位接線ベクトルあたりのu方向成分であり、t4_u[m,n−1]は、前記コーナーC4[m,n−1]におけるuv平均ツイストベクトルTw4[m,n−1]の単位接線ベクトルあたりのu方向成分である。
t_u_ave [m, n] = (t1_u [m, n] + t2_u [m−1, n] + t3_u [m−1, n−1] + t4_u [m, n−1]] / 4 Equation (13)
Here, t2_u [m−1, n] is a u direction component per unit tangent vector of the uv average twist vector Tw2 [m−1, n] at the corner C2 [m−1, n], and t3_u [ m−1, n−1] is a u direction component per unit tangent vector of the uv average twist vector Tw3 [m−1, n−1] at the corner C3 [m−1, n−1], and t4_u. [M, n-1] is a u direction component per unit tangent vector of the uv average twist vector Tw4 [m, n-1] at the corner C4 [m, n-1].
同様に、単位接線あたりのv方向成分の平均値t_v_ave[m,n]および単位接線あたりの面直方向成分の平均値t_h_ave[m,n]を算出する。これらの平均値から、単位ツイストベクトルt_ave[m,n]は、t_u_ave[m,n],t_v_ave[m,n],t_h_ave[m,n]をu方向、v方向、面直方向の各成分とする下記ベクトルとして求められる(ステップS22)。 Similarly, the average value t_v_ave [m, n] of the v direction component per unit tangent and the average value t_h_ave [m, n] of the perpendicular direction component per unit tangent are calculated. From these average values, the unit twist vector t_ave [m, n] is t_u_ave [m, n], t_v_ave [m, n], and t_h_ave [m, n] in the u, v, and perpendicular directions. As the following vector (step S22).
t_ave[m,n]=(t_u_ave[m,n],t_v_ave[m,n],t_h_ave[m,n])
次に、この単位ツイストベクトルt_ave[m,n]を各パッチの大きさで補正することで、図16に示すように、各パッチの各コーナーにおける最終コーナーツイストベクトルT1〜T4を算出する(ステップS23)。具体的には、前記単位ツイストベクトルt_aveを各パッチの各コーナーにおけるu方向の接線ベクトルとv方向の接線ベクトルの大きさを掛けて式(14)〜(17)にて算出する。
t_ave [m, n] = (t_u_ave [m, n], t_v_ave [m, n], t_h_ave [m, n])
Next, by correcting the unit twist vector t_ave [m, n] with the size of each patch, as shown in FIG. 16, final corner twist vectors T1 to T4 at each corner of each patch are calculated (steps). S23). Specifically, the unit twist vector t_ave is calculated by Expressions (14) to (17) by multiplying the tangent vector in the u direction and the magnitude of the tangent vector in the v direction at each corner of each patch.
T1[m,n]=t_ave×(|f1[m,n]|×|g1[m,n]|) 式(14)
T2[m−1,n]=t_ave×(|f2[m−1,n]|×|g2[m−1,n]|) 式(15)
T3[m−1,n−1]=t_ave×(|f3[m−1,n−1]|×|g3[m−1,n−1]|) 式(16)
T4[m,n−1]=t_ave×(|f4[m,n−1]|×|g2[m,n−1]|) 式(17)
これらの最終コーナーツイストベクトルT1〜T4は、方向が同じで、各パッチの大きさに応じた大きさをそれぞれ有するベクトルである。従って、この最終コーナーツイストベクトルT1〜T4を用いて曲面を算出すれば、交点Q[m,n]周りの面の変化傾向を同一とすることができ、この交点Q[m,n]周りのパッチの接続部分を滑らかにすることができる。また、各最終コーナーツイストベクトルT1〜T4は、それぞれパッチの大きさに応じた大きさを有しているので、前記接続部分において各パッチの特性も維持されることになる。
T1 [m, n] = t_ave × (| f1 [m, n] | × | g1 [m, n] |) Equation (14)
T2 [m−1, n] = t_ave × (| f2 [m−1, n] | × | g2 [m−1, n] |) Equation (15)
T3 [m−1, n−1] = t_ave × (| f3 [m−1, n−1] | × | g3 [m−1, n−1] |) Equation (16)
T4 [m, n−1] = t_ave × (| f4 [m, n−1] | × | g2 [m, n−1] |) Equation (17)
These final corner twist vectors T1 to T4 are vectors having the same direction and sizes corresponding to the sizes of the patches. Therefore, if the curved surface is calculated using the final corner twist vectors T1 to T4, the change tendency of the surface around the intersection Q [m, n] can be made the same, and the area around the intersection Q [m, n] can be made the same. The patch connection can be smoothed. Further, since each of the final corner twist vectors T1 to T4 has a size corresponding to the size of the patch, the characteristics of each patch are also maintained at the connection portion.
ここで、図6の(a)に示すように、領域全体のコーナーにあたるパッチP[0,0]のコーナーC1[0,0]、パッチP[3,0]のコーナーC2[3,0],パッチP[0,2]のコーナーC4[0,2],パッチP[3,2]のコーナーC3[3,2]は、隣接するコーナーを有しないので、前記uv方向平均化手段52にて算出されたuv方向平均ツイストベクトルTwをそれぞれ最終コーナーツイストベクトルTとして出力する。 Here, as shown in FIG. 6A, the corner C1 [0,0] of the patch P [0,0] corresponding to the corner of the entire area and the corner C2 [3,0] of the patch P [3,0]. , Patch P [0,2] corner C4 [0,2] and patch P [3,2] corner C3 [3,2] do not have adjacent corners, so The uv direction average twist vector Tw calculated in the above is output as the final corner twist vector T.
次に、前記曲面生成手段60にて、算出された各パッチP[m,n]の各コーナーC1[m,n]〜C4[m,n]における最終コーナーツイストベクトルT1[m,n]〜T4[m,n]と、各コーナーにおけるu方向接線ベクトルf1[m,n]〜f4[m,n]およびv方向接線ベクトルg1[m,n]〜f4[m,n]に基づいて、各パッチP[m,n]に曲面S[m,n]を算出する(図2のフローチャートのステップS17)。本実施形態では、各曲面S[m,n]を3次のエルミート関数を用いて式(18)から算出する。 Next, in the curved surface generating means 60, final corner twist vectors T1 [m, n] ˜ at the respective corners C1 [m, n] ˜C4 [m, n] of the respective patches P [m, n] calculated. Based on T4 [m, n], u-direction tangent vectors f1 [m, n] to f4 [m, n] and v-direction tangent vectors g1 [m, n] to f4 [m, n] at each corner, A curved surface S [m, n] is calculated for each patch P [m, n] (step S17 in the flowchart of FIG. 2). In the present embodiment, each curved surface S [m, n] is calculated from Equation (18) using a cubic Hermite function.
ここで、S(0,0)、S(1,0)、S(0,1)、S(1,1)はそれぞれ交点Q[m,n],Q[m+1,n]、Q[m,n+1]、Q[m+1,n+1]の座標を表す。 Here, S (0,0), S (1,0), S (0,1), S (1,1) are intersection points Q [m, n], Q [m + 1, n], Q [m, respectively. , N + 1] and Q [m + 1, n + 1].
また、Su(u,v)は、Su(u,v)=∂S(u,v)/∂uであり、u方向の接線ベクトルを表す。すなわち、
Su(0,0)は接線ベクトルf1[m,n]であり、
Su(1,0)は接線ベクトルf2[m,n]であり、
Su(0,1)は接線ベクトルf4[m,n]であり、
Su(1,1)は接線ベクトルf3[m,n]である。
Further, S u (u, v) is S u (u, v) = ∂S (u, v) / ∂u and represents a tangent vector in the u direction. That is,
S u (0,0) is the tangent vector f1 [m, n],
S u (1, 0) is the tangent vector f2 [m, n],
S u (0,1) is the tangent vector f4 [m, n],
S u (1,1) is the tangent vector f3 [m, n].
また、Sv(u,v)はSv(u,v)=∂S(u,v)/∂vであり、v方向の接線ベクトルを表す。すなわち、
Sv(0,0)は接線ベクトルg1[m,n]であり、
Sv(1,0)は接線ベクトルg2[m,n]であり、
Sv(0,1)は接線ベクトルg4[m,n]であり、
Sv(1,1)は接線ベクトルg3[m,n]である。
S v (u, v) is S v (u, v) = ∂S (u, v) / ∂v, and represents a tangent vector in the v direction. That is,
S v (0,0) is the tangent vector g1 [m, n],
S v (1,0) is the tangent vector g2 [m, n],
S v (0,1) is the tangent vector g4 [m, n],
S v (1,1) is the tangent vector g3 [m, n].
また、Suv(u,v)は、Suv(u,v)=∂2S(u,v)/∂u∂vであり、各コーナーにおけるツイストベクトルを表す。すなわち、
Suv(0,0)は最終コーナーツイストベクトルT1[m,n]であり、
Suv(1,0)は最終コーナーツイストベクトルT2[m,n]であり、
Suv(0,1)は最終コーナーツイストベクトルT4[m,n]であり、
Suv(1,1)は最終コーナーツイストベクトルT3[m,n]である。
S uv (u, v) is S uv (u, v) = ∂2S (u, v) / ∂u∂v, and represents the twist vector at each corner. That is,
S uv (0,0) is the final corner twist vector T1 [m, n],
S uv (1, 0) is the final corner twist vector T2 [m, n],
S uv (0,1) is the final corner twist vector T4 [m, n],
S uv (1,1) is the final corner twist vector T3 [m, n].
このようにして、本装置10では、各接線ベクトルと各最終コーナーツイストベクトルとに基づいて各パッチP[m,n]に曲面S[m,n]を生成し、これらパッチ毎に生成された曲面S[m,n]に基づいてこれらパッチP[m,n]で構成された領域に曲面Stを生成する。このようにして算出した曲面Stの例を図17に示す。この図は、4×3本のメッシュラインで囲まれた6つのパッチに曲面を生成したものである。この図に示すように、本装置10を用いれば、パッチ間が滑らかに接続されるとともに各パッチの内部に歪を有しない曲面を生成することが可能となる。 In this manner, the apparatus 10 generates the curved surface S [m, n] for each patch P [m, n] based on each tangent vector and each final corner twist vector, and is generated for each patch. Based on the curved surface S [m, n], a curved surface St is generated in an area formed by these patches P [m, n]. An example of the curved surface St thus calculated is shown in FIG. In this figure, curved surfaces are generated in six patches surrounded by 4 × 3 mesh lines. As shown in this figure, by using the present apparatus 10, it is possible to smoothly connect between patches and generate a curved surface having no distortion inside each patch.
次に、前記算出された曲面Stが全体として滑らかな形状を有しているかどうかを前記判定手段70を用いて判定する(ステップS18)。ここでは、パッチP[m,n]の曲面S[m,n]毎に判定を行っていく。すなわち、このパッチP[m,n]に対して生成された曲面が、例えば、図18の(a)に示すような滑らかな形状を有する所望の曲面Sideal[m,n]であるのか、図18の(b)に示すようにパッチ内部の形状が大きく変化するような異常曲面Sf[m,n]であるのかどうかを判定する。 Next, it is determined using the determination means 70 whether or not the calculated curved surface St has a smooth shape as a whole (step S18). Here, the determination is performed for each curved surface S [m, n] of the patch P [m, n]. That is, whether the curved surface generated for the patch P [m, n] is, for example, a desired curved surface Side [m, n] having a smooth shape as shown in FIG. As shown in FIG. 18B, it is determined whether or not the surface is an abnormal curved surface Sf [m, n] whose shape changes greatly.
ここで、本発明に係る曲面生成装置10では、各最終コーナーツイストベクトルT1〜T4をメッシュラインの形状に基づいて算出しており、パッチP[m,n]に図18の(b)に示すような異常曲面Sf[m,n]が生成されるのを十分に抑制することができるが、前記判定手段70にて各パッチP[m,n]に生成された曲面S[m,n]の妥当性を判定することで、例えばメッシュラインが適当な形状を有していなかった等により異常曲面が生成されてしまうのをより確実に回避できるよう構成している。この判定手段70における判定の手順については、図4のフローチャートを用いて説明する。 Here, in the curved surface generating apparatus 10 according to the present invention, each final corner twist vector T1 to T4 is calculated based on the shape of the mesh line, and the patch P [m, n] is shown in FIG. 18B. The generation of such an abnormal curved surface Sf [m, n] can be sufficiently suppressed, but the curved surface S [m, n] generated for each patch P [m, n] by the determination means 70. By determining the appropriateness, it is possible to more reliably avoid the generation of an abnormal curved surface due to, for example, the mesh line not having an appropriate shape. The determination procedure in the determination means 70 will be described with reference to the flowchart of FIG.
図18の(b)に示すように、パッチP[m,n]の内部の形状が大きく変化しているということは、この生成された曲面Sf[m,n]の内部でのねじれが大きい、あるいは、このねじれが激しく変化していることを意味している。従って、前記判定手段70では、この曲面のねじれを表すツイストベクトルを用いて曲面S[m,n]の形状を判定する。ここで、本実施形態では、この判定手段70において、ツイストベクトルをそれぞれu,vのローカル座標系で算出し、このツイストベクトルを用いた判定をこのローカル座標で行う。 As shown in FIG. 18B, the fact that the shape of the inside of the patch P [m, n] has changed greatly means that the twist inside the generated curved surface Sf [m, n] is large. Or it means that this twist is changing drastically. Therefore, the determination means 70 determines the shape of the curved surface S [m, n] using the twist vector representing the twist of the curved surface. Here, in the present embodiment, the determination means 70 calculates the twist vectors in the u and v local coordinate systems, respectively, and performs the determination using the twist vectors based on the local coordinates.
まず、パッチP[m,n]の各コーナーC1〜C4における最終コーナーツイストベクトルT1〜T4が所定範囲内であるかどうかをコーナーツイストベクトル検証手段72にて検証する。 First, the corner twist vector verification means 72 verifies whether or not the final corner twist vectors T1 to T4 at the respective corners C1 to C4 of the patch P [m, n] are within a predetermined range.
このコーナーツイストベクトル検証手段72では、まず、従来の方法を用いて、各最終コーナーツイストベクトルT1〜T4を0としたときの曲面Stra[m,n]を算出する(ステップS31)。そして、図19に示すように、パッチP[m,n]を囲む各メッシュラインU[m,n](u),U[m,n+1](u),V[m,n](v),V[m+1,n](v)上の各点におけるツイストベクトルtw_m1_tra(u,v)〜tw_m4_tra(u,v)をそれぞれ算出する。ここで、曲面S(u,v)上の点Qxにおけるツイストベクトルtw(u,v)は式(19)にて算出することができる。 The corner twist vector verification means 72 first calculates a curved surface Stra [m, n] when each final corner twist vector T1 to T4 is set to 0 using a conventional method (step S31). Then, as shown in FIG. 19, each mesh line U [m, n] (u), U [m, n + 1] (u), V [m, n] (v) surrounding the patch P [m, n]. , V [m + 1, n] (v), twist vectors tw_m1_tra (u, v) to tw_m4_tra (u, v) at the respective points are calculated. Here, the twist vector tw (u, v) at the point Qx on the curved surface S (u, v) can be calculated by the equation (19).
次に、コーナーC1〜C4について、各コーナーを形成する2本のメッシュライン上の前記ツイストベクトルの存在範囲をそれぞれ算出し、この範囲からツイストベクトルの許容範囲を算出する(ステップS32)。 Next, for the corners C1 to C4, the existence range of the twist vector on the two mesh lines forming each corner is calculated, and the allowable range of the twist vector is calculated from this range (step S32).
コーナーC1[m,n]について説明すると、まず、前記式(19)を用いてメッシュラインU[m,n](u)上の各点におけるツイストベクトルtw_m1_tra(u,v)を算出する。そして、このツイストベクトルをそれぞれu方向成分、v方向成分、面直方向に分解して、メッシュラインU[m,n](u)上でのツイストベクトルtw_m1_tra(u,v)の成分毎の最大値と最小値とを求める。同様に、メッシュラインV[m,n](v)上のツイストベクトルtw_m4_tra(u,v)の各成分の最大値と最小値とを求める。次に、前記ツイストベクトルtw_m1_tra(u,v)の各成分の最大最小値とツイストベクトルtw_m4_tra(u,v)の各成分の最大最小値とを比較して、各成分の共通範囲を抽出し、この共通範囲をコーナーC1におけるツイストベクトルの各成分の許容範囲d1_u、d1_v、d1_hとして求める。 The corner C1 [m, n] will be described. First, the twist vector tw_m1_tra (u, v) at each point on the mesh line U [m, n] (u) is calculated using the equation (19). Then, the twist vector is decomposed into the u-direction component, the v-direction component, and the perpendicular direction, respectively, and the maximum for each component of the twist vector tw_m1_tra (u, v) on the mesh line U [m, n] (u). Find the value and the minimum value. Similarly, the maximum value and the minimum value of each component of the twist vector tw_m4_tra (u, v) on the mesh line V [m, n] (v) are obtained. Next, the maximum / minimum value of each component of the twist vector tw_m1_tra (u, v) and the maximum / minimum value of each component of the twist vector tw_m4_tra (u, v) are compared to extract a common range of each component, This common range is obtained as the allowable ranges d1_u, d1_v, d1_h of the components of the twist vector at the corner C1.
すなわち、図19の模式図に示すように、メッシュラインU[m,n](u)上のツイストベクトルtw_m1_tra(u,v)のu方向成分の最大値tm1_u_maxと、メッシュラインV[m,n](v)上のツイストベクトルtw_m4_tra(u,v)のu方向成分の最大値tm4_u_maxのうち小さい方(tm4_u_max)と、メッシュラインU[m,n](u)上のツイストベクトルtw_m1_tra(u,v)のu方向成分の最小値tm1_u_minとメッシュラインV[m,n](v)上のツイストベクトルtw_m4_tra(u,v)のu方向成分の最小値tm4_u_minの大きい方(tm1_u_min)とを抽出し、このtm1_u_minからtm4_u_maxまでの範囲をコーナーC1におけるu方向成分の許容範囲d1_uとして求める。v方向成分および面直方向成分についても同様にして各許容範囲d1_v、d1_hを算出する。 That is, as shown in the schematic diagram of FIG. 19, the maximum value tm1_u_max of the u direction component of the twist vector tw_m1_tra (u, v) on the mesh line U [m, n] (u) and the mesh line V [m, n ] Of the maximum value tm4_u_max of the u-direction component of the twist vector tw_m4_tra (u, v) on (v) and the twist vector tw_m1_tra (u, u) on the mesh line U [m, n] (u) The minimum value tm1_u_min of the u direction component in v) and the larger one (tm1_u_min) of the minimum value tm4_u_min of the u direction component of the twist vector tw_m4_tra (u, v) on the mesh line V [m, n] (v) are extracted. , The range from tm1_u_min to tm4_u_max Determined as an allowable range d1_u in the u direction component in. The permissible ranges d1_v and d1_h are similarly calculated for the v-direction component and the perpendicular direction component.
他のコーナーC2〜C4についても同様にして、各コーナーにおけるツイストベクトルの各成分の許容範囲を算出する。ここで、この許容範囲は、従来の方法で算出した曲面の各コーナー周りの変化の幅を表しており、本装置10で算出された最終コーナーツイストベクトルT1〜T4がこの変化幅と同等以下であれば、前記コーナー回りにおいて、本装置10で生成した曲面が従来の方法で算出した曲面と同等以上に滑らかであると言える。 Similarly for the other corners C2 to C4, the allowable range of each component of the twist vector at each corner is calculated. Here, this allowable range represents the width of change around each corner of the curved surface calculated by the conventional method, and the final corner twist vectors T1 to T4 calculated by the apparatus 10 are equal to or less than this change width. If so, it can be said that the curved surface generated by the apparatus 10 is as smooth as the curved surface calculated by the conventional method around the corner.
従って、前記コーナーツイストベクトル判定手段72では、本装置10で算出された各コーナーC1〜C4における最終コーナーツイストベクトルT1〜T4の各成分値を算出し(ステップS33)、これらの各成分値が前記各許容範囲内かどうかを判定して、これら最終コーナーツイストベクトルT1〜T4の妥当性を判定する(ステップS34)。ここで、各最終コーナーツイストベクトルT1〜T4の各成分値が全て許容範囲内であれば(ステップS34にてYES)、これら最終コーナーツイストベクトルT1〜T4が妥当な値であると判定してステップS35に進む。一方、いずれかの成分値が許容範囲を超えていれば、これら最終コーナーツイストベクトルT1〜T4が異常であり、所望の滑らかな曲面が生成されていないとしてステップS41に進み、前記報知手段80により使用者に警告を発する。 Therefore, the corner twist vector determining means 72 calculates the component values of the final corner twist vectors T1 to T4 at the corners C1 to C4 calculated by the apparatus 10 (step S33), and these component values are calculated as described above. It is determined whether it is within each allowable range, and the validity of these final corner twist vectors T1 to T4 is determined (step S34). Here, if all the component values of each final corner twist vector T1 to T4 are all within the allowable range (YES in step S34), it is determined that these final corner twist vectors T1 to T4 are appropriate values. Proceed to S35. On the other hand, if any one of the component values exceeds the allowable range, the final corner twist vectors T1 to T4 are abnormal, and it is determined that a desired smooth curved surface has not been generated. Alert the user.
次に、コーナー以外のツイストベクトル算出手段74にて、前記コーナー以外の点におけるツイストベクトルに基づき曲面の妥当性を判定する。 Next, the validity of the curved surface is determined by the twist vector calculation means 74 other than the corner based on the twist vector at the point other than the corner.
まず、前記従来の方法で算出したメッシュライン上のツイストベクトルの大きさおよび変化量の各変化幅A,Bを算出する。(ステップS35)。次に、本装置10で生成した曲面S[m,n]に対して、メッシュライン上の各点におけるツイストベクトルtw_m1[m,n](u,v)〜tw_m4[m,n](u,v)を前記式(19)より算出する(ステップS36)。そして、これらのツイストベクトルの大きさおよび変化量の各変化幅x,yが、前記従来の方法で算出した同じメッシュライン上のツイストベクトルの大きさおよび変化量の各変化幅A,Bよりも小さいかどうかを判定する(ステップS37)。 First, the magnitudes of the twist vectors on the mesh lines calculated by the conventional method and the respective change widths A and B are calculated. (Step S35). Next, with respect to the curved surface S [m, n] generated by the present apparatus 10, twist vectors tw_m1 [m, n] (u, v) to tw_m4 [m, n] (u, v) is calculated from the equation (19) (step S36). The change widths x and y of the twist vector magnitude and change amount are larger than the change widths A and B of the twist vector magnitude and change amount on the same mesh line calculated by the conventional method. It is determined whether it is small (step S37).
この判定がYES、すなわち、前記本装置10で生成した曲面から算出したツイストベクトルtw_mの大きさおよび変化量の各変化幅が、従来の方法で算出した曲面から求めた従来のツイストベクトルtw_m_traの大きさおよび変化量の各変化幅よりも小さければ、曲面のねじれが小さいすなわちメッシュライン上で曲面が滑らかであると判定しステップS38に進む。一方、前記判定がNOである場合には、前記ツイストベクトルtw_mの値が妥当でないとしてステップS41に進み、前記報知手段80により使用者に警告を発する。 This determination is YES, that is, the magnitude of the twist vector tw_m calculated from the curved surface generated by the apparatus 10 and the change width of the amount of change are the magnitude of the conventional twist vector tw_m_tra obtained from the curved surface calculated by the conventional method. If it is smaller than each change width of the height and the change amount, it is determined that the twist of the curved surface is small, that is, the curved surface is smooth on the mesh line, and the process proceeds to step S38. On the other hand, if the determination is NO, it is determined that the value of the twist vector tw_m is not valid, and the process proceeds to step S41, where the notification means 80 issues a warning to the user.
次に、メッシュライン上の点以外の点におけるツイストベクトルの妥当性を判定し、曲面内部のねじれを検証する。 Next, the validity of the twist vector at a point other than the points on the mesh line is determined, and the twist inside the curved surface is verified.
具体的には、前記曲面S[m,n]の所定の点Qxにおけるツイストベクトルtwx(u,v)を前記式(19)より算出し、このツイストベクトルtwx(u,v)の大きさLおよび変化量Dを算出する(ステップS38)。そして、このツイストベクトルtwxの大きさLおよび変化量Dを予め設定した所定値とそれぞれ比較する(ステップS39)。ここで、このツイストベクトルtwxの大きさLおよび変化量Dが各所定値以上かつ各所定値以下であると判定されれば、パッチPの内部においても曲面が滑らかであると判断して前記曲面S[m,n]を出力する(ステップS40)。一方、前記判定がNOである場合には、パッチPの内部における曲面のねじれが大きい、あるいはそのねじれ方が激しいとして、前記報知手段80により使用者に警告を発して処理を終了する(ステップS41)。 Specifically, the twist vector twx (u, v) at the predetermined point Qx of the curved surface S [m, n] is calculated from the equation (19), and the magnitude L of the twist vector twx (u, v) is calculated. Then, the change amount D is calculated (step S38). Then, the magnitude L and the change amount D of the twist vector twx are respectively compared with predetermined values (step S39). Here, if it is determined that the magnitude L and the change amount D of the twist vector twx are not less than each predetermined value and not more than each predetermined value, it is determined that the curved surface is smooth even inside the patch P, and the curved surface S [m, n] is output (step S40). On the other hand, if the determination is NO, it is determined that the curved surface is highly twisted or severely twisted inside the patch P, and a warning is given to the user by the notification means 80, and the process is terminated (step S41). ).
以上のように、本曲面生成装置10によれば、前記接線ベクトル算出手段30において前記メッシュラインの形状に基づいて各コーナーCにおけるuv方向の接線ベクトルf,gを算出し、前記接線ベクトル軌跡推定手段40にて、前記各コーナーCにおけるuv方向の接線ベクトルf,gの始点あるいは終点を各方向のメッシュラインに沿って補間することで当該接線ベクトルf,gの各メッシュライン沿いの軌跡Fs,Fe,Gs,Geを推定し、この軌跡を用いて各コーナーCにおけるツイストベクトルを算出しているので、各メッシュラインの形状、すなわち、曲面全体の形状を反映させたツイストベクトルを算出することが可能となる。 As described above, according to the curved surface generation device 10, the tangent vector calculation means 30 calculates the tangent vectors f and g in the uv direction at each corner C based on the shape of the mesh line, and estimates the tangent vector locus. The means 40 interpolates the start point or the end point of the uv tangent vectors f and g at each corner C along the mesh lines in each direction, whereby the trajectories Fs, Since Fe, Gs, and Ge are estimated and the twist vector at each corner C is calculated using this trajectory, the twist vector reflecting the shape of each mesh line, that is, the shape of the entire curved surface can be calculated. It becomes possible.
そして、この接線ベクトルf,gとツイストベクトルとに基づいて曲面を算出することで、前記メッシュラインの特性すなわちこのメッシュラインから導かれる曲面の特性を反映したより滑らかな曲面を算出することが可能となる。すなわち、従来のように前記ツイストベクトルを強制的に0とすることなく曲面を算出しているので曲面全体に歪が生じてしまうのを抑制することが可能となる。 Then, by calculating a curved surface based on the tangent vectors f and g and the twist vector, it is possible to calculate a smoother curved surface reflecting the characteristics of the mesh line, that is, the characteristics of the curved surface derived from the mesh line. It becomes. That is, since the curved surface is calculated without compulsorily setting the twist vector to 0 as in the prior art, it is possible to prevent the entire curved surface from being distorted.
また、前記のように、接線ベクトルf,gの始点および終点をそれぞれ各方向のメッシュラインに沿ってスプライン補間することで、当該接線ベクトルf,gの軌跡Fs,Fe,Gs,Geを算出するようにすれば、当該軌跡を容易に算出することができるとともに、この軌跡をより滑らかな形状とすることが可能となる。 Further, as described above, the trajectories Fs, Fe, Gs, and Ge of the tangent vectors f and g are calculated by performing spline interpolation on the start and end points of the tangent vectors f and g along the mesh lines in the respective directions. In this way, the locus can be easily calculated and the locus can be made to have a smoother shape.
また、前記のように、前記uv方向平均化手段52において、各方向の軌跡に基づいて各コーナーCにおけるuv方向の各ツイストベクトルtw1_u[m,n]〜tw4_u[m,n],tw1_v[m,n]〜tw4_v[m,n]を算出し、これらを平均化することで各コーナーCのツイストベクトルTw1[m,n]〜Tw4[m,n]を算出するようにすれば、各方向のツイストベクトルのを均等に反映したツイストベクトルを算出することが可能となり、コーナーCでの曲面の形状をいずれの方向にも滑らかに変化するような形状とすることができる。 Further, as described above, in the uv direction averaging means 52, the twist vectors tw1_u [m, n] to tw4_u [m, n], tw1_v [m] in the uv direction at each corner C based on the trajectory in each direction. , N] to tw4_v [m, n], and averaging them, the twist vectors Tw1 [m, n] to Tw4 [m, n] of each corner C are calculated. Thus, it is possible to calculate a twist vector that uniformly reflects the twist vector, and the shape of the curved surface at the corner C can be a shape that smoothly changes in any direction.
また、前記のように、各コーナーCが所定の交点周りで互いに隣接している場合に、各コーナーCのツイストベクトルを相互補間するよう構成すれば、各コーナーCに制御量としてのツイストベクトルを与えつつ、隣接するパッチP間の接続を滑らかにすることが可能となる。 As described above, when the corners C are adjacent to each other around a predetermined intersection, if the twist vectors of the corners C are mutually interpolated, a twist vector as a control amount is set in each corner C. It is possible to make the connection between adjacent patches P smooth while giving.
特に、前記規格手段53において、uv方向に平均化した前記uv平均ツイストベクトルTw1[m,n]〜Tw4[m,n]の各成分値を単位接線ベクトルあたりの値に変換し、前記補正手段54において、互いに隣接するコーナーC毎の当該単位接線ベクトルあたりの各成分値を平均化して単位ツイストベクトルを算出し、この単位ツイストベクトルを各パッチPの大きさで補正することで各コーナーCの最終コーナーツイストベクトルT1[m,n]〜T4[m,n]を算出するよう構成すれば、各パッチPに生成される曲面の特性を維持しつつ、コーナーC間でツイストベクトルが大きく異なってしまうのを抑制してパッチP間の接続性を保つことが可能となる。 In particular, the standard means 53 converts each component value of the uv average twist vector Tw1 [m, n] to Tw4 [m, n] averaged in the uv direction into a value per unit tangent vector, and the correction means. In 54, each component value per unit tangent vector for each corner C adjacent to each other is averaged to calculate a unit twist vector, and the unit twist vector is corrected by the size of each patch P, thereby correcting each corner C. If the final corner twist vectors T1 [m, n] to T4 [m, n] are configured to be calculated, the twist vectors greatly differ between the corners C while maintaining the characteristics of the curved surface generated in each patch P. It is possible to maintain connectivity between the patches P by suppressing the occurrence of such a situation.
また、前記のように、生成された曲面から各点でのツイストベクトルを算出し、このツイストベクトルの大きさおよび変化量が予め設定された所定範囲内であるかどうかを判定する判定手段を設けておけば、生成された曲面の形状が滑らかな形状であるかどうかを比較的容易に判定することができるので、より確実に滑らかな曲面を生成することが可能となる。 Further, as described above, there is provided a determination means for calculating a twist vector at each point from the generated curved surface, and determining whether the magnitude and change amount of the twist vector are within a predetermined range set in advance. In this case, it can be determined relatively easily whether the shape of the generated curved surface is a smooth shape, so that a smooth curved surface can be generated more reliably.
特に、前記判定手段70において前記曲面が滑らかな形状を有していないと判定された場合にその旨を報知する報知手段80を設けておけば、使用者等が前記曲面の異常を容易に認識できるので利便性が向上するとともに作業効率が向上する。 In particular, if the determination unit 70 determines that the curved surface does not have a smooth shape, a notification unit 80 that notifies the fact is provided, so that a user or the like can easily recognize the abnormality of the curved surface. As a result, convenience is improved and work efficiency is improved.
また、前記判定手段70でのツイストベクトルの大きさおよび変化量の判定をローカル座標系にて行うようにすれば、曲面がメッシュラインで囲まれた面に対してどのように変化しているのかを判断することができるので、例えば直交座標系でみた場合に大きく変化している曲面であっても、曲面が滑らかに連続しているかどうかをより正確に判定することが可能となる。 In addition, if the determination unit 70 determines the magnitude and the amount of change of the twist vector in the local coordinate system, how the curved surface changes with respect to the surface surrounded by the mesh line. Therefore, it is possible to more accurately determine whether a curved surface is smoothly continuous even when the curved surface changes greatly when viewed in an orthogonal coordinate system, for example.
ここで、前記実施形態では、曲面を生成する領域が複数のパッチPに分割されている場合について示したが、このパッチは1つであってもよい。 Here, in the above-described embodiment, a case where a region for generating a curved surface is divided into a plurality of patches P is shown, but one patch may be used.
また、接線ベクトルの終点および始点の補間方法は、前記スプライン補間に限らず各終点および始点を滑らかに補間できるものであればよい。 Further, the interpolation method of the end point and start point of the tangent vector is not limited to the spline interpolation, and any method can be used as long as each end point and start point can be smoothly interpolated.
また、前記実施形態では、隣接するコーナーにてツイストベクトルを相互補間する方法として、単位ツイストベクトルを算出してこの単位ツイストベクトルを各パッチの大きさで補正する方法について示したが、この方法に限らず、例えば、隣接するコーナーのツイストベクトルを平均化するようにしてもよい。 In the above embodiment, as a method of interpolating twist vectors at adjacent corners, a method of calculating a unit twist vector and correcting the unit twist vector with the size of each patch has been shown. For example, the twist vectors of adjacent corners may be averaged.
また、接線ベクトルおよびツイストベクトルから曲面を算出する方法は前記に限らず、これらのベクトルを制御量として与える方法であればどのような方法であってもよい。 Further, the method of calculating the curved surface from the tangent vector and the twist vector is not limited to the above, and any method may be used as long as these vectors are given as control amounts.
10 曲面生成装置
30 接線ベクトル算出手段
40 接線ベクトル軌跡推定手段
50 ツイストベクトル算出手段
51 uv方向ツイストベクトル算出手段
52 uv方向平均化手段
53 規格化手段
54 補正手段
60 曲面算出手段
70 判定手段
72 コーナーツイストベクトル判定手段
74 コーナー以外のツイストベクトル判定手段
80 報知手段
P パッチ
C1〜C4 コーナー
f1〜f4 u方向の接線ベクトル
g1〜g4 v方向の接線ベクトル
Fe u方向の接線ベクトルの終点の軌跡
Fs u方向の接線ベクトルの始点の軌跡
Ge v方向の接線ベクトルの終点の軌跡
Gs v方向の接線ベクトルの始点の軌跡
tw1_u〜tw4_u u方向のツイストベクトル
tw1_v〜tw4_v v方向のツイストベクトル
Tw1〜Tw4 uv平均ツイストベクトル
t_ave 単位ツイストベクトル
T1〜T4 最終コーナーツイストベクトル
S 曲面
10 Curved surface generator
30 Tangential vector calculation means
40 Tangential vector locus estimation means
50 Twist vector calculation means
51 uv direction twist vector calculation means
52 uv direction averaging means
53 Standardization means
54 Correction means
60 Curved surface calculation means
70 judgment means
72 Corner twist vector judging means
74 Twist vector judgment means other than corner
80 Notification means
P patch
C1-C4 corner
f1-f4 u direction tangent vector
g1-g4 v-direction tangent vector
Trajectory of tangent vector end point in Feu direction
Trajectory of tangent vector starting point in Fsu direction
Trajectory of end point of tangent vector in Ge v direction
Gsv direction tangent vector start point trajectory tw1_u to tw4_u u direction twist vector tw1_v to tw4_v v direction twist vector
Tw1-Tw4 uv average twist vector
t_ave unit twist vector
T1-T4 final corner twist vector
S curved surface
Claims (6)
前記パッチの各コーナーにおけるu方向の接線ベクトルを前記u方向のメッシュラインの形状に基づいて算出するともに、前記各コーナーにおけるv方向の接線ベクトルを前記v方向のメッシュラインの形状に基づいて算出する接線ベクトル算出手段と、
前記各コーナーにおいて算出されたu方向の接線ベクトルに基づいて、当該u方向の接線ベクトルの終点あるいは始点の少なくとも一方のv方向のメッシュライン沿いの軌跡を推定するとともに、前記各コーナーにおいて算出されたv方向の接線ベクトルに基づいて、当該v方向の接線ベクトルの終点あるいは始点の少なくとも一方のu方向のメッシュライン沿いの軌跡を推定する接線ベクトル軌跡推定手段と、
前記推定されたu方向の接線ベクトルのv方向のメッシュライン沿いの軌跡およびv方向の接線ベクトルのu方向のメッシュライン沿いの軌跡に基づいて、前記各コーナーにおけるツイストベクトルを算出するツイストベクトル算出手段と、
各コーナーにおける前記u方向の接線ベクトルと前記v方向の接線ベクトルと前記ツイストベクトルとに基づいて、前記領域内の曲面を算出する曲面算出手段とを有し、
前記ツイストベクトル算出手段は、
前記接線ベクトル軌跡推定手段において推定されたu方向の接線ベクトルのv方向のメッシュライン沿いの軌跡に基づいて、前記各コーナーにおけるv方向のツイストベクトルを算出するとともに、前記推定されたv方向の接線ベクトルのu方向のメッシュライン沿いの軌跡に基づいて前記各コーナーにおけるu方向のツイストベクトルを算出するuv方向ツイストベクトル算出手段と、
前記算出された各コーナーにおけるu方向のツイストベクトルとv方向のツイストベクトルとをコーナー毎に平均化して、uv平均ツイストベクトルを算出するuv方向平均化手段とを有するとともに、
当該uv平均ツイストベクトルに基づいて前記コーナーにおけるツイストベクトルを算出することを特徴とする曲面生成装置。 In a curved surface generating apparatus that generates a curved surface in an area composed of one to a plurality of patches surrounded by a plurality of mesh lines in the u direction and a plurality of mesh lines in the v direction,
A tangent vector in the u direction at each corner of the patch is calculated based on the shape of the mesh line in the u direction, and a tangent vector in the v direction at each corner is calculated based on the shape of the mesh line in the v direction. Tangent vector calculation means;
Based on the tangent vector in the u direction calculated at each corner, the trajectory along the mesh line in the v direction of at least one of the end point or the start point of the tangent vector in the u direction is estimated and calculated at each corner. tangential vector trajectory estimation means for estimating a trajectory along a mesh line in the u direction at least one of an end point or a start point of the tangential vector in the v direction based on the tangent vector in the v direction;
Twist vector calculation means for calculating a twist vector at each corner based on the locus along the mesh line in the v direction of the estimated tangent vector in the u direction and the locus along the mesh line in the u direction of the tangent vector in the v direction. When,
Wherein based on the u direction of the tangent vector and the v direction of the tangent vector and the twist vector at each corner, it has a surface and a curved surface calculating means for calculating the curved surface of the region,
The twist vector calculating means includes:
Based on the trajectory along the mesh line in the v direction of the tangent vector in the u direction estimated by the tangent vector trajectory estimation means, the twist vector in the v direction at each corner is calculated, and the estimated tangent in the v direction Uv direction twist vector calculating means for calculating a twist vector in the u direction at each corner based on a locus along the mesh line in the u direction of the vector;
Uv direction averaging means for calculating the uv average twist vector by averaging the twist vector in the u direction and the twist vector in the v direction at each corner calculated for each corner;
A curved surface generating apparatus that calculates a twist vector at the corner based on the uv average twist vector .
前記ツイストベクトル算出手段は、前記領域が複数のパッチからなるとともに当該各パッチの所定のコーナーが前記メッシュラインの所定の交点周りで互いに隣接している場合に、当該各コーナーに対してそれぞれ算出された前記uv平均ツイストベクトルを前記交点周りでの曲面が滑らかな形状となるように相互補間することで、各コーナーにおけるツイストベクトルを算出することを特徴とする曲面生成装置。 The twist vector calculation means calculates each of the corners when the region includes a plurality of patches and the predetermined corners of the patches are adjacent to each other around a predetermined intersection of the mesh lines. A curved surface generating apparatus characterized by calculating a twist vector at each corner by interpolating the uv average twist vector so that the curved surface around the intersection has a smooth shape.
前記ツイストベクトル算出手段は、 The twist vector calculating means includes:
前記所定の交点周りで互いに隣接している各コーナーに対してそれぞれ算出された前記uv平均ツイストベクトルを、それぞれu方向成分、v方向成分および面直方向成分に分解し、これらの成分値を各コーナーにおけるu方向の接線ベクトルおよびv方向の接線ベクトルの値に基づいてそれぞれ単位接線ベクトル当りの値に変換する規格化手段と、 The uv average twist vector calculated for each corner adjacent to each other around the predetermined intersection is decomposed into a u-direction component, a v-direction component, and a perpendicular direction component, respectively, Normalization means for converting into values per unit tangent vector based on the values of the tangent vector in the u direction and the tangent vector in the v direction at the corner;
この規格化手段にて算出されたコーナー毎の単位接線ベクトル当りの各成分値を、それぞれ成分毎にコーナー間で平均化して単位ツイストベクトルを算出するとともに、この単位ツイストベクトルを各コーナーにおけるu方向の接線ベクトルおよびv方向の接線ベクトルの値に基づいて補正することで、各コーナーにおけるツイストベクトルをそれぞれ算出する補正手段とを有することを特徴とする曲面生成装置。 Each component value per unit tangent vector for each corner calculated by the normalization means is averaged between the corners for each component to calculate a unit twist vector, and this unit twist vector is calculated in the u direction at each corner. And a correction unit that calculates a twist vector at each corner by performing correction based on the values of the tangent vector and the tangent vector in the v direction.
前記曲面算出手段で算出された曲面に基づいて、当該曲面上の所定の点におけるツイストベクトルを算出し、このツイストベクトルの大きさあるいは当該ツイストベクトルの変化量の少なくとも一つと予め設定された所定値とを比較し、この比較結果に基づいて前記曲面が所定の形状を有しているかどうかを判定する判定手段を有することを特徴とする曲面生成装置。 Based on the curved surface calculated by the curved surface calculation means, a twist vector at a predetermined point on the curved surface is calculated, and at least one of the magnitude of the twist vector or the amount of change of the twist vector and a predetermined value set in advance A curved surface generation apparatus comprising: a determination unit that determines whether or not the curved surface has a predetermined shape based on the comparison result.
前記判定手段において前記曲面が所定の形状を有していないと判定された場合に、その旨を報知する報知手段を有することを特徴とする曲面生成装置。 A curved surface generating apparatus characterized by comprising notifying means for notifying that when the determining means determines that the curved surface does not have a predetermined shape.
前記判定手段は、前記ツイストベクトルの大きさあるいは前記ツイストベクトルの変化量を、前記u方向およびv方向のローカル座標系にて算出し、当該ローカル座標上で前記ツイストベクトルの大きさおよび変化量と所定値とを比較することを特徴とする曲面生成装置。 The determination means calculates the magnitude of the twist vector or the change amount of the twist vector in the local coordinate system in the u direction and the v direction, and the magnitude and change amount of the twist vector on the local coordinate A curved surface generation apparatus characterized by comparing with a predetermined value.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007073433A JP4952322B2 (en) | 2007-03-20 | 2007-03-20 | Curved surface generator |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007073433A JP4952322B2 (en) | 2007-03-20 | 2007-03-20 | Curved surface generator |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2008234344A JP2008234344A (en) | 2008-10-02 |
| JP4952322B2 true JP4952322B2 (en) | 2012-06-13 |
Family
ID=39907038
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007073433A Expired - Fee Related JP4952322B2 (en) | 2007-03-20 | 2007-03-20 | Curved surface generator |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4952322B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102741761B (en) | 2008-09-09 | 2015-06-03 | 株式会社理光 | Toner container and image forming apparatus |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3017322B2 (en) * | 1990-10-30 | 2000-03-06 | 株式会社リコー | Shape control method for free-form surfaces |
| JPH0981224A (en) * | 1995-09-14 | 1997-03-28 | Toyota Motor Corp | Curved surface generation method and product shape processing method |
| JPH11126262A (en) * | 1997-10-23 | 1999-05-11 | Sharp Corp | Curve mesh generator and curve mesh surface generator |
| JP4163446B2 (en) * | 2002-05-16 | 2008-10-08 | 株式会社リコー | Curved surface interpolation method, curved surface interpolation program and storage medium |
-
2007
- 2007-03-20 JP JP2007073433A patent/JP4952322B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2008234344A (en) | 2008-10-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Liu et al. | Adaptive fairing of digitized point data with discrete curvature | |
| KR101443949B1 (en) | Interpolation processing method and interpolation processor | |
| WO2013057760A1 (en) | Digital elevation model generating system and method of generating a digital elevation model | |
| US7433799B2 (en) | Method of determining shape data | |
| WO2011052800A1 (en) | Tool path generation method and device | |
| US9696708B2 (en) | Machining curve creating apparatus and machining curve creating method thereof | |
| JP4952322B2 (en) | Curved surface generator | |
| Li et al. | Non-uniform interpolatory subdivision surface | |
| JP6629808B2 (en) | Numerical control unit | |
| Mitsuyuki et al. | Development of manufacturing support system for ship curved shell plate using laser scanner | |
| CN103679814A (en) | Processing method and device for triangle mesh model | |
| Hu | G1 approximation of conic sections by quartic Bézier curves | |
| CN112507410A (en) | Generation method and generation device of track beam drawing | |
| CN114593742B (en) | Local path planning method, device and equipment for intelligent driving vehicle | |
| KR101122279B1 (en) | Method generating offset curve according to bezier curve | |
| JP2004294953A (en) | Road shape restoration device | |
| Zhang et al. | Robust atlas generation via angle-based segmentation | |
| JP2005149245A (en) | Cad system, curved surface analysis device, curved surface reproducing device, and method and program therefor | |
| Dyn | Linear and nonlinear subdivision schemes in geometric modeling | |
| Auquiert et al. | On the cubic L 1 spline interpolant to the Heaviside function | |
| EP1237125B1 (en) | Method and system for generating and handling a harmonized network of points | |
| JP4119817B2 (en) | Parameter actual length expansion device, method and program thereof | |
| Nuntawisuttiwong et al. | An approach to Bézier curve approximation by circular arcs | |
| JP5345957B2 (en) | Design support system and design support program | |
| KR20060119330A (en) | Linear design method using TID macro |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100115 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110725 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110809 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111003 |
|
| 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: 20120214 |
|
| 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: 20120227 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4952322 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: 20150323 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |