WO2014181598A1 - Curved-surface drawing device and curved-surface drawing program - Google Patents

Curved-surface drawing device and curved-surface drawing program Download PDF

Info

Publication number
WO2014181598A1
WO2014181598A1 PCT/JP2014/058770 JP2014058770W WO2014181598A1 WO 2014181598 A1 WO2014181598 A1 WO 2014181598A1 JP 2014058770 W JP2014058770 W JP 2014058770W WO 2014181598 A1 WO2014181598 A1 WO 2014181598A1
Authority
WO
WIPO (PCT)
Prior art keywords
curved surface
curve
line segment
line
plane
Prior art date
Application number
PCT/JP2014/058770
Other languages
French (fr)
Japanese (ja)
Inventor
保弘 清水
Original Assignee
日本ユニシス株式会社
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 日本ユニシス株式会社 filed Critical 日本ユニシス株式会社
Publication of WO2014181598A1 publication Critical patent/WO2014181598A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/30Polynomial surface description
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]

Definitions

  • the present invention relates to a curved surface drawing apparatus and a curved surface drawing program, and more particularly to a curved surface drawing apparatus that draws a curved line or curved surface obtained by smoothly interpolating the sides and the inside of a polygon mesh from each vertex and intermediate control point of the polygon mesh. It is suitable for use.
  • the calculation is performed by approximating the target region with discrete lattice points. Accordingly, the object surface shape included in the region is represented by a polyhedron model (triangle mesh, quadrilateral mesh) composed of triangles and quadrangles.
  • a polyhedron model triangle mesh, quadrilateral mesh
  • Nagata patch is an effective technique for simply interpolating the roundness of a curved surface from normal vectors (directions orthogonal to the shape surface) assigned to the vertices of a triangular mesh and a quadrilateral mesh.
  • normal vectors directions orthogonal to the shape surface assigned to the vertices of a triangular mesh and a quadrilateral mesh.
  • the Nagata patch defines a curved surface equation that interpolates with roundness in the polygonal area by a quadratic polynomial from each vertex of the polygon (triangle or square) and the unit normal vector given to each vertex. ing. In the following, for simplification of description, the description will be limited to interpolation of a triangular region.
  • the basis of the Nagata patch is a curve formula that interpolates each side (line segment) of a polygon from two end points and a unit normal vector at each end point using a quadratic polynomial.
  • the curve obtained by this curve formula is referred to as “Nagata segment”.
  • the start point of the line segment is P 0
  • the end point is P 1
  • the respective position vectors are x 0 , x 1
  • the unit normal vectors are n 0 , n 1 .
  • the Nagata patch interpolates x 0 , x 1 , n 0 , and n 1 with a quadratic polynomial (1) of the following form using 0 ⁇ ⁇ ⁇ 1 as a parameter.
  • x ( ⁇ ) x 0 + (dc) ⁇ + c ⁇ 2
  • x is a position vector representing a point on the curve
  • c is an unknown constant vector called “curvature parameter” calculated from x 0 , x 1 , n 0 , and n 1 , and defines the bulge of the curve.
  • the point P m must be on the start point side tangent plane ⁇ x 0 , n 0 ⁇ and on the end point side tangent plane ⁇ x 1 , n 1 ⁇ . That is, when the both tangent planes ⁇ x 0 , n 0 ⁇ , ⁇ x 1 , n 1 ⁇ have an intersection line, the point P m must be on the intersection line.
  • the both tangent planes ⁇ x 0 , n 0 ⁇ , ⁇ x 1 , n 1 ⁇ have intersecting lines
  • n 0 ⁇ n 1 is parallel to the direction vector of the intersecting lines, so the vector c is Must be orthogonal.
  • the point P m is a leg of a perpendicular drawn from the midpoint x m of the chord to the intersecting line.
  • a line segment connecting each end point P 0 , P 1 from the position vector x 0 , x 1 of each end point P 0 , P 1 of the line segment and the position vector of the point P m is curved with a quadratic polynomial. Interpolate.
  • the second-order polynomial (2) for this curve interpolation it is possible to use a Bezier curve as shown in FIG. 11 that is often used in CAD.
  • P 20 x 0 (position vector of start point P 0 ),
  • P 02 x 1 (position vector of end point P 1 ),
  • P 11 (x 0 + x 1 ) / 2 ⁇ c / 2 (intermediate control point P m position vector).
  • the Nagata segment is a quadratic polynomial curve, and is a plane curve because it has a shape obtained by cutting a part of a parabola.
  • the plane on which the curve is placed is a plane including a string connecting the start and end points x 0 and x 1 , and this is called a “curve plane”.
  • the curve plane is determined.
  • the intermediate control point P m that hits the foot of the perpendicular line drawn from the midpoint x m of the chord to the tangential plane intersects largely laterally with respect to the chord, and as a result, the secondary Bezier curve is curved.
  • the Nagata segment is bent because the curved plane falls to a state that is nearly parallel to the tangential plane.
  • the present invention has been made to solve such a problem, and can be obtained by performing curve interpolation on a line segment connecting two end points of the polygon mesh without finely dividing the polygon mesh. It is an object of the present invention to prevent the occurrence of a bending phenomenon such as a large curve.
  • the end points of the line segment are P 30 and P 03
  • the intermediate control points are P 21 and P 12
  • the position vectors of the end points are x 0 and x 1
  • the curvature of the curve is interpolated with the following cubic polynomial, with the parameter c and 0 ⁇ ⁇ ⁇ 1.
  • the line segment is interpolated by a cubic polynomial in which the degree of the Bezier curve is expanded to the third order, so that there are two intermediate control points P 21 and P 12. It is possible to prevent the intermediate control points P 21 and P 12 from being largely displaced laterally with respect to the line segment. Accordingly, it is possible to prevent the occurrence of a bending phenomenon in which a curve obtained by performing curve interpolation on a line segment connecting two end points of the polygon mesh is greatly curved without finely dividing the polygon mesh.
  • FIG. 1 is a functional block diagram illustrating a configuration example of the curved surface drawing apparatus according to the present embodiment.
  • the curved surface drawing apparatus of the present embodiment draws a curved line obtained by smoothly interpolating the sides of the polygon mesh from each vertex of the polygon mesh and intermediate control points, or a curved surface obtained by smoothly interpolating the inside.
  • a curve calculation unit 1 a curved surface calculation unit 2, a curve drawing unit 3, a curved surface drawing unit 4, and a display control unit 5 are provided.
  • the above functional blocks 1 to 5 can be configured by any of hardware, DSP (Digital Signal Processor), and software.
  • each of the functional blocks 1 to 5 is actually configured to include a CPU, RAM, ROM, etc. of a computer, and is a curved surface stored in a recording medium such as RAM, ROM, hard disk, or semiconductor memory. This is realized by operating a drawing program.
  • the functions of the functional blocks 1 to 5 can be realized by recording a curved surface drawing program on a recording medium such as a CD-ROM and reading it into a computer.
  • a recording medium for recording the curved surface drawing program a flexible disk, a hard disk, a magnetic tape, an optical disk, a magneto-optical disk, a DVD, a nonvolatile memory card, and the like can be used in addition to the CD-ROM. It can also be realized by downloading a curved surface drawing program to a computer via the Internet.
  • FIG. 2 is a diagram for explaining the processing contents by the curve calculation unit 1.
  • the curve calculation unit 1 uses P 30 and P 03 for the end points of the line segment, P 21 and P 12 for the intermediate control points, and x 0 and x for the position vectors of the end points P 30 and P 03. 1
  • the unit normal vector at both end points P 30 and P 03 is n 0 , n 1
  • the curvature parameter of the curve to be obtained is c
  • 0 ⁇ ⁇ ⁇ 1 is the parameter
  • the line segment is expressed by the following cubic polynomial (3) Interpolate curves.
  • the curve drawing unit 3 draws the curve obtained by the curve calculation unit 1.
  • the display control unit 5 displays the curve drawn by the curve drawing unit 3 on a display (not shown). By performing the processing of the curve calculation unit 1, the curve drawing unit 3 and the display control unit 5 for each line segment of the polygon mesh, it is possible to display a curve obtained by smoothly interpolating the sides of each polygon mesh on the display. It is.
  • the processing content of the curve calculating part 1 is demonstrated in detail.
  • the bending phenomenon of the Nagata segment occurs because the curved plane on which the curve of the Nagata segment rides falls to a state close to being parallel to the tangential plane at both end points of the line segment. Therefore, as a starting point for measures to prevent curving of the curve, the curve plane is made as close to the orthogonal plane as possible with respect to the tangent planes ⁇ x 0 , n 0 ⁇ , ⁇ x 1 , n 1 ⁇ .
  • the plane includes a line segment connecting the start and end points x 0 and x 1 and passes through the start point x 0 of the line segment and is orthogonal to the start point side tangent plane ⁇ x 0 , n 0 ⁇ .
  • a plane that includes the line segment, passes through the end point x 1 of the line segment, and is orthogonal to the end point tangent plane ⁇ x 1 , n 1 ⁇ is defined as a second plane ⁇ 1 .
  • the intermediate control point P 11 In order to obtain a curve, the intermediate control point P 11 should be on the both-side plane, so the position of the intersection between the curve plane ⁇ and the intersection line of the both-side planes ⁇ x 0 , n 0 ⁇ , ⁇ x 1 , n 1 ⁇
  • the intermediate control point P 11 must be arranged in Therefore, when the position of the tangent plane intersection line is in the wrong position relative to the strings, as shown in FIG. 4, the intermediate control points P 11 is the range between the orthogonal plane at both end points of the string It happens to go out.
  • the intermediate control point P 11 is located on this tangent line, but if the intersection point of the opposite end point with the tangent plane goes backward to the chord direction, the intermediate control point is placed on the opposite end side on the tangent line to avoid the reverse direction. Must. However, this is not possible with a quadratic Bezier curve. Therefore, in this embodiment, the degree of the Bezier curve is expanded to the third order, and the line segment is subjected to curve interpolation by the above-described third order polynomial (3).
  • the correction control points P 11 (0) and P 11 (1) are determined as in the following equations (9) and (10).
  • P 21 (P 20 + 2P 11 (0)) / 3 (9)
  • P 21 (2P 11 (1) + P 02 ) / 3 (10)
  • the correction control points P 11 (0) and P 11 (1) coincide with the control point P 11 of the quadratic Bezier curve when no retrograde occurs.
  • the tangent of the other side (the end point side at the start point side tangent and the start point side at the end point side tangent) is symmetric about the chord on the curve plane on the tangent line of each end point of the quadratic Bézier curve The intersection obtained by placing the
  • the occurrence of a bending phenomenon such that the curve obtained by interpolating the line connecting the two end points of the polygon mesh is greatly curved without making the polygon mesh divided finely. Can be prevented. That is, when the original Nagata patch has good surface quality, the same surface quality can be provided, and even when the original Nagata patch has a disturbed surface shape, the surface shape can be prevented from being disturbed.
  • a well-known interpolation method is the Coons curved surface.
  • the Coons curved surface is a combination of one frame line and a frame line opposite to it, and a ruled surface that is linearly interpolated from all combinations is added for all combinations, and extra boundary conditions are added.
  • the curved surface calculation unit 2 in FIG. 1 includes a plurality of frame lines calculated by the curve calculation unit 1 for each line segment of the polygon mesh, each vertex of the polygon mesh, and an intermediate control point for each line segment between the respective vertexes.
  • the Bezier curved surface that is linearly interpolated from the combination of one frame line and the opposite frame line is added for all combinations, and the Bezier curved surface is defined by linear interpolation from each vertex of the polygon mesh. Is subtracted to calculate the Coons surface.
  • the curved surface drawing unit 4 draws the Coons curved surface obtained by the curved surface calculation unit 2.
  • the display control unit 5 displays the Coons curved surface drawn by the curved surface drawing unit 4 on a display (not shown). For example, a curved surface obtained by smoothly interpolating the inside of each polygonal mesh by performing processing of the curved surface calculation unit 2, the curved surface drawing unit 4 and the display control unit 5 on a plurality of polygonal meshes constituting a three-dimensional shape. Can be displayed on the display.
  • a triangular mesh is taken as an example of a polygonal mesh, and a triangular Coons curved surface that interpolates a curved triangular area surrounded by three frame lines (curves) generated by the curved line calculation unit 1 will be described.
  • the three frame lines of the Nagata patch are changed to a cubic Bezier curve, and therefore, a cubic triangular Bezier curved surface must be used for the curved surface expression in the Bezier format.
  • x ( ⁇ , ⁇ , ⁇ ) P 003 ⁇ ⁇ 3 + P 102 ⁇ 3 ⁇ 2 + P 201 ⁇ 3 ⁇ 2 ⁇ + P 300 ⁇ ⁇ 3 + P 012 ⁇ 3 ⁇ 2 + P 111 ⁇ 6 ⁇ + P 210 ⁇ 3 ⁇ 2 ⁇ + P 021 ⁇ 3 ⁇ 2 ⁇ + P 120 ⁇ 3 ⁇ 2 + P 030 ⁇ ⁇ 3 (11)
  • the total number of control points required to draw the cubic triangular Bezier curved surface is 10 including the three vertices P 003 , P 300 , and P 030 .
  • x ( ⁇ , 0,1- ⁇ ) x 00 (1- ⁇ ) 3 + P 102 ⁇ 3 (1- ⁇ ) 2 ⁇ + P 201 ⁇ 3 (1- ⁇ ) ⁇ 2 + x 10 ⁇ 3 (12)
  • x (1- ⁇ , ⁇ , 0) x 10 (1- ⁇ ) 3 + P 210 ⁇ 3 (1- ⁇ ) 2 ⁇ + P 120 ⁇ 3 (1- ⁇ ) ⁇ 2 + x 11 ⁇ 3 (13)
  • x (0, ⁇ , 1- ⁇ ) x 00 (1- ⁇ ) 3 + P 012 ⁇ 3 (1- ⁇ ) 2 ⁇ + P 021 ⁇ 3 (1- ⁇ ) ⁇ 2 + x 11 ⁇ 3 (14)
  • control points of the cubic triangular Bezier curved surface 9 except for the control point P 111 located at the center of the curved triangular area are determined from the three frame lines by the above equations (12) to (14).
  • the central control point P 111 a method for determining this is separately required. This method will be described below.
  • the three frame lines can be expressed as follows from the equations (12) to (14).
  • x ( ⁇ , 0,1- ⁇ ) P 003 (1- ⁇ ) 3 + P 102 ⁇ 3 (1- ⁇ ) 2 ⁇ + P 201 ⁇ 3 (1- ⁇ ) ⁇ 2 + P 300 ⁇ 3
  • x (1- ⁇ , ⁇ , 0) P 300 (1- ⁇ ) 3 + P 210 ⁇ 3 (1- ⁇ ) 2 ⁇ + P 120 ⁇ 3 (1- ⁇ ) ⁇ 2 + P 030 ⁇ 3
  • x (0, ⁇ , 1- ⁇ ) P 003 (1- ⁇ ) 3 + P 012 ⁇ 3 (1- ⁇ ) 2 ⁇ + P 021 ⁇ 3 (1- ⁇ ) ⁇ 2 + P 030 ⁇ 3 (17)
  • the second ruled surface is defined as S 2
  • a triangular Bezier curved surface with a minute point as a control point and is expressed as follows.
  • a curved plane and a cubic Bézier curve are fitted by a cubic polynomial (3) as a curved surface patch for interpolating the given three vertices P 003 , P 300 , P 030.
  • a triangular mesh has been described as an example of a polygonal mesh, but the present invention is not limited to this.
  • the present invention can be applied to a quadrilateral mesh.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Algebra (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)

Abstract

The present invention, where P30, P03 represent opposite end points of a line segment, P21, P12 represent intermediate control points, c represents a curvature parameter of a curved line, and a parameter represents 0 ≤ ζ ≤ 1, allows the line segment to be interpolated for the curve using a cubic polynomial, in which the order of a Bezier curve is expanded to a third order, by interpolating the line segment for the curve using a cubic polynomial given below, thereby making it possible to prevent the intermediate control points from being significantly displaced crosswise relative to the line segment. x(ζ) = P30(1 - ζ)3 + P21 × 3(1 - ζ)2 ζ + P12 × 3(1 - ζ) ζ2 + P03 ζ3 (where P21 = (x0 + 2P11)/3, P21 = (2P11 + x1)/3, and P11 = (x0 + x1)/2 - c/2).

Description

曲面描画装置および曲面描画用プログラムCurved surface drawing apparatus and curved surface drawing program
 本発明は、曲面描画装置および曲面描画用プログラムに関し、特に、多角形メッシュの各頂点と中間制御点とから多角形メッシュの辺や内部を滑らかに補間した曲線または曲面を描画する曲面描画装置に用いて好適なものである。 The present invention relates to a curved surface drawing apparatus and a curved surface drawing program, and more particularly to a curved surface drawing apparatus that draws a curved line or curved surface obtained by smoothly interpolating the sides and the inside of a polygon mesh from each vertex and intermediate control point of the polygon mesh. It is suitable for use.
 通常、有限要素法(FEM)による数値シミュレーションでは、対象領域を離散的な格子点群で近似して計算を行う。これに伴い、領域内に含まれる対象物表面形状は、三角形や四角形から構成される多面体モデル(三角形メッシュ、四角形メッシュ)で表される。 Usually, in the numerical simulation by the finite element method (FEM), the calculation is performed by approximating the target region with discrete lattice points. Accordingly, the object surface shape included in the region is represented by a polyhedron model (triangle mesh, quadrilateral mesh) composed of triangles and quadrangles.
 一方、CAD(Computer Aided Design:コンピュータ支援設計)分野では、伝統的に滑らかな曲面モデルが使われてきた。近年では、計測情報処理の発達により、多面体モデルと曲面モデルとを混在させた形状処理が行われるようになってきている。このような混在モデルでは、多面体表面を構成する各三角形や四角形の辺および内部を簡便な曲面式により滑らかに補間したい場面が生ずる。 On the other hand, in the CAD (Computer Aided Design) field, a smooth surface model has traditionally been used. In recent years, with the development of measurement information processing, shape processing in which a polyhedral model and a curved surface model are mixed has come to be performed. In such a mixed model, there arises a scene where it is desired to smoothly interpolate the sides and the inside of each triangle or quadrangle constituting the polyhedral surface by a simple curved surface formula.
 例えば、曲面を三角形メッシュに多面体近似し、その三角形メッシュを数値シミュレーションで変形した後、変形されたメッシュに合わせて曲面を滑らかに変形するという処理を考えると、多面体の頂点位置で算出される変形量を頂点間の中間位置にも滑らかに補間する計算が必要になる。従来、補間によって曲線や曲面を描画する技術が数多く提供されている(例えば、特許文献1,2参照)。 For example, considering the process of approximating a polyhedron to a triangular mesh, deforming the triangular mesh by numerical simulation, and then smoothly deforming the curved surface according to the deformed mesh, the deformation calculated at the vertex position of the polyhedron A calculation that smoothly interpolates the quantity also in the middle position between the vertices is required. Conventionally, many techniques for drawing a curve or a curved surface by interpolation have been provided (see, for example, Patent Documents 1 and 2).
 ところで、理化学研究所のVCADプロジェクトの中で長田隆氏により創案された曲面式として、「長田パッチ」と呼ばれるものがある。長田パッチは、三角形メッシュ、四角形メッシュの各頂点に付与された法線ベクトル(形状表面に直交する方向)から、曲面の丸みを簡便に補間するのに有効な技術である。以下に、この長田パッチの概要を説明する。 By the way, as a curved surface formula created by Takashi Nagata in the VCAD project of RIKEN, there is a so-called “Nagata patch”. The Nagata patch is an effective technique for simply interpolating the roundness of a curved surface from normal vectors (directions orthogonal to the shape surface) assigned to the vertices of a triangular mesh and a quadrilateral mesh. The outline of the Nagata patch will be described below.
 長田パッチでは、多角形(三角形または四角形)の各頂点と、その各頂点に与えられた単位法線ベクトルとから、2次多項式により多角形領域内に丸みを持って補間する曲面式を定義している。なお、以下では説明の簡略化のため、三角形領域の補間に限定して説明する。長田パッチで基本となるのは、多角形の各辺(線分)を、2つの端点と各端点での単位法線ベクトルとから2次多項式で曲線補間する曲線式である。以下、この曲線式で得られる曲線を「長田セグメント」と呼ぶ。 The Nagata patch defines a curved surface equation that interpolates with roundness in the polygonal area by a quadratic polynomial from each vertex of the polygon (triangle or square) and the unit normal vector given to each vertex. ing. In the following, for simplification of description, the description will be limited to interpolation of a triangular region. The basis of the Nagata patch is a curve formula that interpolates each side (line segment) of a polygon from two end points and a unit normal vector at each end point using a quadratic polynomial. Hereinafter, the curve obtained by this curve formula is referred to as “Nagata segment”.
 図10に示すように、線分の始点をP0、終点をP1、各々の位置ベクトルをx0,x1、単位法線ベクトルをn0,n1とする。この場合、長田パッチでは、0≦ζ≦1をパラメータとして、次の形の2次多項式(1)でx0,x1,n0,n1を補間する。
  x(ζ)=x0+(d-c)ζ+cζ2・・・(1)
ここに、xは曲線の線上点を表す位置ベクトル、dは始点から終点に向かう差ベクトル(d=x1-x0)である。また、cはx0,x1,n0,n1から算出される「曲率パラメータ」と呼ばれる未知定数ベクトルであり、曲線の膨らみを規定する。
As shown in FIG. 10, the start point of the line segment is P 0 , the end point is P 1 , the respective position vectors are x 0 , x 1 , and the unit normal vectors are n 0 , n 1 . In this case, the Nagata patch interpolates x 0 , x 1 , n 0 , and n 1 with a quadratic polynomial (1) of the following form using 0 ≦ ζ ≦ 1 as a parameter.
x (ζ) = x 0 + (dc) ζ + cζ 2 (1)
Here, x is a position vector representing a point on the curve, and d is a difference vector (d = x 1 −x 0 ) from the start point to the end point. Further, c is an unknown constant vector called “curvature parameter” calculated from x 0 , x 1 , n 0 , and n 1 , and defines the bulge of the curve.
 さて、位置ベクトルx0,x1を結ぶ弦(線分)の中点の位置ベクトルをxm(=x0+d/2)とし、中点xmからベクトル(-c/2)だけ移動した位置をPm(=xm-c/2)とする。また、xj(j=0,1)を通り法線ベクトルnjに直交する平面を{xj,nj}で表す。この平面は曲線が接するべき平面なので、「接平面」とよぶ。 Now, the position vector of the midpoint of the string (line segment) connecting the position vectors x 0 and x 1 is x m (= x 0 + d / 2), and the vector (−c / 2) is moved from the midpoint x m . The position is P m (= x m −c / 2). A plane that passes through x j (j = 0, 1) and is orthogonal to the normal vector n j is represented by {x j , n j }. This plane is called the “tangential plane” because it is the plane that the curve should touch.
 ここで、点Pmは、始点側接平面{x0,n0}上にも、終点側接平面{x1,n1}上にもなければならない。すなわち、両接平面{x0,n0},{x1,n1}が交線を持つ場合には、点Pmは交線上になければならない。また、両接平面{x0,n0},{x1,n1}が交線を持つ場合には、n0×n1は交線の方向ベクトルと平行なので、ベクトルcは交線と直交しなければならない。したがって、両接平面{x0,n0},{x1,n1}が交線を持つ場合、点Pmは弦の中点xmから交線に下した垂線の足ということになる。 Here, the point P m must be on the start point side tangent plane {x 0 , n 0 } and on the end point side tangent plane {x 1 , n 1 }. That is, when the both tangent planes {x 0 , n 0 }, {x 1 , n 1 } have an intersection line, the point P m must be on the intersection line. In addition, when the both tangent planes {x 0 , n 0 }, {x 1 , n 1 } have intersecting lines, n 0 × n 1 is parallel to the direction vector of the intersecting lines, so the vector c is Must be orthogonal. Accordingly, if the tangent planes {x 0 , n 0 }, {x 1 , n 1 } have intersecting lines, the point P m is a leg of a perpendicular drawn from the midpoint x m of the chord to the intersecting line. .
 長田パッチでは、線分の各端点P0,P1の位置ベクトルx0,x1と、点Pmの位置ベクトルとから、各端点P0,P1を結ぶ線分を2次多項式で曲線補間する。この曲線補間の2次多項式(2)として、CADでよく使われる図11のようなベジエ曲線を用いることが可能である。すなわち、2次ベジエ曲線を
  x(ζ)=P20(1-ζ)2+P11・2(1-ζ)ζ+P02ζ2・・・(2)
として、P20=x0(始点P0の位置ベクトル)、P02=x1(終点P1の位置ベクトル)、P11=(x0+x1)/2-c/2(中間制御点Pmの位置ベクトル)のように当て嵌めることができる。
In the Nagata patch, a line segment connecting each end point P 0 , P 1 from the position vector x 0 , x 1 of each end point P 0 , P 1 of the line segment and the position vector of the point P m is curved with a quadratic polynomial. Interpolate. As the second-order polynomial (2) for this curve interpolation, it is possible to use a Bezier curve as shown in FIG. 11 that is often used in CAD. That is, a quadratic Bezier curve is expressed as x (ζ) = P 20 (1−ζ) 2 + P 11 · 2 (1−ζ) ζ + P 02 ζ 2 (2)
P 20 = x 0 (position vector of start point P 0 ), P 02 = x 1 (position vector of end point P 1 ), P 11 = (x 0 + x 1 ) / 2−c / 2 (intermediate control point P m position vector).
 長田セグメントは2次多項式曲線であり、放物線の一部を切り取った形状であるため、平面曲線である。曲線が乗っている平面は始終点x0,x1を結ぶ弦を含む平面であり、これを「曲線平面」と呼ぶ。長田セグメントの2次多項式曲線を2次ベジエ曲線として表現する場合には、中間制御点Pmの位置を選ぶことにより、曲線平面が定まる。 The Nagata segment is a quadratic polynomial curve, and is a plane curve because it has a shape obtained by cutting a part of a parabola. The plane on which the curve is placed is a plane including a string connecting the start and end points x 0 and x 1 , and this is called a “curve plane”. In case of expressing a quadratic polynomial curves Nagata segment as a quadratic Bezier curve, by selecting the position of the intermediate control points P m, the curve plane is determined.
 しかしながら、始終点x0,x1に与えられる単位法線ベクトルn0,n1の方向が平行に近いとき、図12に示すように、2次ベジエ曲線で表されるパッチ形状が乱れる(曲線が大きく湾曲する)場合があるという問題があった。曲線の湾曲現象は、単位法線ベクトルn0,n1が平行に近く、始点側接平面{x0,n0}と終点側接平面{x1,n1}とが始終点x0,x1を結ぶ弦から大きく隔たった位置に交線を持つ場合に発生する。このとき、弦の中点xmから接平面交線に下した垂線の足に当たる中間制御点Pmは、弦に対して大きく横にずれ、結果として2次ベジエ曲線は湾曲するに至る。すなわち、曲線平面が接平面と平行に近い状態まで倒れるため、長田セグメントの湾曲が起きる。 However, when the directions of the unit normal vectors n 0 and n 1 given to the start and end points x 0 and x 1 are close to parallel, the patch shape represented by a quadratic Bezier curve is disturbed as shown in FIG. There is a problem that there is a case where the curve is greatly curved). The curve bending phenomenon is such that the unit normal vectors n 0 and n 1 are nearly parallel, and the start point side tangent plane {x 0 , n 0 } and the end point side tangent plane {x 1 , n 1 } are the start and end points x 0 , It occurs when having a line of intersection largely spaced apart position from the chord connecting the x 1. At this time, the intermediate control point P m that hits the foot of the perpendicular line drawn from the midpoint x m of the chord to the tangential plane intersects largely laterally with respect to the chord, and as a result, the secondary Bezier curve is curved. In other words, the Nagata segment is bent because the curved plane falls to a state that is nearly parallel to the tangential plane.
 長田パッチでは、このような問題が生じるのは始終点x0,x1の間隔が大き過ぎるためであるとして、精度を満たすまで三角形メッシュの分割を細かくすることが推奨されている。確かにメッシュを十分に細分すると、法線ベクトルn0 ,n1と弦は直交に近づくので、曲率パラメータc=0で長田セグメントが弦と一致しても、法線直交条件は破綻しない。しかし、現実の応用では三角形メッシュを随意に細かくすることができず、与えられた粗さのメッシュで処理を進めなければならない場合も多い。 In the Nagata patch, such a problem occurs because the interval between the start and end points x 0 and x 1 is too large, and it is recommended that the triangular mesh be divided finely until the accuracy is satisfied. Certainly, if the mesh is sufficiently subdivided, the normal vectors n 0 , n 1 and the chord approach orthogonality, so even if the curvature parameter c = 0 and the Nagata segment matches the chord, the normal orthogonality condition does not break down. However, in actual applications, the triangular mesh cannot be made arbitrarily small, and in many cases, the processing must proceed with a mesh having a given roughness.
特開平5-314268号公報JP-A-5-314268 特開平9-81765号公報JP-A-9-81765
 本発明は、このような問題を解決するために成されたものであり、多角形メッシュの分割を細かくすることなく、当該多角形メッシュの2端点を結ぶ線分を曲線補間することによって得られる曲線が大きく湾曲するといった湾曲現象の発生を防止できるようにすることを目的とする。 The present invention has been made to solve such a problem, and can be obtained by performing curve interpolation on a line segment connecting two end points of the polygon mesh without finely dividing the polygon mesh. It is an object of the present invention to prevent the occurrence of a bending phenomenon such as a large curve.
 上記した課題を解決するために、本発明では、線分の両端点をP30,P03、中間制御点をP21,P12、両端点の位置ベクトルをx0,x1、曲線の曲率パラメータをc、0≦ζ≦1をパラメータとして、次の3次多項式によって線分を曲線補間するようにしている。
 x(ζ)=P30(1-ζ)3+P21・3(1-ζ) 2ζ+P12・3(1-ζ)ζ2+P03ζ3
  ここで、
  P30=x0 ,P03=x1
  P21=(x0+2P11)/3,P21=(2P11+x1)/3
  P11=(x0+x1)/2-c/2
In order to solve the above-described problem, in the present invention, the end points of the line segment are P 30 and P 03 , the intermediate control points are P 21 and P 12 , the position vectors of the end points are x 0 and x 1 , and the curvature of the curve. The line is interpolated with the following cubic polynomial, with the parameter c and 0 ≦ ζ ≦ 1.
x (ζ) = P 30 (1−ζ) 3 + P 21 · 3 (1−ζ) 2 ζ + P 12 · 3 (1−ζ) ζ 2 + P 03 ζ 3
here,
P 30 = x 0 , P 03 = x 1
P 21 = (x 0 + 2P 11 ) / 3, P 21 = (2P 11 + x 1 ) / 3
P 11 = (x 0 + x 1 ) / 2−c / 2
 上記のように構成した本発明によれば、ベジエ曲線の次数を3次に拡張した3次多項式により線分が曲線補間されるので、中間制御点はP21,P12の2つとなり、当該中間制御点P21,P12が線分に対して大きく横にずれてしまうことを防ぐことができる。これにより、多角形メッシュの分割を細かくすることなく、当該多角形メッシュの2端点を結ぶ線分を曲線補間することによって得られる曲線が大きく湾曲するといった湾曲現象の発生を防止することができる。 According to the present invention configured as described above, the line segment is interpolated by a cubic polynomial in which the degree of the Bezier curve is expanded to the third order, so that there are two intermediate control points P 21 and P 12. It is possible to prevent the intermediate control points P 21 and P 12 from being largely displaced laterally with respect to the line segment. Accordingly, it is possible to prevent the occurrence of a bending phenomenon in which a curve obtained by performing curve interpolation on a line segment connecting two end points of the polygon mesh is greatly curved without finely dividing the polygon mesh.
本実施形態による曲面描画装置の構成例を示す機能ブロック図である。It is a functional block diagram which shows the structural example of the curved surface drawing apparatus by this embodiment. 本実施形態の曲線演算部による処理内容を説明するための図である。It is a figure for demonstrating the processing content by the curve calculating part of this embodiment. 本実施形態において採用する曲線平面を説明するための図である。It is a figure for demonstrating the curve plane employ | adopted in this embodiment. 図3に示した曲線平面を用いるだけの対策を施した場合に生じる問題点を説明するための図である。It is a figure for demonstrating the problem which arises when the countermeasure only using the curve plane shown in FIG. 3 is taken. 図3に示した曲線平面を用いるだけの対策を施した場合に生じる問題点を説明するための図である。It is a figure for demonstrating the problem which arises when the countermeasure only using the curve plane shown in FIG. 3 is taken. 本実施形態による補正制御点の求め方を説明するための図である。It is a figure for demonstrating how to obtain | require the correction | amendment control point by this embodiment. 本実施形態によるクーンズ曲面の求め方を説明するための図である。It is a figure for demonstrating how to obtain | require the Coons curved surface by this embodiment. 本実施形態によるクーンズ曲面の求め方を説明するための図である。It is a figure for demonstrating how to obtain | require the Coons curved surface by this embodiment. 本実施形態によるクーンズ曲面の求め方を説明するための図である。It is a figure for demonstrating how to obtain | require the Coons curved surface by this embodiment. 従来の長田パッチによる処理内容を説明するための図である。It is a figure for demonstrating the processing content by the conventional Nagata patch. 従来の長田パッチによる処理内容を説明するための図である。It is a figure for demonstrating the processing content by the conventional Nagata patch. 従来の長田パッチによる処理で生じる問題点を説明するための図である。It is a figure for demonstrating the problem which arises in the process by the conventional Nagata patch.
 以下、本発明の一実施形態を図面に基づいて説明する。図1は、本実施形態による曲面描画装置の構成例を示す機能ブロック図である。図1に示すように、本実施形態の曲面描画装置は、多角形メッシュの各頂点と中間制御点とから多角形メッシュの辺を滑らかに補間した曲線または内部を滑らかに補間した曲面を描画するものであり、その機能構成として、曲線演算部1、曲面演算部2、曲線描画部3、曲面描画部4および表示制御部5を備えて構成されている。 Hereinafter, an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a functional block diagram illustrating a configuration example of the curved surface drawing apparatus according to the present embodiment. As shown in FIG. 1, the curved surface drawing apparatus of the present embodiment draws a curved line obtained by smoothly interpolating the sides of the polygon mesh from each vertex of the polygon mesh and intermediate control points, or a curved surface obtained by smoothly interpolating the inside. As a functional configuration thereof, a curve calculation unit 1, a curved surface calculation unit 2, a curve drawing unit 3, a curved surface drawing unit 4, and a display control unit 5 are provided.
 上記各機能ブロック1~5は、ハードウェア、DSP(Digital Signal Processor)、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック1~5は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶された曲面描画用プログラムが動作することによって実現される。 The above functional blocks 1 to 5 can be configured by any of hardware, DSP (Digital Signal Processor), and software. For example, when configured by software, each of the functional blocks 1 to 5 is actually configured to include a CPU, RAM, ROM, etc. of a computer, and is a curved surface stored in a recording medium such as RAM, ROM, hard disk, or semiconductor memory. This is realized by operating a drawing program.
 したがって、上記各機能ブロック1~5の機能は、曲面描画用プログラムをCD-ROMのような記録媒体に記録し、コンピュータに読み込ませることによって実現できるものである。曲面描画用プログラムを記録する記録媒体としては、CD-ROM以外に、フレキシブルディスク、ハードディスク、磁気テープ、光ディスク、光磁気ディスク、DVD、不揮発性メモリカード等を用いることができる。また、曲面描画用プログラムをインターネットを介してコンピュータにダウンロードすることによっても実現できる。 Therefore, the functions of the functional blocks 1 to 5 can be realized by recording a curved surface drawing program on a recording medium such as a CD-ROM and reading it into a computer. As a recording medium for recording the curved surface drawing program, a flexible disk, a hard disk, a magnetic tape, an optical disk, a magneto-optical disk, a DVD, a nonvolatile memory card, and the like can be used in addition to the CD-ROM. It can also be realized by downloading a curved surface drawing program to a computer via the Internet.
 図2は、曲線演算部1による処理内容を説明するための図である。図2に示すように、曲線演算部1は、線分の両端点をP30,P03、中間制御点をP21,P12、両端点P30,P03の位置ベクトルをx0 ,x1、両端点P30,P03における単位法線ベクトルをn0,n1、求める曲線の曲率パラメータをc、0≦ζ≦1をパラメータとして、次の3次多項式(3)によって線分を曲線補間する。
 x(ζ)=P30(1-ζ)3+P21・3(1-ζ) 2ζ+P12・3(1-ζ)ζ2+P03ζ3・・・(3)
 ここで、
 P30=x0 ,P03=x1
 P21=(x0+2P11)/3,P21=(2P11+x1)/3
 P11=(x0+x1)/2-c/2:2次多項式で曲線補間する場合の中間制御点
FIG. 2 is a diagram for explaining the processing contents by the curve calculation unit 1. As shown in FIG. 2, the curve calculation unit 1 uses P 30 and P 03 for the end points of the line segment, P 21 and P 12 for the intermediate control points, and x 0 and x for the position vectors of the end points P 30 and P 03. 1 , the unit normal vector at both end points P 30 and P 03 is n 0 , n 1 , the curvature parameter of the curve to be obtained is c, and 0 ≦ ζ ≦ 1 is the parameter, and the line segment is expressed by the following cubic polynomial (3) Interpolate curves.
x (ζ) = P 30 (1−ζ) 3 + P 21 · 3 (1−ζ) 2 ζ + P 12 · 3 (1−ζ) ζ 2 + P 03 ζ 3 (3)
here,
P 30 = x 0 , P 03 = x 1
P 21 = (x 0 + 2P 11 ) / 3, P 21 = (2P 11 + x 1 ) / 3
P 11 = (x 0 + x 1 ) / 2−c / 2: Intermediate control point for curve interpolation with quadratic polynomial
 曲線描画部3は、曲線演算部1により求められた曲線を描画する。表示制御部5は、曲線描画部3により描画された曲線をディスプレイ(図示せず)に表示させる。多角形メッシュの各線分に対して曲線演算部1、曲線描画部3および表示制御部5の処理を行うことにより、各多角形メッシュの辺を滑らかに補間した曲線をディスプレイに表示させることが可能である。 The curve drawing unit 3 draws the curve obtained by the curve calculation unit 1. The display control unit 5 displays the curve drawn by the curve drawing unit 3 on a display (not shown). By performing the processing of the curve calculation unit 1, the curve drawing unit 3 and the display control unit 5 for each line segment of the polygon mesh, it is possible to display a curve obtained by smoothly interpolating the sides of each polygon mesh on the display. It is.
 以下に、曲線演算部1の処理内容を詳しく説明する。従来技術について説明したように、長田セグメントの湾曲現象は、当該長田セグメントの曲線が乗っている曲線平面が線分の両端点における接平面と平行に近い状態まで倒れるために起きる。そこで、曲線の湾曲を防止する対策の出発点として、曲線平面を両接平面{x0,n0},{x1,n1}に対して可能な限り直交に近づける。 Below, the processing content of the curve calculating part 1 is demonstrated in detail. As described with respect to the prior art, the bending phenomenon of the Nagata segment occurs because the curved plane on which the curve of the Nagata segment rides falls to a state close to being parallel to the tangential plane at both end points of the line segment. Therefore, as a starting point for measures to prevent curving of the curve, the curve plane is made as close to the orthogonal plane as possible with respect to the tangent planes {x 0 , n 0 }, {x 1 , n 1 }.
 具体的には、図3に示すように、始終点x0,x1を結ぶ線分を含み、当該線分の始点x0を通り始点側接平面{x0,n0}に直交する平面を第1平面Π0とする。また、上記線分を含み、当該線分の終点x1を通り終点側接平面{x1,n1}に直交する平面を第2平面Π1とする。そして、第1平面Π0と第2平面Π1とを等角で2等分する2等分平面のうち、第1平面Π0と第2平面Π1となす角が小さい方を曲線平面Πとして選択する。 Specifically, as shown in FIG. 3, the plane includes a line segment connecting the start and end points x 0 and x 1 and passes through the start point x 0 of the line segment and is orthogonal to the start point side tangent plane {x 0 , n 0 }. the a first plane [pi 0. A plane that includes the line segment, passes through the end point x 1 of the line segment, and is orthogonal to the end point tangent plane {x 1 , n 1 } is defined as a second plane Π 1 . Of the bisector plane and the first plane [pi 0 bisects the second plane [pi 1 and an isometric, who curve plane [pi the angle formed between the first plane [pi 0 [pi 1 and the second plane is less Choose as.
 なお、図12に示したように 両接平面{x0,n0},{x1,n1}の交線が線分(弦)から大きく隔たっている場合には、上記のように曲線平面Πを選択するだけでは問題は解決しない。式(2)のような2次多項式で線分を曲線補間する場合、始終点x0,x1で各接平面{x0,n0},{x1,n1}に接する2次ベジエ曲線を得るには、中間制御点P11は両接平面上にあるべきなので、曲線平面Πと両接平面{x0,n0},{x1,n1}の交線との交点位置に中間制御点P11を配置しなければならない。このため、接平面交線の位置が弦に対して不適切な位置にあると、図4に示すように、中間制御点P11が、弦の両端点での直交平面で挟まれた範囲の外に出てしまうことが起きる。 In addition, as shown in FIG. 12, when the intersection line of both tangent planes {x 0 , n 0 }, {x 1 , n 1 } is largely separated from the line segment (string), the curve is as described above. Simply selecting the plane will not solve the problem. When a line segment is interpolated with a quadratic polynomial such as equation (2), a quadratic bezier that touches each tangent plane {x 0 , n 0 }, {x 1 , n 1 } at the start and end points x 0 and x 1. In order to obtain a curve, the intermediate control point P 11 should be on the both-side plane, so the position of the intersection between the curve plane Π and the intersection line of the both-side planes {x 0 , n 0 }, {x 1 , n 1 } The intermediate control point P 11 must be arranged in Therefore, when the position of the tangent plane intersection line is in the wrong position relative to the strings, as shown in FIG. 4, the intermediate control points P 11 is the range between the orthogonal plane at both end points of the string It happens to go out.
 図4の状況を2次ベジエ曲線の数式として表現すると、
  (P11-P20,P02-P20)<0または(P02-P11,P02-P20)<0・・・(4)
である。中間制御点P11と弦の端点P20,P02との差ベクトルは、端点P20,P02での曲線の接線の方向に対応しているので、式(4)の前半の不等式は、始点P20での接線方向が弦の方向(始点P20から終点P02に向かう方向)と逆行していることを表している(図5(a)参照)。また、式(4)の後半の不等式は、終点P02での接線方向が弦の方向と逆行していることを表している(図5(b)参照)。
If the situation of FIG. 4 is expressed as a mathematical expression of a quadratic Bezier curve,
(P 11 -P 20 , P 02 -P 20 ) <0 or (P 02 -P 11 , P 02 -P 20 ) <0 (4)
It is. Since the difference vector between the intermediate control point P 11 and the chord end points P 20 and P 02 corresponds to the direction of the tangent of the curve at the end points P 20 and P 02 , the inequality in the first half of equation (4) is This indicates that the tangent direction at the start point P 20 is opposite to the chord direction (the direction from the start point P 20 toward the end point P 02 ) (see FIG. 5A). Further, the inequality in the latter half of the equation (4) indicates that the tangent direction at the end point P 02 is opposite to the chord direction (see FIG. 5B).
 このように、両接平面{x0,n0},{x1,n1}の交線が弦から大きく隔たっていると、接線方向と弦の方向が逆行するという問題は、2次ベジエ曲線である以上、避けられない。すなわち、各端点P20,P02での曲線への接線は、曲線平面Πと各接平面{x0,n0},{x1,n1}との交線である。中間制御点P11はこの接線上に位置するが、相手端点の接平面との交点位置が弦の方向と逆行する場合、逆行を回避するには中間制御点を接線上、相手端点側に配置しなければならない。しかしながら、これは2次ベジエ曲線では不可能である。そこで、本実施形態では、ベジエ曲線の次数を3次に拡張し、上述した3次多項式(3)により線分を曲線補間することとする。 Thus, when the intersecting line of both tangent planes {x 0 , n 0 }, {x 1 , n 1 } is greatly separated from the string, the problem that the direction of the tangent and the direction of the string are reversed is a second order Bezier. As long as it is a curve, it is inevitable. That is, the tangent to the curve at each end point P 20 , P 02 is the intersection of the curve plane Π and each tangent plane {x 0 , n 0 }, {x 1 , n 1 }. The intermediate control point P 11 is located on this tangent line, but if the intersection point of the opposite end point with the tangent plane goes backward to the chord direction, the intermediate control point is placed on the opposite end side on the tangent line to avoid the reverse direction. Must. However, this is not possible with a quadratic Bezier curve. Therefore, in this embodiment, the degree of the Bezier curve is expanded to the third order, and the line segment is subjected to curve interpolation by the above-described third order polynomial (3).
 なお、4個の制御点P30,P21,P12,P03は同一平面上にあるとは限らないので、一般に3次ベジエ曲線は平面曲線とは限らない。そこで、本実施形態では、図2に示すように、線分の両端点x0=P30,x1=P03および2つの中間制御点P21,P12を曲線平面Π上に配置することで、平面曲線として考える。ただし、3次ベジエ曲線では中間制御点がP21,P12の2個になり、その決め方を別途案出する必要が生じる。本実施形態では、2次ベジエ曲線の形状を可能な限り継承する手法を採用する。以下にこの手法を説明する。 Since the four control points P 30 , P 21 , P 12 , and P 03 are not necessarily on the same plane, the cubic Bezier curve is generally not necessarily a plane curve. Therefore, in this embodiment, as shown in FIG. 2, both end points x 0 = P 30 and x 1 = P 03 of the line segment and the two intermediate control points P 21 and P 12 are arranged on the curve plane Π. Then, think as a plane curve. However, in the cubic Bezier curve, there are two intermediate control points P 21 and P 12 , and it is necessary to devise how to determine them. In the present embodiment, a method of inheriting the shape of the quadratic Bezier curve as much as possible is adopted. This method will be described below.
 2次多項式は、3次の項=0の場合の特別な3次多項式と言えるので、2次ベジエ曲線を3次ベジエ曲線の特別形と考えたときの制御点を計算する。これは、「ベジエ曲線の次数上げ」として知られた手法を用いて、2次ベジエ曲線の2次多項式(2)に定数1を表す恒等式1=(1-ζ)+ζを掛けて、形式的に3次式にすればよい。なお、次数上げしても、曲線の形状は変化しない。 Since the quadratic polynomial can be said to be a special cubic polynomial when the cubic term = 0, the control point when the quadratic Bezier curve is considered as a special form of the cubic Bezier curve is calculated. This is done by multiplying the quadratic polynomial (2) of the quadratic Bezier curve by the identity 1 = (1−ζ) + ζ representing the constant 1 using a method known as “order increase of the Bezier curve”. The cubic equation may be used. Even if the order is increased, the shape of the curve does not change.
 3次ベジエ曲線の多項式(3)と、2次ベジエ曲線の多項式(2)を3次に次数上げした曲線の多項式との関係式から、以下の関係式が得られる。
  P30=P20(=x0)・・・(5)
  P21=(P20+2P11)/3・・・(6)
  P21=(2P11+P02)/3・・・(7)
  P03=P02(=x1)・・・(8)
The following relational expression is obtained from the relational expression between the polynomial (3) of the cubic Bezier curve and the polynomial of the curve obtained by increasing the degree of the cubic (2) of the quadratic Bezier curve.
P 30 = P 20 (= x 0 ) (5)
P 21 = (P 20 + 2P 11 ) / 3 (6)
P 21 = (2P 11 + P 02 ) / 3 (7)
P 03 = P 02 (= x 1 ) (8)
 ただし、線分の両端点での座標値と法線とから曲線を作るので、接線方向の正負は必要に応じて反転しても構わない。そこで、図5に示したように2次ベジエ曲線の接線方向が弦の方向と逆行している場合には、逆行しない側に補正した制御点から3次ベジエ曲線の制御点を決めることとする。 However, since the curve is made from the coordinate values and normals at the two end points of the line segment, the positive / negative of the tangential direction may be reversed as necessary. Therefore, as shown in FIG. 5, when the tangential direction of the secondary Bezier curve is reverse to the direction of the chord, the control point of the cubic Bezier curve is determined from the control point corrected to the non-reverse side. .
 すなわち、次の式(9),(10)のように補正制御点P11(0),P11(1)を定める。
  P21=(P20+2P11(0))/3・・・(9)
  P21=(2P11(1)+P02)/3・・・(10)
この補正制御点P11(0),P11(1)は、逆行が起きていない場合には2次ベジエ曲線の制御点P11に一致する。一方、逆行が起きている場合には、2次ベジエ曲線の各端点の接線上で相手側(始点側接線では終点側、終点側接線では始点側)の接線を曲線平面上で弦について線対称に配置して得られる交点とする。
That is, the correction control points P 11 (0) and P 11 (1) are determined as in the following equations (9) and (10).
P 21 = (P 20 + 2P 11 (0)) / 3 (9)
P 21 = (2P 11 (1) + P 02 ) / 3 (10)
The correction control points P 11 (0) and P 11 (1) coincide with the control point P 11 of the quadratic Bezier curve when no retrograde occurs. On the other hand, when a retrograde occurs, the tangent of the other side (the end point side at the start point side tangent and the start point side at the end point side tangent) is symmetric about the chord on the curve plane on the tangent line of each end point of the quadratic Bézier curve The intersection obtained by placing the
 このことを、図6を用いて始点側を例に説明する。図6において、始点P20から両接線の交点P11に向かう方向は弦の方向と逆行しているので、交点P11自体を不採用とする。拘束条件は制御点が接線上にあることであり、接線と弦とのなす角度を維持するため、相手=終点側接線を弦について線対称(上向きの白抜き矢印)に配置して始点側接線と交点P11(0)を求める。逆に、始点側接線を弦について線対称(下向きの白抜き矢印)に配置して終点側接線と交点P11(1)を求めてから、式(9),(10)で3次ベジエ曲線の制御点P21,P12を決めると、逆行が回避される。 This will be described using the starting point side as an example with reference to FIG. In FIG. 6, the direction from the starting point P 20 toward the intersection P 11 of both tangents is opposite to the direction of the chord, so the intersection P 11 itself is not adopted. The constraint condition is that the control point is on the tangent line, and in order to maintain the angle between the tangent line and the chord, the other end = tangent line is symmetrical with respect to the chord (upward white arrow) and the start point side tangent line And the intersection P 11 (0) is obtained. Conversely, the starting point side tangent line is placed symmetrically with respect to the chord (downward white arrow), the end point side tangent line and the intersection point P 11 (1) are obtained, and then a cubic Bezier curve is obtained using equations (9) and (10). When the control points P 21 and P 12 are determined, retrograde is avoided.
 以上のような演算を行うことにより、多角形メッシュの分割を細かくすることなく、当該多角形メッシュの2端点を結ぶ線分を曲線補間することによって得られる曲線が大きく湾曲するといった湾曲現象の発生を防止することができる。すなわち、オリジナルの長田パッチで面質良好な場合には同等の面質を与え、オリジナルの長田パッチでは面形状が乱れる場合でも面形状の乱れを抑止することができる。 By performing the above calculation, the occurrence of a bending phenomenon such that the curve obtained by interpolating the line connecting the two end points of the polygon mesh is greatly curved without making the polygon mesh divided finely. Can be prevented. That is, when the original Nagata patch has good surface quality, the same surface quality can be provided, and even when the original Nagata patch has a disturbed surface shape, the surface shape can be prevented from being disturbed.
 次に、与えられた枠線だけから曲面内部を内挿する方法について述べる。当該内挿の手法としてよく知られているものとして、クーンズ曲面がある。クーンズ曲面は、図7に示すように、1つの枠線とそれに対向する枠線との組合せから1次式補間される線織面(ruled surface)を全ての組合せについて足し合わせ、境界条件の余分を調整して定義される曲面である。枠線間の1次補間から“ピンと張った”曲面が得られる特性があるので、長田パッチ定義式を拡張する曲面式に適している。 Next, a method for interpolating the inside of a curved surface from only given frame lines will be described. A well-known interpolation method is the Coons curved surface. As shown in FIG. 7, the Coons curved surface is a combination of one frame line and a frame line opposite to it, and a ruled surface that is linearly interpolated from all combinations is added for all combinations, and extra boundary conditions are added. Is a curved surface defined by adjusting. Since it has a characteristic that a “pinched” curved surface can be obtained from linear interpolation between frame lines, it is suitable for a curved surface formula that extends the Nagata patch definition formula.
 図1の曲面演算部2は、多角形メッシュの各線分について曲線演算部1により算出された複数の枠線と、多角形メッシュの各頂点と、当該各頂点間の各線分に関する中間制御点とを用い、1つの枠線とそれに対向する枠線との組合せから1次式補間されるベジエ曲面を全ての組合せについて足し合わせるとともに、多角形メッシュの各頂点から1次補間で定義されるベジエ曲面を差し引いてクーンズ曲面を算出する。 The curved surface calculation unit 2 in FIG. 1 includes a plurality of frame lines calculated by the curve calculation unit 1 for each line segment of the polygon mesh, each vertex of the polygon mesh, and an intermediate control point for each line segment between the respective vertexes. The Bezier curved surface that is linearly interpolated from the combination of one frame line and the opposite frame line is added for all combinations, and the Bezier curved surface is defined by linear interpolation from each vertex of the polygon mesh. Is subtracted to calculate the Coons surface.
 曲面描画部4は、曲面演算部2により求められたクーンズ曲面を描画する。表示制御部5は、曲面描画部4により描画されたクーンズ曲面をディスプレイ(図示せず)に表示させる。例えば、3次元形状を構成する複数の多角形メッシュに対して曲面演算部2、曲面描画部4および表示制御部5の処理を行うことにより、各多角形メッシュの内部を滑らかに内挿した曲面をディスプレイに表示させることが可能である。 The curved surface drawing unit 4 draws the Coons curved surface obtained by the curved surface calculation unit 2. The display control unit 5 displays the Coons curved surface drawn by the curved surface drawing unit 4 on a display (not shown). For example, a curved surface obtained by smoothly interpolating the inside of each polygonal mesh by performing processing of the curved surface calculation unit 2, the curved surface drawing unit 4 and the display control unit 5 on a plurality of polygonal meshes constituting a three-dimensional shape. Can be displayed on the display.
 なお、以下では、多角形メッシュの一例として三角形メッシュをとりあげ、曲線演算部1により生成した3本の枠線(曲線)で囲まれた曲線三角形領域を内挿する三角クーンズ曲面について説明する。本実施形態では、上述したように、長田パッチの3本の枠線を3次ベジエ曲線に変更したので、ベジエ形式での曲面式は3次の三角ベジエ曲面を用いなければならない。 In the following, a triangular mesh is taken as an example of a polygonal mesh, and a triangular Coons curved surface that interpolates a curved triangular area surrounded by three frame lines (curves) generated by the curved line calculation unit 1 will be described. In the present embodiment, as described above, the three frame lines of the Nagata patch are changed to a cubic Bezier curve, and therefore, a cubic triangular Bezier curved surface must be used for the curved surface expression in the Bezier format.
 例えば、図8のように、3つの頂点P003,P300,P030とそれらを結ぶ3本の枠線(曲線)とがある場合、3次三角ベジエ曲面は、μ,ν,ωを三角形の重心座標と考えたとき、0≦μ,ν,ω≦1(μ+ν+ω=1)をパラメータとして、次の式(11)により表される。
x(μ,ν,ω)=P003・ω3+P102・3μω2+P201・3μ2ω+P300・μ3
        +P012・3νω2+P111・6μνω+P210・3μ2ν
        +P021・3ν2ω+P120・3μν2+P030・ν3・・・(11)
この式(11)から明らかなように、3次三角ベジエ曲面を描画するために必要な制御点は、3つの頂点P003,P300,P030を含めて全部で10個である。
For example, as shown in FIG. 8, when there are three vertices P 003 , P 300 , P 030 and three frame lines (curves) connecting them, the cubic triangular Bezier curved surface is a triangle of μ, ν, ω. Is expressed by the following equation (11) using 0 ≦ μ, ν, ω ≦ 1 (μ + ν + ω = 1) as parameters.
x (μ, ν, ω) = P 003 · ω 3 + P 102 · 3 µω 2 + P 201 · 3 µ 2 ω + P 300 · µ 3
+ P 012 · 3νω 2 + P 111 · 6μνω + P 210 · 2 ν
+ P 021・ 3ν 2 ω + P 120・ 3μν 2 + P 030・ ν 3 (11)
As is clear from this equation (11), the total number of control points required to draw the cubic triangular Bezier curved surface is 10 including the three vertices P 003 , P 300 , and P 030 .
 ここで、長田パッチの3頂点との対応は、P003=x00,P300=x10,P030=x11である。また、パラメータとの対応は、μ=η-ζ,ν=ζ,ω=1-ηであり(0≦ζ≦η≦1)、各枠線には上述の方法で決められた3次ベジエ曲線を次のように当て嵌める。
 x(η,0,1-η)=x00(1-η)3+P102・3(1-η)2η+P201・3(1-η)η2+x10η3・・・(12)
 x(1-ζ,ζ,0)=x10(1-ζ)3+P210・3(1-ζ)2ζ+P120・3(1-ζ) ζ2+x11ζ3・・・(13)
 x(0,η,1-η)=x00(1-η)3+P012・3(1-η)2η+P021・3(1-η)η2+x11η3・・・(14)
 なお、式(12)ではν=ζ=0なのでμ=η、式(13)ではω=1-η=0なのでη=1、μ=1-ζ、式(14)ではμ=η-ζ=0なのでν=ζ=ηである。
Here, the correspondence with the three vertices of the Nagata patch is P 003 = x 00 , P 300 = x 10 , P 030 = x 11 . The correspondence with the parameters is μ = η−ζ, ν = ζ, ω = 1−η (0 ≦ ζ ≦ η ≦ 1), and each frame line has a cubic Bezier determined by the above-described method. Fit the curve as follows.
x (η, 0,1-η) = x 00 (1-η) 3 + P 102 · 3 (1-η) 2 η + P 201 · 3 (1-η) η 2 + x 10 η 3 (12)
x (1-ζ, ζ, 0) = x 10 (1-ζ) 3 + P 210 · 3 (1-ζ) 2 ζ + P 120 · 3 (1-ζ) ζ 2 + x 11 ζ 3 (13)
x (0, η, 1-η) = x 00 (1-η) 3 + P 012 · 3 (1-η) 2 η + P 021 · 3 (1-η) η 2 + x 11 η 3 (14)
In equation (12), ν = ζ = 0, so μ = η, in equation (13), ω = 1−η = 0, so η = 1, μ = 1−ζ, and in equation (14), μ = η−ζ. Since = 0, ν = ζ = η.
 上記式(12)~(14)により、3次三角ベジエ曲面の10個の制御点のうち、曲線三角形領域の中央に位置する制御点P111を除く9個は3本の枠線から定まる。一方、中央の制御点P111については、これを決める方法が別途必要である。以下に、この方法を説明する。 Of the 10 control points of the cubic triangular Bezier curved surface, 9 except for the control point P 111 located at the center of the curved triangular area are determined from the three frame lines by the above equations (12) to (14). On the other hand, for the central control point P 111 , a method for determining this is separately required. This method will be described below.
 3本の枠線は、式(12)~(14)から以下のように表すことができる。
 x(η,0,1-η)=P003(1-η)3+P102・3(1-η)2η+P201・3(1-η)η2+P300η3・・・(15)
 x(1-ζ,ζ,0)=P300(1-ζ)3+P210・3(1-ζ)2ζ+P120・3(1-ζ) ζ2+P030ζ3・・・(16)
 x(0,η,1-η)=P003(1-η)3+P012・3(1-η)2η+P021・3(1-η)η2+P030η3・・・(17)
ここで、式(15)はν=0とした枠線、式(16)はω=0とした枠線、式(17)はμ=0とした枠線を示している。
The three frame lines can be expressed as follows from the equations (12) to (14).
x (η, 0,1-η) = P 003 (1-η) 3 + P 102 · 3 (1-η) 2 η + P 201 · 3 (1-η) η 2 + P 300 η 3 (15)
x (1-ζ, ζ, 0) = P 300 (1-ζ) 3 + P 210 · 3 (1-ζ) 2 ζ + P 120 · 3 (1-ζ) ζ 2 + P 030 ζ 3 (16)
x (0, η, 1-η) = P 003 (1-η) 3 + P 012 · 3 (1-η) 2 η + P 021 · 3 (1-η) η 2 + P 030 η 3 (17)
Here, Expression (15) shows a frame line with ν = 0, Expression (16) shows a frame line with ω = 0, and Expression (17) shows a frame line with μ = 0.
 図7にて説明したように、クーンズ曲面は、1つの枠線とそれに対向する枠線とから1次式補間される線織面を全組合せについて足し合わせ、境界条件の余分を調整して定義される曲面である。これを図8の例に適用すると、以下のようになる。すなわち、ν=0枠線とμ=0枠線とから1次式補間される第1の線織面をS1、μ=0枠線とω=0枠線とから1次式補間される第2の線織面をS2、ν=0枠線とω=0枠線とから1次式補間される第3の線織面をS3、3頂点から1次補間で定義される1次三角ベジエ曲面をS4とした場合、求める三角クーンズ曲面Sは、以下の通りとなる。
  S=(S1+S2+S3-S4)/2・・・(18)
As explained with reference to FIG. 7, the Coons curved surface is defined by adding the ruled surface interpolated from one frame line and the opposite frame line for all combinations and adjusting the excess of boundary conditions. Is a curved surface. Applying this to the example of FIG. That is, the first ruled surface that is linearly interpolated from the ν = 0 frame line and the μ = 0 frame line is linearly interpolated from the S 1 , μ = 0 frame line and the ω = 0 frame line. The second ruled surface is defined as S 2 , and the third ruled surface that is linearly interpolated from the ν = 0 frame line and the ω = 0 frame line is defined as S 3 , and 1 is defined by the primary interpolation from the three vertices. If the next triangular Bezier surface was S 4, it obtains triangular Coons curved surface S is as follows.
S = (S 1 + S 2 + S 3 −S 4 ) / 2 (18)
 ここで、第1の線織面S1は、図9に示すように、ν=0枠線の中間制御点P201とμ=0枠線の中間制御点P021とを結ぶ線分の等分点を制御点とする三角ベジエ曲面であり、以下のように表される。
  S1(μ,ν,ω)=P003・ω3+P102・3μω2+P201・3μ2ω+P300・μ3+P012・3νω2+{(P201+P021)/2}・6μνω+{(2P300+P030)/3}・3μ2ν+P021・3ν2ω+{(P300+2P030)/3}・3μν2+P030・ν3・・・(19)
Here, as shown in FIG. 9, the first ruled surface S 1 is a line segment connecting the intermediate control point P 201 of the ν = 0 frame line and the intermediate control point P 021 of the μ = 0 frame line. A triangular Bezier curved surface with a minute point as a control point, and is expressed as follows.
S 1 (μ, ν, ω) = P 003 · ω 3 + P 102 · 3 μω 2 + P 201 · 3 μ 2 ω + P 300 · μ 3 + P 012 · 3νω 2 + {(P 201 + P 021 ) / 2} · 6 μνω + {( 2P 300 + P 030 ) / 3} · 3μ 2 ν + P 021 · 3ν 2 ω + {(P 300 + 2P 030 ) / 3} · 3 μν 2 + P 030 · ν 3 (19)
 同様に、第2の線織面S2は、μ=0枠線の中間制御点P012とω=0枠線の中間制御点P210とを結ぶ線分の等分点を制御点とする三角ベジエ曲面であり、以下のように表される。
  S2(μ,ν,ω)=P003・ω3+{(2P003+P300)/3}・3μω2+{(P003+2P300)/3}・3μ2ω+P300・μ3+P012・3νω2+{(P012+P210)/2}・6μνω+P210・3μ2ν+P021・3ν2ω+P120・3μν2+P030・ν3・・・(20)
Similarly, the second ruled surface S 2 has a control point as an equidistant point of a line segment connecting the intermediate control point P 012 of μ = 0 frame line and the intermediate control point P 210 of ω = 0 frame line. It is a triangular Bezier curved surface and is expressed as follows.
S 2 (μ, ν, ω ) = P 003 · ω 3 + {(2P 003 + P 300) / 3} · 3μω 2 + {(P 003 + 2P 300) / 3} · 2 ω + P 300 · μ 3 + P 012・ 3νω 2 + {(P 012 + P 210 ) / 2} • 6 μνω + P 210 • 3 μ 2 ν + P 021 • 3ν 2 ω + P 120 • 3 μν 2 + P 030 • ν 3 (20)
 同様に、第3の線織面S3は、ν=0枠線の中間制御点P102とω=0枠線の中間制御点P120とを結ぶ線分の等分点を制御点とする三角ベジエ曲面であり、以下のように表される。
  S3(μ,ν,ω)=P003・ω3+P102・3μω2+P201・3μ2ω+P300・μ3+{(2P003+P030)/3}・3νω2+{(P102+P120)/2}・6μνω+P210・3μ2ν+{(P003+2P030)/3}・3ν2ω+P120・3μν2+P030・ν3・・・(21)
Similarly, the third ruled surface S 3 has a control point that is an equally divided point connecting the intermediate control point P 102 of the ν = 0 frame line and the intermediate control point P 120 of the ω = 0 frame line. It is a triangular Bezier curved surface and is expressed as follows.
S 3 (μ, ν, ω) = P 003 · ω 3 + P 102 · 3 μω 2 + P 201 · 3 μ 2 ω + P 300 · μ 3 + {(2P 003 + P 030 ) / 3} · 3νω 2 + {(P 102 + P 120) / 2} · 6μνω + P 210 · 2 ν + {(P 003 + 2P 030) / 3} · 2 ω + P 120 · 3μν 2 + P 030 · ν 3 ··· (21)
 これらの式(18)~(21)から、3次三角ベジエ曲面の中央制御点P111を計算すると、次の式(22)となる。
  P111={(P201+P021)/4}+{(P012+P210)/4}+{(P102+P120)/4}-{(P003+P300+P030)/6}・・・(22)
When the central control point P 111 of the cubic triangular Bezier curved surface is calculated from these equations (18) to (21), the following equation (22) is obtained.
P 111 = {(P 201 + P 021 ) / 4} + {(P 012 + P 210 ) / 4} + {(P 102 + P 120 ) / 4} − {(P 003 + P 300 + P 030 ) / 6}. ·(twenty two)
 このように、本実施形態によれば、与えられた3頂点P003,P300,P030を補間する曲面パッチとして、3次多項式(3)により曲線平面と3次ベジエ曲線とを当て嵌めてν=0枠線、ω=0枠線およびμ=0枠線を補間し、これらの各枠線から式(18)の定義式による三角クーンズ曲面を構成して3次三角ベジエ曲面を得ることができる。 Thus, according to the present embodiment, a curved plane and a cubic Bézier curve are fitted by a cubic polynomial (3) as a curved surface patch for interpolating the given three vertices P 003 , P 300 , P 030. Interpolate the ν = 0 frame line, ω = 0 frame line, and μ = 0 frame line, and form a triangular Coons surface according to the definition of equation (18) from these frame lines to obtain a cubic triangular Bezier surface. Can do.
 なお、上記実施形態では、多角形メッシュの一例として三角形メッシュをとりあげて説明をしたが、本発明はこれに限定されない。例えば、四角形メッシュに本発明を適用することも可能である。 In the above embodiment, a triangular mesh has been described as an example of a polygonal mesh, but the present invention is not limited to this. For example, the present invention can be applied to a quadrilateral mesh.
 その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。 In addition, each of the above-described embodiments is merely an example of implementation in carrying out the present invention, and the technical scope of the present invention should not be construed in a limited manner. That is, the present invention can be implemented in various forms without departing from the gist or the main features thereof.
 1 曲線演算部
 2 曲面演算部
 3 曲線描画部
 4 曲面描画部
 5 表示制御部
DESCRIPTION OF SYMBOLS 1 Curve calculation part 2 Curved surface calculation part 3 Curve drawing part 4 Curved surface drawing part 5 Display control part

Claims (6)

  1. 多角形メッシュの各頂点と中間制御点とから多角形メッシュの辺を滑らかに補間した曲線または内部を滑らかに補間した曲面を描画する曲面描画装置であって、
     上記線分の両端点をP30,P03、上記中間制御点をP21,P12、上記両端点の位置ベクトルをx0,x1、上記曲線の曲率パラメータをc、0≦ζ≦1をパラメータとして、次の3次多項式によって上記線分を曲線補間する曲線演算部と、
     x(ζ)=P30(1-ζ)3+P21・3(1-ζ) 2ζ+P12・3(1-ζ)ζ2+P03ζ3
      ここで、
      P30=x0 ,P03=x1
      P21=(x0+2P11)/3,P21=(2P11+x1)/3
      P11=(x0+x1)/2-c/2
     上記曲線演算部により求められた上記曲線を描画する曲線描画部とを備えたことを特徴とする曲面描画装置。
    A curved surface drawing apparatus that draws a curved line obtained by smoothly interpolating the sides of the polygonal mesh from each vertex and intermediate control points of the polygonal mesh or a curved surface obtained by smoothly interpolating the inside,
    Both end points of the line segment are P 30 and P 03 , the intermediate control points are P 21 and P 12 , the position vectors of the both end points are x 0 and x 1 , the curvature parameter of the curve is c, and 0 ≦ ζ ≦ 1 As a parameter, a curve calculation unit for curve interpolating the line segment by the following cubic polynomial,
    x (ζ) = P 30 (1−ζ) 3 + P 21 · 3 (1−ζ) 2 ζ + P 12 · 3 (1−ζ) ζ 2 + P 03 ζ 3
    here,
    P 30 = x 0 , P 03 = x 1
    P 21 = (x 0 + 2P 11 ) / 3, P 21 = (2P 11 + x 1 ) / 3
    P 11 = (x 0 + x 1 ) / 2−c / 2
    A curved surface drawing apparatus comprising: a curve drawing unit for drawing the curve obtained by the curve calculation unit.
  2. 上記曲線演算部は、上記線分を含み、上記線分の始点P30を通り当該始点P30の単位法線ベクトルに直交する始点側接平面に直交する第1平面と、上記線分を含み、上記線分の終点P03を通り当該始点P03の単位法線ベクトルに直交する終点側接平面に直交する第2平面との2等分平面のうち、上記第1平面と上記第2平面となす角が小さい方を曲線平面として選択し、上記線分の両端点P30,P03および上記中間制御点P21,P12を上記曲線平面上に配置することを特徴とする請求項1に記載の曲面描画装置。 The curve calculation unit includes the line segment includes a first plane perpendicular to the starting point side tangent plane perpendicular to the unit normal vector of the street the start point P 30 of the start point P 30 of the line segments, the line segment The first plane and the second plane among the bisection planes passing through the end point P 03 of the line segment and the second plane orthogonal to the end point tangent plane orthogonal to the unit normal vector of the start point P 03 The one having a smaller angle is selected as a curved plane, and both end points P 30 and P 03 of the line segment and the intermediate control points P 21 and P 12 are arranged on the curved plane. The curved surface drawing apparatus described in 1.
  3. 上記多角形メッシュの各線分について上記曲線演算部により算出された複数の枠線と、上記多角形メッシュの各頂点と、当該各頂点間の各線分に関する上記中間制御点とを用い、1つの枠線とそれに対向する枠線との組合せから1次式補間されるベジエ曲面を全ての組合せについて足し合わせるとともに、上記多角形メッシュの各頂点から1次補間で定義されるベジエ曲面を差し引いてクーンズ曲面を算出する曲面演算部と、
     上記曲面演算部により求められた上記クーンズ曲面を描画する曲面描画部とを更に備えたことを特徴とする請求項1に記載の曲面描画装置。
    One frame using a plurality of frame lines calculated by the curve calculation unit for each line segment of the polygon mesh, each vertex of the polygon mesh, and the intermediate control point regarding each line segment between the vertexes The Beesier surface that is linearly interpolated from the combination of the line and the opposite frame line is added for all the combinations, and the Coons surface is obtained by subtracting the Bezier surface defined by the linear interpolation from each vertex of the polygon mesh. A curved surface calculation unit for calculating
    The curved surface drawing apparatus according to claim 1, further comprising a curved surface drawing unit that draws the Coons curved surface obtained by the curved surface calculation unit.
  4. 上記多角形メッシュが三角形メッシュであり、当該三角形メッシュの3頂点をP003,P300,P030、当該3頂点間を結ぶ3つの線分に関する3組の上記中間制御点を(P102,P201),(P210,P120),(P012,P021)、0≦ζ≦η≦1をパラメータとして、上記曲線演算部は、次の3式により3本の枠線を算出し、
     x(η,0,1-η)=P003(1-η)3+P102・3(1-η)2η+P201・3(1-η)η2+P300η3
     x(1-ζ,ζ,0)=P300(1-ζ)3+P210・3(1-ζ)2ζ+P120・3(1-ζ) ζ2+P030ζ3
     x(0,η,1-η)=P003(1-η)3+P012・3(1-η)2η+P021・3(1-η)η2+P030η3
     上記曲面演算部は、上記3式のうち第1式と第3式との組合せから1次式補間される第1のベジエ曲面をS1、上記3式のうち第2式と第3式との組合せから1次式補間される第2のベジエ曲面をS2、上記3式のうち第1式と第2式との組合せから1次式補間される第3のベジエ曲面をS3、上記3頂点から1次補間で定義されるベジエ曲面をS4、上記三角形メッシュの中央に位置する制御点をP111とした場合、
      S=(S1+S2+S3-S4)/2
      P111={(P201+P021)/4}+{(P012+P210)/4}+{(P102+P120)/4}-{(P003+P300+P030)/6}
    により上記クーンズ曲面Sを算出することを特徴とする請求項3に記載の曲面描画装置。
    The polygonal mesh is a triangular mesh, and the three vertices of the triangular mesh are P 003 , P 300 , P 030 , and three sets of the intermediate control points relating to the three line segments connecting the three vertices are (P 102 , P 201 ), (P 210 , P 120 ), (P 012 , P 021 ), 0 ≦ ζ ≦ η ≦ 1, and the curve calculation unit calculates three frame lines according to the following three formulas:
    x (η, 0,1-η) = P 003 (1-η) 3 + P 102 · 3 (1-η) 2 η + P 201 · 3 (1-η) η 2 + P 300 η 3
    x (1-ζ, ζ, 0) = P 300 (1-ζ) 3 + P 210 · 3 (1-ζ) 2 ζ + P 120 · 3 (1-ζ) ζ 2 + P 030 ζ 3
    x (0, η, 1-η) = P 003 (1-η) 3 + P 012 · 3 (1-η) 2 η + P 021 · 3 (1-η) η 2 + P 030 η 3
    The curved surface calculation unit is a first Bezier curved surface that is linearly interpolated from a combination of the first and third expressions among the three expressions, S 1 , and among the three expressions, the second and third expressions of S 2 a second Bezier curved surface is a linear expression interpolation of a combination, the first equation and the third Bezier curved surface S 3 which is combined from a linear equation interpolation with the second type of the above three equations, the When a Bezier surface defined by linear interpolation from three vertices is S 4 and a control point located at the center of the triangular mesh is P 111 ,
    S = (S 1 + S 2 + S 3 −S 4 ) / 2
    P 111 = {(P 201 + P 021 ) / 4} + {(P 012 + P 210 ) / 4} + {(P 102 + P 120 ) / 4} − {(P 003 + P 300 + P 030 ) / 6}
    The curved surface drawing apparatus according to claim 3, wherein the Coons curved surface S is calculated by:
  5. 多角形メッシュの各頂点と中間制御点とから多角形メッシュの辺を滑らかに補間した曲線または内部を滑らかに補間した曲面を描画するための曲面描画用プログラムであって、
     上記線分の両端点をP30,P03、上記中間制御点をP21,P12、上記両端点の位置ベクトルをx0,x1、上記曲線の曲率パラメータをc、0≦ζ≦1をパラメータとして、次の3次多項式によって上記線分を曲線補間する曲線演算手段、および
     x(ζ)=P30(1-ζ)3+P21・3(1-ζ) 2ζ+P12・3(1-ζ)ζ2+P03ζ3
      ここで、
      P30=x0 ,P03=x1
      P21=(x0+2P11)/3,P21=(2P11+x1)/3
      P11=(x0+x1)/2-c/2
     上記曲線演算手段により求められた上記曲線を描画する曲線描画部手段
    としてコンピュータを機能させるための曲面描画用プログラム。
    A surface drawing program for drawing a curved surface obtained by smoothly interpolating the sides of the polygonal mesh from each vertex and intermediate control points of the polygonal mesh or a curved surface obtained by smoothly interpolating the inside.
    Both end points of the line segment are P 30 and P 03 , the intermediate control points are P 21 and P 12 , the position vectors of the both end points are x 0 and x 1 , the curvature parameter of the curve is c, and 0 ≦ ζ ≦ 1 As a parameter, curve calculation means for curve interpolation of the line segment by the following cubic polynomial, and x (ζ) = P 30 (1-ζ) 3 + P 21 · 3 (1-ζ) 2 ζ + P 12 · 3 ( 1-ζ) ζ 2 + P 03 ζ 3
    here,
    P 30 = x 0 , P 03 = x 1
    P 21 = (x 0 + 2P 11 ) / 3, P 21 = (2P 11 + x 1 ) / 3
    P 11 = (x 0 + x 1 ) / 2−c / 2
    A curved surface drawing program for causing a computer to function as a curve drawing unit that draws the curve obtained by the curve calculation unit.
  6. 上記多角形メッシュの各線分について上記曲線演算部により算出された複数の枠線と、上記多角形メッシュの各頂点と、当該各頂点間の各線分に関する上記中間制御点とを用い、1つの枠線とそれに対向する枠線との組合せから1次式補間されるベジエ曲面を全ての組合せについて足し合わせるとともに、上記多角形メッシュの各頂点から1次補間で定義されるベジエ曲面を差し引いてクーンズ曲面を算出する曲面演算手段、および
     上記曲面演算手段により求められた上記クーンズ曲面を描画する曲面描画手段
    としてコンピュータを更に機能させるための請求項5に記載の曲面描画用プログラム。
    One frame using a plurality of frame lines calculated by the curve calculation unit for each line segment of the polygon mesh, each vertex of the polygon mesh, and the intermediate control point regarding each line segment between the vertexes The Beesier surface that is linearly interpolated from the combination of the line and the opposite frame line is added for all the combinations, and the Coons surface is obtained by subtracting the Bezier surface defined by the linear interpolation from each vertex of the polygon mesh. 6. The curved surface drawing program according to claim 5, wherein the computer further functions as curved surface calculating means for calculating the curve, and curved surface drawing means for drawing the Coons curved surface obtained by the curved surface calculating means.
PCT/JP2014/058770 2013-05-07 2014-03-27 Curved-surface drawing device and curved-surface drawing program WO2014181598A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013097657A JP6026949B2 (en) 2013-05-07 2013-05-07 Curved surface drawing apparatus and curved surface drawing program
JP2013-097657 2013-05-07

Publications (1)

Publication Number Publication Date
WO2014181598A1 true WO2014181598A1 (en) 2014-11-13

Family

ID=51867084

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/058770 WO2014181598A1 (en) 2013-05-07 2014-03-27 Curved-surface drawing device and curved-surface drawing program

Country Status (2)

Country Link
JP (1) JP6026949B2 (en)
WO (1) WO2014181598A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111127590A (en) * 2019-12-26 2020-05-08 新奥数能科技有限公司 Second-order Bezier curve drawing method and device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01120675A (en) * 1987-11-04 1989-05-12 Sony Corp Production of free curved surface
JPH07311858A (en) * 1994-05-18 1995-11-28 Sony Corp Method and device for preparing free curved surface
JP2001331812A (en) * 2000-05-18 2001-11-30 Sony Corp Device and method for generating graphic information, image processor, information processor and recording medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9223315D0 (en) * 1992-11-06 1992-12-23 Canon Res Ct Europe Ltd Processing image data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01120675A (en) * 1987-11-04 1989-05-12 Sony Corp Production of free curved surface
JPH07311858A (en) * 1994-05-18 1995-11-28 Sony Corp Method and device for preparing free curved surface
JP2001331812A (en) * 2000-05-18 2001-11-30 Sony Corp Device and method for generating graphic information, image processor, information processor and recording medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YASUHIRO SHIMIZU: "Extension of Nagata Patch to Cubic Degree", UNISYS TECHNOLOGY REVIEW, vol. 32, no. 3, 30 November 2012 (2012-11-30), pages 141 - 162 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111127590A (en) * 2019-12-26 2020-05-08 新奥数能科技有限公司 Second-order Bezier curve drawing method and device
CN111127590B (en) * 2019-12-26 2023-06-20 新奥数能科技有限公司 Second-order Bezier curve drawing method and device

Also Published As

Publication number Publication date
JP2014219789A (en) 2014-11-20
JP6026949B2 (en) 2016-11-16

Similar Documents

Publication Publication Date Title
KR100707841B1 (en) Nurbs surface deformation apparatus and the method using 3d target curve
JP5218993B2 (en) Interpolation processing method and interpolation processing apparatus
WO2007083602A1 (en) Interpolation processing method, interpolation processing device, shape evaluation method, and shape evaluation device
EP1705589A1 (en) Method for approximating and displaying three-dimensional cad data, and system for executing that method
US20110158555A1 (en) Curved surface area calculation device and method
CN114429535A (en) Smooth cutting method and device for triangular mesh curved surface
JP6026949B2 (en) Curved surface drawing apparatus and curved surface drawing program
Fernández-Jambrina et al. Developable surface patches bounded by NURBS curves
US10902675B2 (en) Graphical modelling by smoothing polyhedral meshes with multi-sided patches
JP6592308B2 (en) Curved surface drawing apparatus and curved surface drawing program
JP2009110073A (en) Design support device, design support method, and design support program
CN111444673B (en) Character bending deformation method, medium, equipment and device
JP4487923B2 (en) Design data generation apparatus and design data generation program
Muraki et al. Curve Mesh Modeling Method of Trimmed Surfaces for Direct Modeling
JP6025615B2 (en) Image drawing device
JP2005149245A (en) Cad system, curved surface analysis device, curved surface reproducing device, and method and program therefor
JP2010044440A (en) Three-dimensional shape processing apparatus and processing method
Yu et al. Smooth geometry generation in additive manufacturing file format: problem study and new formulation
JP4364133B2 (en) Local coordinate system determination program
Freitag et al. Enhancements in blending algorithms
Baramidze Smooth bivariate shape-preserving cubic spline approximation
JP4093903B2 (en) Curved surface generation apparatus, curved surface generation method, program, and recording medium
JP6727932B2 (en) Curved surface generator by point cloud surface fitting and curved surface generation program
JP7338322B2 (en) Three-dimensional shape data editing device and three-dimensional shape data editing program
KR20110129677A (en) Method generating offset curve according to bezier curve

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14794773

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14794773

Country of ref document: EP

Kind code of ref document: A1