JP6026949B2 - Curved surface drawing apparatus and curved surface drawing program - Google Patents

Curved surface drawing apparatus and curved surface drawing program Download PDF

Info

Publication number
JP6026949B2
JP6026949B2 JP2013097657A JP2013097657A JP6026949B2 JP 6026949 B2 JP6026949 B2 JP 6026949B2 JP 2013097657 A JP2013097657 A JP 2013097657A JP 2013097657 A JP2013097657 A JP 2013097657A JP 6026949 B2 JP6026949 B2 JP 6026949B2
Authority
JP
Japan
Prior art keywords
curved surface
curve
line segment
line
plane
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.)
Active
Application number
JP2013097657A
Other languages
Japanese (ja)
Other versions
JP2014219789A (en
Inventor
保弘 清水
保弘 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nihon Unisys Ltd
Original Assignee
Nihon Unisys Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nihon Unisys Ltd filed Critical Nihon Unisys Ltd
Priority to JP2013097657A priority Critical patent/JP6026949B2/en
Priority to PCT/JP2014/058770 priority patent/WO2014181598A1/en
Publication of JP2014219789A publication Critical patent/JP2014219789A/en
Application granted granted Critical
Publication of JP6026949B2 publication Critical patent/JP6026949B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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]

Landscapes

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

Description

本発明は、曲面描画装置および曲面描画用プログラムに関し、特に、多角形メッシュの各頂点と中間制御点とから多角形メッシュの辺や内部を滑らかに補間した曲線または曲面を描画する曲面描画装置に用いて好適なものである。   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 a discrete lattice point group. 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, traditionally smooth curved surface models have 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 and 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, there is a so-called “Nagata patch” as a curved surface formula created by Takashi Nagata in the VCAD project of RIKEN. 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 quadrangle) 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 middle point 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 middle point 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号公報Japanese Patent Laid-Open No. 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
ここで、
30=x0 ,P03=x1
21=(x0+2P11)/3,P21=(2P11+x1)/3
11=(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、ハードディスクまたは半導体メモリ等の記録媒体に記憶された曲面描画用プログラムが動作することによって実現される。   Each of the 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 actually includes 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 the program 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)
ここで、
30=x0 ,P03=x1
21=(x0+2P11)/3,P21=(2P11+x1)/3
11=(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 when curve interpolation is performed with a 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 For this reason, when the position of the tangent plane intersection line is in an inappropriate position with respect to the string, as shown in FIG. 4, the intermediate control point P 11 is in a range sandwiched by orthogonal planes 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 third-order 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 obtained 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次に次数上げした曲線の多項式との関係式から、以下の関係式が得られる。
30=P20(=x0)・・・(5)
21=(P20+2P11)/3・・・(6)
21=(2P11+P02)/3・・・(7)
03=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 formed from the coordinate values and normal lines 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)を定める。
21=(P20+2P11(0))/3・・・(9)
21=(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 a given frame line will be described. A well-known interpolation method is the Coons curved surface. As shown in FIG. 7, the Coons curved surface is obtained by adding a ruled surface that is linearly interpolated from a combination of one frame line and a frame line opposite to the frame line for all the combinations. 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 the 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 polygon 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 · 3μ 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とを結ぶ線分の等分点を制御点とする三角ベジエ曲面であり、以下のように表される。
1(μ,ν,ω)=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とを結ぶ線分の等分点を制御点とする三角ベジエ曲面であり、以下のように表される。
2(μ,ν,ω)=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} · 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とを結ぶ線分の等分点を制御点とする三角ベジエ曲面であり、以下のように表される。
3(μ,ν,ω)=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 · 3μ 2 ν + {(P 003 + 2P 030) / 3} · 3ν 2 ω + P 120 · 3μν 2 + P 030 · ν 3 ··· (21)

これらの式(18)〜(21)から、3次三角ベジエ曲面の中央制御点P111を計算すると、次の式(22)となる。
111={(P201+P021)/4}+{(P012+P210)/4}+{(P102+P120)/4}−{(P003+P300+P030)/6}・・・(22)
From these equations (18) to (21), when calculating the cubic triangular Bezier surface of the central control point P 111, the following equation (22).
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)

多角形メッシュの各頂点と中間制御点とから多角形メッシュの辺を滑らかに補間した曲線または内部を滑らかに補間した曲面を描画する曲面描画装置であって、
上記線分の両端点をP30,P03、上記中間制御点をP21,P12、上記両端点の位置ベクトルをx0,x1、上記曲線の曲率パラメータをc、0≦ζ≦1をパラメータとして、次の3次多項式によって上記線分を曲線補間する曲線演算部と、
x(ζ)=P30(1−ζ)3+P21・3(1−ζ) 2ζ+P12・3(1−ζ)ζ2+P03ζ3
ここで、
30=x0 ,P03=x1
21=(x0+2P11)/3,P21=(2P11+x1)/3
11=(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.
上記曲線演算部は、上記線分を含み、上記線分の始点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. 上記多角形メッシュの各線分について上記曲線演算部により算出された複数の枠線と、上記多角形メッシュの各頂点と、当該各頂点間の各線分に関する上記中間制御点とを用い、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.
上記多角形メッシュが三角形メッシュであり、当該三角形メッシュの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
111={(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:
多角形メッシュの各頂点と中間制御点とから多角形メッシュの辺を滑らかに補間した曲線または内部を滑らかに補間した曲面を描画するための曲面描画用プログラムであって、
上記線分の両端点をP30,P03、上記中間制御点をP21,P12、上記両端点の位置ベクトルをx0,x1、上記曲線の曲率パラメータをc、0≦ζ≦1をパラメータとして、次の3次多項式によって上記線分を曲線補間する曲線演算手段、および
x(ζ)=P30(1−ζ)3+P21・3(1−ζ) 2ζ+P12・3(1−ζ)ζ2+P03ζ3
ここで、
30=x0 ,P03=x1
21=(x0+2P11)/3,P21=(2P11+x1)/3
11=(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.
上記多角形メッシュの各線分について上記曲線演算部により算出された複数の枠線と、上記多角形メッシュの各頂点と、当該各頂点間の各線分に関する上記中間制御点とを用い、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.
JP2013097657A 2013-05-07 2013-05-07 Curved surface drawing apparatus and curved surface drawing program Active JP6026949B2 (en)

Priority Applications (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
PCT/JP2014/058770 WO2014181598A1 (en) 2013-05-07 2014-03-27 Curved-surface drawing device and curved-surface drawing program

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2014219789A JP2014219789A (en) 2014-11-20
JP6026949B2 true JP6026949B2 (en) 2016-11-16

Family

ID=51867084

Family Applications (1)

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

Country Status (2)

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

Families Citing this family (1)

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

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2946506B2 (en) * 1987-11-04 1999-09-06 ソニー株式会社 Object surface shape data creation method
GB9223315D0 (en) * 1992-11-06 1992-12-23 Canon Res Ct Europe Ltd Processing image data
JPH07311858A (en) * 1994-05-18 1995-11-28 Sony Corp Method and device for preparing free curved surface
JP4483025B2 (en) * 2000-05-18 2010-06-16 ソニー株式会社 Image processing apparatus and information processing apparatus

Also Published As

Publication number Publication date
WO2014181598A1 (en) 2014-11-13
JP2014219789A (en) 2014-11-20

Similar Documents

Publication Publication Date Title
JP5218993B2 (en) Interpolation processing method and interpolation processing apparatus
KR100707841B1 (en) Nurbs surface deformation apparatus and the method using 3d target curve
KR20110111259A (en) Design of a part modeled by parallel geodesic curves
WO2007083602A1 (en) Interpolation processing method, interpolation processing device, shape evaluation method, and shape evaluation device
JP6629808B2 (en) Numerical control unit
JP6026949B2 (en) Curved surface drawing apparatus and curved surface drawing program
EP3185151A1 (en) Designing an outer surface of a composite part
Fernández-Jambrina et al. Developable surface patches bounded by NURBS curves
US10902675B2 (en) Graphical modelling by smoothing polyhedral meshes with multi-sided patches
JP2007156604A (en) Curved surface creation method, curved surface creation program and three-dimensional shape processor
JP4487923B2 (en) Design data generation apparatus and design data generation program
JP2007179272A (en) Computer assisted design device, and program and method therefor
JP6592308B2 (en) Curved surface drawing apparatus and curved surface drawing program
Muraki et al. Curve Mesh Modeling Method of Trimmed Surfaces for Direct Modeling
Yu et al. Smooth geometry generation in additive manufacturing file format: problem study and new formulation
JP2010044440A (en) Three-dimensional shape processing apparatus and processing method
JP2008299473A (en) Device and method for generating three-dimensional shape data of object
JP4364133B2 (en) Local coordinate system determination program
Baramidze Smooth bivariate shape-preserving cubic spline approximation
JP4093903B2 (en) Curved surface generation apparatus, curved surface generation method, program, and recording medium
JP4005352B2 (en) 3D shape processing apparatus and curved surface interpolation program
JP6727932B2 (en) Curved surface generator by point cloud surface fitting and curved surface generation program
JP2001067391A (en) Three-dimenisonal form processing method and recording medium recording program for executing the processing method
JP2002328958A (en) Mesh generation method, program, recording medium, and mesh generation system
JP4163446B2 (en) Curved surface interpolation method, curved surface interpolation program and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160331

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: 20161004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161013

R150 Certificate of patent or registration of utility model

Ref document number: 6026949

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250