JPH06231261A - Method for displaying parametric trimming curve by polygonal line approximation and graphic display system - Google Patents

Method for displaying parametric trimming curve by polygonal line approximation and graphic display system

Info

Publication number
JPH06231261A
JPH06231261A JP1385593A JP1385593A JPH06231261A JP H06231261 A JPH06231261 A JP H06231261A JP 1385593 A JP1385593 A JP 1385593A JP 1385593 A JP1385593 A JP 1385593A JP H06231261 A JPH06231261 A JP H06231261A
Authority
JP
Japan
Prior art keywords
parametric
trimming curve
curved surface
curve
trimming
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.)
Pending
Application number
JP1385593A
Other languages
Japanese (ja)
Inventor
Toshiharu Kawasaki
敏治 川崎
Tooru Sakaihara
徹 酒井原
Toshiyuki Kuwana
利幸 桑名
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP1385593A priority Critical patent/JPH06231261A/en
Publication of JPH06231261A publication Critical patent/JPH06231261A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To provide a graphic system provided with a method for approximating a trimming curve by polygonal lines which can reduce an error on the curved face of the trimming curve to a specified value or less. CONSTITUTION:A trimming curve previously stored in a filing device 613 or inputted by a mouse 604 or the like is stored in a memory 604. An allowable error value specified from a keyboard 603 is stored in the memory 602. A program for determining the number of polygonal lines based upon an optional allowable error value is stored in the device 613 at the time of approximating a trimming curve by polygonal lines. The program is read out from the device 613 to the memory 602 and executed by a CPU 601, which determines the number of polygonal lines based upon the specified allowable error value, prepares graphic data for the trimming curve and stores the prepared data in the memory 602. The data are transferred to a graphic subsystem 607 and displayed on a CRT 611.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、パラメトリック曲面を
グラフィックディスプレイ等に描画するグラフィックシ
ステムに係り、特にパラメトリック曲面をパラメトリッ
クトリミング曲線によってトリミングするようなグラフ
ィックシステムに係る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a graphic system for drawing a parametric curved surface on a graphic display or the like, and more particularly to a graphic system for trimming a parametric curved surface by a parametric trimming curve.

【0002】[0002]

【従来の技術】一般に、グラフィックシステムにおいて
曲線を表示する場合、曲線をドット(点)の列として表
示させようとすると複雑な処理を必要とするため、複数
の連続した線分からなる折線で近似して表示する。線分
を発生するには、例えば、DDA(Digital D
ifferential Analizer)を用いる
方法がある。
2. Description of the Related Art Generally, when displaying a curve in a graphic system, complicated processing is required to display the curve as a row of dots (dots). Therefore, the curve is approximated by a polygonal line. To display. To generate a line segment, for example, DDA (Digital D
There is a method using an differential analyzer.

【0003】即ち、曲線の折線近似は、曲線上に適当な
N(≧1)個の点(これを分割点と称する)を採り、上
記曲線の始点と第1番目の分割点、第1番目の分割点と
第2番目の分割点、……、第N−1番目の分割点と第N
番目の分割点、第N番目の分割点と終点とを線分で結ん
だ折線で近似することによってなされる。
That is, in the polygonal line approximation of a curve, appropriate N (≧ 1) points (referred to as division points) are taken on the curve, and the start point of the curve, the first division point, and the first point Division point and second division point, ..., N-1th division point and Nth division point
This is done by approximating the th division point, the Nth division point, and the end point with a polygonal line connecting the line segments.

【0004】同様に、曲面をドットの列により表示させ
ようとすると複雑な処理を必要とするため、複数の連続
した多角形からなる開多面体又は閉多面体で近似して表
示する。上記多角形(正確には、この多角形を塗り潰す
ためのドット列)を発生させるためには、上記のように
線分を表示する場合と同様に、DDAを用いる方法があ
る(ただし、線分を発生させるDDAを2次元のDDA
と称し、多角形を発生させるDDAを3次元のDDAと
称する)。
Similarly, in order to display a curved surface by a row of dots, since complicated processing is required, the curved surface is approximated by an open polyhedron or a closed polyhedron composed of a plurality of continuous polygons. In order to generate the above-mentioned polygon (correctly, a dot row for filling this polygon), there is a method of using DDA as in the case of displaying a line segment as described above (however, the line is A two-dimensional DDA that generates a minute
, And a DDA that generates a polygon is called a three-dimensional DDA).

【0005】即ち、曲面の開多面体又は閉多面体による
近似は、曲面上に適当なM×N個(M,N≧1)の分割
点を採り(曲面上の1方向にM個の分割点を、この方向
と異なる方向にN個の分割点を採り)、この分割点によ
り出来るM×N個の格子の矩形、又は、この矩形を更に
対角線で分割した三角形の集まりにより近似する。
That is, to approximate a curved surface with an open polyhedron or a closed polyhedron, appropriate M × N (M, N ≧ 1) dividing points are taken on the curved surface (M dividing points in one direction on the curved surface are taken. , N division points are taken in a direction different from this direction), and it is approximated by a rectangle of M × N lattices formed by the division points or a set of triangles obtained by further dividing this rectangle by diagonal lines.

【0006】曲線及び曲面の上記のような分割点の求め
方としては、曲線及び曲面の各座標がパラメータによる
数式で表現されている場合に、このパラメータの値を始
点から終点までを等分してパラメータの分割点を求め、
各パラメータの分割点に対応する曲線及び曲面上の点を
分割点とする方法がある。この場合に、分割点の個数
(分割数)を求める方法としては、従来“Surfac
e algorithms using bounds
on derivatives”(D.Filip,
R.Magedson, and R.Marko
t, 1986)や“Real−time rende
ring of trimmed surfaces”
(A.Rockwood, K.Heaton, an
d T.Davis, 1989)等に記載されている
ような方法がある。
As a method of obtaining the above-mentioned dividing points of a curve and a curved surface, when each coordinate of the curve and the curved surface is expressed by a mathematical expression with a parameter, the value of this parameter is equally divided from the start point to the end point. To find the dividing point of the parameter,
There is a method in which a curve and a point on the curved surface corresponding to the division points of each parameter are used as the division points. In this case, the conventional method for determining the number of division points (the number of divisions) is "Surfac".
e Algorithms using bounds
on derivings "(D. Filip,
R. Magedson, and R.M. Marko
t, 1986) and "Real-time render".
ring of trimmed surfaces "
(A. Rockwood, K. Heaton, an
d T. Davis, 1989) and the like.

【0007】[0007]

【発明が解決しようとする課題】上記従来技術では、パ
ラメトリック(パラメータの関数として与えられる)曲
線及びパラメトリック曲面の分割数の決定法について述
べられている。
The above-mentioned prior art describes a method of determining the number of divisions of parametric (given as a function of parameters) curves and parametric curved surfaces.

【0008】一方、パラメトリック曲面のパラメータ空
間(これを定義域と称する)をパラメータ空間内に定義
された曲線で制限し、制限された部分のみを描画するよ
うな、いわゆるトリミングの技術がある。トリミング
は、通常パラメータ空間内に定義された一本以上の曲線
(これをトリミング曲線と称す)から構成される閉曲線
(これをトリミングループと称す)で指定され、その閉
曲線の左側(右側)を描画する側として残すように定義
される。
On the other hand, there is a so-called trimming technique in which a parameter space of a parametric curved surface (this is referred to as a domain) is limited by a curve defined in the parameter space and only the limited portion is drawn. Trimming is specified by a closed curve (called a trimming loop) that is usually composed of one or more curves defined in the parameter space (called a trimming curve), and the left side (right side) of the closed curve is drawn. It is defined to leave as the side to do.

【0009】一般に、各トリミング曲線もパラメトリッ
クに定義されることが多い。この場合、このパラメトリ
ック曲線(トリミング曲線)も折線近似を行うが、上記
従来技術にもトリミング曲線の分割方法については述べ
られていない。しかし、通常は、グラフィックシステム
固定又はシステムへ受け渡される分割数でパラメトリッ
ク曲面のパラメタ空間内で折線近似を行い、その後トリ
ミング曲線を折線近似した各節点(2本の折線が接続す
る点)におけるパラメトリック曲面上の値、又は、開多
面体近似又は閉多面体近似した開多面体又は閉多面体上
の値を計算し、このようにして計算された曲面上の点を
結んで構成される折線をパラメトリック曲面のエッジ
(端部)としていた。しかし、このようにするとトリミ
ングによって生じたパラメトリック曲面のエッジに誤差
が発生するが、その誤差を評価する手段について考慮さ
れていなかった。トリミングされた二つの曲面をエッジ
で合わせたような図形を表示したい場合には、このよう
な誤差が大きいとエッジ部分が合わなくなり不自然にな
る。
Generally, each trimming curve is often defined parametrically. In this case, this parametric curve (trimming curve) is also subjected to polygonal line approximation, but the method of dividing the trimming curve is not described in the above-mentioned conventional technique. However, normally, the parametric at each node (the point where two polygonal lines are connected) is obtained by performing polygonal line approximation in the parameter space of the parametric curved surface with the number of divisions fixed to the graphic system or passed to the system, and then polygonally approximating the trimming curve. Calculate the value on the curved surface or the value on the open polyhedron or the closed polyhedron approximated by the open polyhedron approximation or the closed polyhedron, and form the polygonal edge of the parametric curved surface by connecting the points on the curved surface thus calculated. (The end). However, in this way, an error occurs at the edge of the parametric curved surface caused by the trimming, but no consideration has been given to the means for evaluating the error. When it is desired to display a figure in which two trimmed curved surfaces are matched by an edge, if such an error is large, the edge portions do not match and it becomes unnatural.

【0010】本発明は、ユーザにより誤差の許容値を指
定されると、トリミングによって生じるパラメトリック
曲面のエッジの誤差を、前記指定された値以下に抑える
ことを可能とするための、パラメトリックトリミング曲
線の折線近似方法を備えたグラフィックシステムを提供
することを目的とする。
According to the present invention, when an allowable error value is designated by a user, the edge error of the parametric curved surface caused by trimming can be suppressed to be equal to or less than the designated value. An object is to provide a graphic system having a polygonal line approximation method.

【0011】[0011]

【問題を解決するための手段】上記課題を解決するため
に、本発明によれば、少なくとも、入力装置、記憶装
置、演算装置、および、表示装置を備え、パラメトリッ
ク曲面の定義式または制御点の集合、および、前記曲面
をトリミングするためのパラメトリックなトリミング曲
線の定義式または制御点の集合を記憶装置に保持し、演
算装置において前記パラメトリック曲面を開多面体また
は閉多面体により近似し、演算装置において前記パラメ
トリックなトリミング曲線を折線により近似して、前記
パラメトリック曲面およびパラメトリックなトリミング
曲線を前記表示装置に表示する際に、トリミング曲線の
折線による近似の精度について、外部から指定される任
意の値の許容誤差値を前記入力装置により受付けて記憶
装置に保持し、指定された許容誤差値に基づいて、トリ
ミング曲線を折線により近似する際の折線の数を決定す
るための式を記憶装置に予め備え、演算装置により折線
の数を決定することができる。
In order to solve the above-mentioned problems, according to the present invention, at least an input device, a storage device, a calculation device, and a display device are provided, and a definition formula of a parametric curved surface or a control point A set, and a definition formula of a parametric trimming curve for trimming the curved surface or a set of control points are held in a storage device, and the parametric curved surface is approximated by an open polyhedron or a closed polyhedron in a computing device. When a parametric trimming curve is approximated by a polygonal line and the parametric curved surface and the parametric trimming curve are displayed on the display device, the tolerance of approximation of the trimming curve by the polygonal line is an allowable error of an arbitrary value specified from the outside. The value is received by the input device, stored in the storage device, and specified. The on the basis of the allowable error value, previously provided a trimming curve equation storage device for determining the number of the polygonal line when approximated by fold lines, it is possible to determine the number of fold lines by the arithmetical unit.

【0012】また、トリミング曲線が、1つの変数tを
パラメタとしc(t)=(u(t),v(t))である
写像cで与えられ、パラメトリック曲面が、2つの変数
uおよびvをパラメタとしs(u,v)=(x(u,
v),y(u,v),z(u,v))である写像sによ
り与えられ、許容誤差値がLで指定されるとき、トリミ
ング曲線を折線により近似する際の折線の数を決定する
ための式を、合成写像s・cのtによる一次微分(s・
c)′の大きさの、前記トリミング曲線のパラメタtの
範囲内での最大値M1を演算装置により求め、折線の数
をM1/Lと決定するための式とすることもできる。
Further, a trimming curve is given by a map c with one variable t as a parameter and c (t) = (u (t), v (t)), and the parametric surface is given by two variables u and v. With s (u, v) = (x (u,
v), y (u, v), z (u, v)), and when the tolerance value is specified by L, determines the number of polygonal lines when the trimming curve is approximated by polygonal lines. The equation for doing the first derivative (s.
It is also possible to obtain a maximum value M1 of the size of c) ′ within the range of the parameter t of the trimming curve by an arithmetic device, and use it as an equation for determining the number of broken lines as M1 / L.

【0013】さらに、トリミング曲線が、1つの変数t
をパラメタとしc(t)=(u(t),v(t))であ
る写像cで与えられ、パラメトリック曲面が、2つの変
数uおよびvをパラメタとしs(u,v)=(x(u,
v),y(u,v),z(u,v))である写像sによ
り与えられ、許容誤差値がTOLで指定されるとき、ト
リミング曲線を折線により近似する際の折線の数を決定
するための式を、合成写像s・cのtによる二次微分
(s・c)″の大きさの、前記トリミング曲線のパラメ
タtの範囲内での最大値M2を演算装置により求め、折
線の数を√(M2/(8×TOL))と決定するための
式とすることもできる。
Further, the trimming curve has one variable t.
Is given as a mapping c that is c (t) = (u (t), v (t)), and the parametric surface has two variables u and v as parameters s (u, v) = (x ( u,
v), y (u, v), z (u, v)), and when the tolerance value is specified by TOL, determine the number of polygonal lines when approximating the trimming curve by polygonal lines. Is calculated by a computing device to find the maximum value M2 of the size of the second derivative (s · c) ″ of the composite map s · c by t within the range of the parameter t of the trimming curve. It can also be an equation for determining the number as √ (M2 / (8 × TOL)).

【0014】さらに、パラメトリック曲面が、複数の曲
面(各曲面を区分と称する)の和集合として与えられて
いる場合には、パラメトリックトリミング曲線cの写像
sによる値域と、前記パラメトリック曲面の各区分との
共通部分が存在するか否かを演算装置により判定し、共
通部分が存在するときに限り、共通部分が存在する範囲
を合成写像s・cのパラメタ範囲として、(s・c)′
又は(s・c)″の大きさの最大値を求めることもでき
る。
Further, when the parametric curved surface is given as a union of a plurality of curved surfaces (each curved surface is referred to as a section), the range of the mapping s of the parametric trimming curve c and each section of the parametric curved surface Whether or not the common part exists is determined by the arithmetic unit, and only when the common part exists, the range in which the common part exists is defined as the parameter range of the composite map s · c, (s · c) ′.
Alternatively, the maximum value of the size of (s · c) ″ can be obtained.

【0015】さらに、パラメトリック曲面が、複数の曲
面(各曲面を区分と称する)の和集合として与えられ、
且つ、パラメトリックトリミング曲線が制御点の集合で
定義され且つ凸包性を有する場合には、前記パラメトリ
ックトリミング曲線を定義する制御点の集合の写像sに
よる値域と、前記パラメトリック曲面の各区分との共通
部分が存在するか否かを演算装置により判定し、前記パ
ラメトリックトリミング曲線の値域とパラメトリック曲
線の各区分との共通部分が存在するか否かの判定を行う
こともできる。
Further, a parametric curved surface is given as a union of a plurality of curved surfaces (each curved surface is referred to as a section),
In addition, when the parametric trimming curve is defined by a set of control points and has a convex hull property, the range of the mapping s of the set of control points defining the parametric trimming curve is common to each section of the parametric curved surface. It is also possible to determine whether or not there is a portion by an arithmetic device, and to determine whether or not there is a common portion between the range of the parametric trimming curve and each section of the parametric curve.

【0016】さらに、パラメトリック曲面の定義式また
は制御点の集合、および、前記曲面をトリミングするた
めのパラメトリックなトリミング曲線の定義式または制
御点の集合を記憶装置に保持し、演算装置において前記
パラメトリック曲面を開多面体または閉多面体により近
似し、演算装置において前記パラメトリックなトリミン
グ曲線を折線により近似して、前記パラメトリック曲面
およびパラメトリックなトリミング曲線を表示装置に表
示するグラフィック表示システムにおいて、前記トリミ
ング曲線の折線による近似の精度について、外部から指
定される任意の値の許容誤差値を入力する入力手段と、
入力された許容誤差値を保持する第1の記憶手段と、入
力された許容誤差値に基づいて、前記トリミング曲線を
折線により近似する際の折線の数を決定するための式を
予め保持する第2の記憶手段と、この式に基づき折線の
数を決定する決定手段とを備えるグラフィック表示シス
テムを提供することもできる。
Further, a definitional expression of a parametric curved surface or a set of control points and a definitional expression of a parametric trimming curve for trimming the curved surface or a set of control points is held in a storage device, and the parametric curved surface is stored in a computing device. Is approximated by an open polyhedron or a closed polyhedron, the parametric trimming curve is approximated by a polygonal line in a computing device, and the parametric curved surface and the parametric trimming curve are displayed on a display device. Regarding the accuracy of the approximation, input means for inputting the tolerance value of any value specified from the outside,
First storage means for holding an input allowable error value, and first holding an equation for determining the number of broken lines when approximating the trimming curve with the broken line based on the input allowable error value. It is also possible to provide a graphic display system comprising two storage means and a determination means for determining the number of broken lines based on this formula.

【0017】さらに、このグラフィック表示システムに
おいて、トリミング曲線が、1つの変数tをパラメタと
しc(t)=(u(t),v(t))である写像cで与
えられ、パラメトリック曲面が、2つの変数uおよびv
をパラメタとしs(u,v)=(x(u,v),y
(u,v),z(u,v))である写像sにより与えら
れ、許容誤差値がLで指定されるとき、トリミング曲線
を折線により近似する際の折線の数を決定するための式
を、合成写像s・cのtによる一次微分(s・c)′の
大きさの、トリミング曲線のパラメタtの範囲内での最
大値M1を演算装置により求め、折線の数をM1/Lと
決定するための式とすることもできる。
Further, in this graphic display system, a trimming curve is given by a map c with one variable t as a parameter and c (t) = (u (t), v (t)), and a parametric surface is Two variables u and v
As a parameter, s (u, v) = (x (u, v), y
(U, v), z (u, v)) given by the map s and the tolerance value is specified by L, an expression for determining the number of polygonal lines when the trimming curve is approximated by polygonal lines. The maximum value M1 of the magnitude of the first-order derivative (s · c) ′ of the composite map s · c with respect to t within the range of the parameter t of the trimming curve is calculated by the arithmetic device, and the number of broken lines is set to M1 / L. It can also be a formula for determining.

【0018】さらに、グラフィック表示システムにおい
て、トリミング曲線が、1つの変数tをパラメタとしc
(t)=(u(t),v(t))である写像cで与えら
れ、パラメトリック曲面が、2つの変数uおよびvをパ
ラメタとしs(u,v)=(x(u,v),y(u,
v),z(u,v))である写像sにより与えられ、許
容誤差値がTOLで指定されるとき、前記トリミング曲
線を折線により近似する際の折線の数を決定するための
式を、合成写像s・cのtによる二次微分(s・c)″
の大きさの、前記トリミング曲線のパラメタtの範囲内
での最大値M2を演算装置により求め、折線の数を√
(M2/(8×TOL))と決定するための式とするこ
ともできる。
Furthermore, in the graphic display system, the trimming curve has one variable t as a parameter and c
Given a mapping c that is (t) = (u (t), v (t)), the parametric surface takes two variables u and v as parameters s (u, v) = (x (u, v) , Y (u,
v), z (u, v)), and an allowable error value is specified by TOL, an equation for determining the number of polygonal lines when approximating the trimming curve by polygonal lines is given by Second derivative of composite map s · c by t (s · c) ″
The maximum value M2 of the trimming curve within the range of the parameter t of the trimming curve is calculated by a computing device, and the number of broken lines is √
It may be an equation for determining (M2 / (8 × TOL)).

【0019】さらに、パラメトリック曲面が、複数の曲
面(各曲面を区分と称する)の和集合として与えられて
いる場合に、パラメトリックトリミング曲線cの写像s
による値域と、パラメトリック曲面の各区分との共通部
分が存在するか否かを判定する判定手段と、判定手段に
より共通部分が存在すると判定された場合に、共通部分
が存在する範囲を合成写像s・cのパラメタ範囲とし
て、(s・c)′又は(s・c)″の大きさの最大値を
求める最大値算出手段とを備えるグラフィック表示シス
テムを提供することもできる。
Furthermore, when the parametric curved surface is given as a union of a plurality of curved surfaces (each curved surface is referred to as a section), the mapping s of the parametric trimming curve c
Determining means for determining whether or not there is a common part between each range of the parametric curved surface and each section of the parametric curved surface, and when the determining means determines that the common part exists, the range in which the common part exists is synthesized map s It is also possible to provide a graphic display system provided with a maximum value calculating means for obtaining the maximum value of the magnitude of (s · c) ′ or (s · c) ″ as the parameter range of c.

【0020】さらに、パラメトリック曲面が、複数の曲
面(各曲面を区分と称する)の和集合として与えられ、
且つ、パラメトリックトリミング曲線が制御点の集合で
定義され且つ凸包性を有する場合に、判定手段として、
パラメトリックトリミング曲線を定義する制御点の集合
の写像sによる値域と、パラメトリック曲面の各区分と
の共通部分が存在するか否かを判定する制御点判定手段
とを備えるグラフィック表示システムを提供することも
できる。
Further, the parametric surface is given as a union of a plurality of surfaces (each surface is referred to as a section),
In addition, when the parametric trimming curve is defined by a set of control points and has convex hullability, as a determination means,
It is also possible to provide a graphic display system including a range based on a map s of a set of control points that defines a parametric trimming curve, and control point determination means that determines whether or not there is a common part with each section of the parametric curved surface. it can.

【0021】ここで、凸包性について説明する。区間
[a,b]を定義域とするパラメトリック曲線が、制御
点の集合{Pi|i=1,2,…,n}から定まってい
るとき、曲線cが凸包性を持つとは、曲線上の任意の点
がco{Pi|i=1,2,3,…,n}(すべての点
iを含む、最小の凸集合)に含まれることである。即
ち、任意のt∈[a,b]に対して、c(t)∈co
{Pi|i=1,2,…,n}が成り立つことである。
同様に、矩形領域[a,b]×[c,d]を定義域とす
るパラメトリック曲面が、制御点の集合{Pij|i=
1,2,…,m;j=1,2,…,n}から定まってい
るとき、曲面sが凸包性を持つとは、曲線上の任意の点
がco{Pij|i=1,2,…,m;j=1,2,…,
n}(すべての点Pijを含む、最小の凸集合)に含まれ
ることである。即ち、任意の(u,v)∈[a,b]×
[c,d]に対して、s(u,v)∈co{Pij|i=
1,2,…,m;j=1,2,…,n}が成り立つこと
である。
Here, the convex hull property will be described. When the parametric curve having the interval [a, b] as the domain is determined from the set of control points {P i | i = 1, 2, ..., N}, the curve c has a convex hull property. It means that any point on the curve is included in co {P i | i = 1, 2, 3, ..., N} (minimum convex set including all points P i ). That is, for any t ∈ [a, b], c (t) ∈ co
That is, {P i | i = 1, 2, ..., N} holds.
Similarly, a parametric surface having a rectangular region [a, b] × [c, d] as a domain is a set of control points {P ij | i =
1, 2, ..., M; j = 1, 2, ..., N}, it means that the curved surface s has a convex hull property if any point on the curve is co {P ij | i = 1. , 2, ..., m; j = 1,2, ...,
n} (the smallest convex set that includes all points P ij ). That is, any (u, v) ε [a, b] ×
For [c, d], s (u, v) εco {P ij | i =
1, 2, ..., M; j = 1, 2, ..., N}.

【0022】[0022]

【作用】パラメトリックトリミング曲線の折線近似の為
の分割方法をパラメトリック曲面上での誤差が一定値以
下になるように定める為の一例は、与えられたパラメト
リック曲面の定義式又は与えられた制御点の集合より定
まる定義式をsとし、与えられたパラメトリックトリミ
ング曲線の定義式又は与えられた制御点の集合より定ま
る定義式をcとするとき、パラメトリックトリミング曲
線の折線近似の各線分の長さを一定値L以下に抑えるた
めに、合成写像s・cのパラメトリックトリミング曲線
のパラメタによる一次微分(s・c)′の大きさのパラ
メタ範囲内での最大値M1を求め、パラメトリックトリ
ミング曲線の折線近似の為の分割数をM1/Lとするこ
とである。
[Function] An example of determining the division method for the polygonal line approximation of the parametric trimming curve so that the error on the parametric curved surface becomes a certain value or less is an example of the definition equation of the given parametric curved surface or the given control point. Let s be the definition formula defined by the set and c be the definition formula of the given parametric trimming curve or the set of the given control points, and make the length of each line segment of the polygonal line approximation of the parametric trimming curve constant. In order to suppress the value L or less, the maximum value M1 within the parameter range of the magnitude of the first-order derivative (s · c) ′ by the parameter of the parametric trimming curve of the composite map s · c is obtained, and the broken line approximation of the parametric trimming curve is performed. Is to set the number of divisions to M1 / L.

【0023】別の一例は、与えられたパラメトリック曲
面の定義式又は与えられた制御点の集合より定まる定義
式をsとし、与えられたパラメトリックトリミング曲線
の定義式又は与えられた制御点の集合より定まる定義式
をcとするとき、パラメトリックトリミング曲線の折線
近似とパラメトリックトリミング曲線の真値からの誤差
を一定値TOL以下に抑えるために、合成写像s・cの
パラメトリックトリミング曲線のパラメタによる二次微
分(s・c)″の大きさのパラメタ範囲内での最大値M
2を求め、パラメトリックトリミング曲線の折線近似の
為の分割数を√(M2/(8×TOL))とすることで
ある。
In another example, s is defined as a definition equation of a given parametric surface or a set of control points, and a definition equation of a given parametric trimming curve or a set of control points is given. When the defining equation to be defined is c, in order to suppress the error from the polygonal line approximation of the parametric trimming curve and the true value of the parametric trimming curve to a fixed value TOL or less, the second derivative with the parameter of the parametric trimming curve of the composite map s · c. Maximum value M within the parameter range of size (s · c) ″
2 is obtained, and the division number for the polygonal line approximation of the parametric trimming curve is set to √ (M2 / (8 × TOL)).

【0024】更に、パラメトリック曲面が区分的に与え
られている場合において、パラメトリックトリミング曲
線の折線近似の為の分割方法は、各区分毎にパラメトリ
ックトリミング曲線の折線近似方法によって行い、合成
写像s・cのパラメタ範囲は、パラメトリックトリミン
グ曲線cの値域とパラメトリック曲面の各区分との共通
部分が存在するかを判定し、共通部分が存在するときに
限り共通部分が存在する範囲をパラメタ範囲として(s
・c)′又は(s・c)″の大きさの最大値を求める。
Further, in the case where the parametric curved surface is given piecewise, the division method for the polygonal line approximation of the parametric trimming curve is performed by the polygonal line approximation method of the parametric trimming curve for each segment, and the composite map s · c The parameter range of is determined whether there is a common part between the range of the parametric trimming curve c and each section of the parametric curved surface, and the range in which the common part exists is set as the parameter range (s
・ C) ′ or (s · c) ″ is calculated as the maximum value.

【0025】更に、パラメトリック曲面が区分的に与え
られ、且つ、パラメトリックトリミング曲線が制御点の
集合で定義され且つ凸包性を有する場合において、パラ
メトリックトリミング曲線の値域とパラメトリック曲線
の各区分との共通部分が存在するかの判定は、パラメト
リックトリミング曲線を定義する制御点の集合の値域と
パラメトリック曲面の各区分との共通部分が存在するか
の判定によって行う。
Further, in the case where the parametric curved surface is piecewise given, and the parametric trimming curve is defined by a set of control points and has a convex hull property, the range of the parametric trimming curve and each section of the parametric curve are common. Whether or not a part exists is determined by whether or not there is a common part between the range of the set of control points that defines the parametric trimming curve and each section of the parametric curved surface.

【0026】[0026]

【実施例】まず、図6に示すブロック図、および、図7
に示す機能ブロック図を用いて、グラフィックシステム
の一例について簡単に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS First, the block diagram shown in FIG. 6 and FIG.
An example of the graphic system will be briefly described with reference to the functional block diagram shown in FIG.

【0027】一般に、グラフィックシステムは、図7に
示すように制御部701、記憶部702、入力部70
3、画像処理部707、表示部711、外部記憶装置7
13等から構成される。これらの図7に示す各部は、具
体的には、たとえば図6に示すブロック図のように構成
される。すなわち、制御部701は中央処理装置(CP
U)601、記憶部702はメインメモリ(MM)60
2、画像処理部707はグラフィックサブシステム60
7、表示部711はCRT611から構成される。入力
部703はデータ入力を行うためのキーボード(KB)
603、マウス(MOUSE)604、スタイラスペン
(PEN)605、ダイアル(DIAL)612等から
構成され、外部記憶装置713は図形データ等を記憶保
存するファイリング装置(FILE)613等から構成
される。上記制御部701(CPU601)、入力部7
03(キーボード603、マウス604、スタイラスペ
ン605、ダイアル612)、画像処理部707(グラ
フィックサブシステム607)、外部記憶装置713
(ファイリング装置613)は、システムバス706
(606)を介して接続され、データ交換を行う。又、
グラフィックサブシステム607は、グラフィックLS
I608及びフレームメモリ(FM)610等から構成
され、フレームバス609を介して接続され、データ交
換を行う。
Generally, a graphic system has a control unit 701, a storage unit 702, and an input unit 70 as shown in FIG.
3, image processing unit 707, display unit 711, external storage device 7
It is composed of 13 and others. Each of these units shown in FIG. 7 is specifically configured as shown in the block diagram of FIG. 6, for example. That is, the control unit 701 controls the central processing unit (CP
U) 601 and the storage unit 702 are main memory (MM) 60
2. The image processing unit 707 is the graphic subsystem 60.
7, the display unit 711 is composed of a CRT 611. The input unit 703 is a keyboard (KB) for inputting data.
603, a mouse (MOUSE) 604, a stylus pen (PEN) 605, a dial (DIAL) 612, and the like, and an external storage device 713 includes a filing device (FILE) 613, which stores and saves graphic data and the like. The control unit 701 (CPU 601), the input unit 7
03 (keyboard 603, mouse 604, stylus pen 605, dial 612), image processing unit 707 (graphic subsystem 607), external storage device 713
(Filing device 613) has a system bus 706.
Data is exchanged by being connected via (606). or,
The graphic subsystem 607 is a graphic LS.
It is composed of an I 608, a frame memory (FM) 610 and the like, and is connected via a frame bus 609 to exchange data.

【0028】図6に示すグラフィックシステムを用い
て、図形をCRT611に表示する過程について簡単に
説明する。
The process of displaying a graphic on the CRT 611 using the graphic system shown in FIG. 6 will be briefly described.

【0029】先ず、キーボード603、マウス604、
スタイラスペン605、ダイアル612等の各種入力装
置によってデータを入力し、システムバス606を介し
てメインメモリ602に図形データを作成する。また
は、予め作成された図形データをファイリング装置61
3よりシステムバス606を介してメインメモリ602
に転送する。CPU601は、メインメモリ602内の
図形データを、必要ならば、キーボード603、マウス
604、スタイラスペン605、ダイアル612等の各
種入力装置からシステムバス606を介して送られる指
示に従って変更を加える。図形データの変更には、例え
ば、図形の回転、平行移動、視点の変更等の幾何演算や
後述するパラメトリック曲面の多角形による近似のため
の演算、パラメトリックトリミング曲線の折線による近
似のための演算、等を含んでいる。CPU601は、上
記の様にして作成されたメインメモリ602内の図形デ
ータをシステムバス606を介して順次グラフィックサ
ブシステム607へ転送する。グラフィックサブシステ
ム607では、グラフィックLSI608が、送られて
くる図形データをCRT611に表示するために、幾何
的に(即ち、座標データとして)与えられた図形データ
及び図形種類(線分、多角形、等)に従って、ドット
(画素)によるイメージ(画像)を作成する。この処理
は、例えば、線分の座標データからDDA(Digit
al Differential Analizer)
によってドット列を発生する処理や、多角形の座標デー
タから三次元DDAによって多角形内部を塗り潰すドッ
ト列を発生する処理等を含む。作成されたドットイメー
ジは、フレームメモリバス609を介してフレームメモ
リ610に転送され、最後に、グラフィックサブシステ
ム607は、フレームメモリ610のドットイメージを
赤,緑,青を示す信号であるRGB信号等に変換し、C
RT611はそれを表示する。
First, the keyboard 603, the mouse 604,
Data is input by various input devices such as a stylus pen 605 and a dial 612, and graphic data is created in the main memory 602 via the system bus 606. Alternatively, the filing device 61 uses previously created graphic data.
3 through main bus 602 via system bus 606
Transfer to. The CPU 601 modifies the graphic data in the main memory 602 according to instructions sent from various input devices such as a keyboard 603, a mouse 604, a stylus pen 605, and a dial 612 via the system bus 606, if necessary. For changing the figure data, for example, geometrical operations such as rotation of the figure, parallel movement, change of viewpoint, etc., calculations for approximating the parametric curved surface by polygons described later, calculations for approximating the parametric trimming curves by polygonal lines, Etc. are included. The CPU 601 sequentially transfers the graphic data in the main memory 602 created as described above to the graphic subsystem 607 via the system bus 606. In the graphic subsystem 607, the graphic LSI 608 geometrically (ie, as coordinate data) and graphic type (line segment, polygon, etc.) given geometrically (that is, as coordinate data) in order to display the sent graphic data on the CRT 611. ), An image is formed by dots (pixels). This process is performed, for example, from the coordinate data of the line segment to the DDA (Digit
al Differential Analyzer)
To generate a dot row, and to generate a dot row that fills the inside of the polygon with three-dimensional DDA from the polygon coordinate data. The created dot image is transferred to the frame memory 610 via the frame memory bus 609, and finally, the graphic subsystem 607 causes the dot image of the frame memory 610 to be an RGB signal, which is a signal indicating red, green, and blue. Converted to C
RT611 displays it.

【0030】次に、パラメトリック曲面のパラメトリッ
クトリミング曲線によるトリミングについて簡単に説明
する。
The trimming of the parametric curved surface by the parametric trimming curve will be briefly described below.

【0031】図3は、2つの変数UおよびVをパラメー
タとする2次元座標空間(UVパラメタ空間)の或る領
域301から、3つの変数X,Y,Zで定まる3次元座
標空間(XYZ空間)への像としてのパラメトリック曲
面302を表している。即ち、パラメトリック曲面30
2は、2次元空間の或る領域(これを定義域と称する)
から3次元空間への写像sとして定義されるものであ
る。写像sは、通常コンピュータでの扱い易さからu及
びvに関する多項式、又は、一旦4次元XYZW空間へ
の写像として定義しておき、後にこれを同次座標と見て
W座標で除する有理多項式が用いられる(これにより、
平行移動、拡大縮小、回転移動といった基本的な変換を
組み合わせた変換を、これらの基本的変換を表現する行
列式の乗算として表現することが可能となるというメリ
ットがある)。即ち、写像sは
FIG. 3 shows a region 301 of a two-dimensional coordinate space (UV parameter space) having two variables U and V as parameters, and a three-dimensional coordinate space (XYZ space) defined by three variables X, Y and Z. ) Represents a parametric curved surface 302 as an image. That is, the parametric curved surface 30
2 is a certain area of the two-dimensional space (this is called the domain)
Is defined as a mapping s from s to a three-dimensional space. The mapping s is usually defined as a polynomial for u and v for ease of handling by a computer, or a mapping once defined as a mapping into a four-dimensional XYZW space, and then divided as W in terms of homogeneous coordinates. Is used (this allows
Transformations that combine basic transformations such as parallel movement, scaling, and rotation movement have the advantage that they can be expressed as determinant multiplications that express these basic transformations). That is, the map s is

【0032】[0032]

【数1】 [Equation 1]

【0033】又はOr

【0034】[0034]

【数2】 [Equation 2]

【0035】の形をしていると考え、以後の説明を行
う。ここで、写像x,y,z,wは、u及びvに関する
多項式である。
The following description will be given, assuming that it has a shape of. Here, the maps x, y, z, w are polynomials with respect to u and v.

【0036】写像sの定義域は、通常、コンピュータで
の扱い易さから矩形が採られる。然しながら、このこと
は表示を行うグラフィックシステムの性能などの理由に
より、写像x,y,z,wの次数を制限せざるを得ず、
延いてはパラメトリック曲面の形状に制約を与えること
になる。この制約を解消するために、写像sの定義域を
この定義域内に描かれた閉ループを用いて、この閉ルー
プの片側(閉ループの右側または左側)を切り取り、残
った部分のみを定義域とする方法が考案されている。こ
の方法をトリミングと称す。以後、何方でも同様なの
で、閉ループ上で反時計回りの方向を正方向とした場合
に閉ループの右側を切り取る側とし、左側を残す側とす
る。また、この閉ループをトリミングループと称す。
The domain of the mapping s is usually a rectangle for easy handling by a computer. However, this means that the order of the mappings x, y, z, and w must be limited because of the performance of the graphic system for display.
By extension, the shape of the parametric surface is restricted. In order to solve this restriction, a method is used in which the domain of the map s is cut using a closed loop drawn in the domain, and one side of the closed loop (right side or left side of the closed loop) is cut off, and only the remaining portion is defined as the domain. Has been devised. This method is called trimming. After that, since it is the same for all of them, when the counterclockwise direction on the closed loop is the positive direction, the right side of the closed loop is the side to be cut off and the left side is to be the side to be left. Moreover, this closed loop is called a trimming loop.

【0037】図4により、上記のトリミングについて説
明する。トリミングループ401は、定義域301を制
限し、ループ401の左側(内側)を制限された定義域
とする。すると、定義域301からの写像sによる像で
あるパラメトリック曲面302も制限され、パラメトリ
ック曲面302の一部(これをトリム曲面と称す)40
2のみとなる。この方法を用いることで、比較的低次の
多項式又は有理多項式を用いて、比較的自由な形状を作
り出すことが可能となる。
The above trimming will be described with reference to FIG. The trimming loop 401 limits the domain 301 and sets the left side (inner side) of the loop 401 as the limited domain. Then, the parametric curved surface 302, which is an image of the mapping s from the domain 301, is also limited, and a part of the parametric curved surface 302 (this is called a trimmed curved surface) 40
Only 2. By using this method, it is possible to create a relatively free shape by using a relatively low-order polynomial or rational polynomial.

【0038】通常、コンピュータでの扱い易さからトリ
ミングループもパラメトリックに(変数の関数として)
与えられる。トリミングループは、必ずしも一本の閉ル
ープである必要はなく、複数の互いに始点および終点の
みで連結した曲線の集まりとして定められていても良
い。その一本一本をトリミング曲線と称す。図5は、変
数Tの定義域であるTパラメタ空間の或る領域501か
らUVパラメタ空間への像としてのパラメトリックトリ
ミング曲線502を表した図である。即ち、パラメトリ
ックトリミング曲線502とは、1次元空間の或る領域
(定義域)から2次元空間への写像cによる像として定
義されるものである。写像cは、通常コンピュータでの
扱い易さからtに関する多項式、又は、一旦三次元UV
H空間への写像として定義しておき後にこれを同次座標
と見てH座標で除する有理多項式が用いられる(これに
より、平行移動、拡大縮小、回転移動といった基本的な
変換を組み合わせた変換を、これらの基本的変換を表現
する行列式の乗算として表現することが可能となるとい
うメリットがある)。即ち、写像cは
Normally, the trimming loop is also parametric (as a function of variables) because it is easy to handle on a computer.
Given. The trimming loop does not necessarily have to be a single closed loop, and may be defined as a set of curves that are connected to each other only at the start point and the end point. Each one is called a trimming curve. FIG. 5 is a diagram showing a parametric trimming curve 502 as an image from a certain region 501 of the T parameter space, which is the domain of the variable T, to the UV parameter space. That is, the parametric trimming curve 502 is defined as an image by the mapping c from a certain area (domain) of the one-dimensional space to the two-dimensional space. The map c is a polynomial with respect to t, or a three-dimensional UV
A rational polynomial that is defined as a mapping to H space and is then regarded as homogeneous coordinates and divided by H coordinates is used (this allows conversion that combines basic conversions such as parallel movement, scaling, and rotation movement). , Has the advantage that it can be expressed as a determinant multiplication that expresses these basic transformations). That is, the map c is

【0039】[0039]

【数3】 [Equation 3]

【0040】又はOr

【0041】[0041]

【数4】 [Equation 4]

【0042】の形をしていると考える。ここで、写像
u,v,hは、tに関する多項式である。
It is assumed that it has the form of. Here, the maps u, v, h are polynomials with respect to t.

【0043】次に、トリム曲面を描画する場合の処理に
ついての一例を説明する。この説明の為に、NURB
(non−uniform rational B−s
pline)曲面のNURB曲線によるトリミングを例
に採るが、本発明はNURBに特有の発明という訳では
ない。NURB曲面及びNURB曲線は、制御点の集合
及びノット列と呼ばれる非減少列及び次数によって定ま
るパラメトリックな曲面及び曲線である。これらの制御
点、および、ノット列に関しては、“The Grap
hical Precessing of B−Spl
ines ina Highly Dynamic E
nvironment”(SalimS.Abi−Ez
zi,1989)等に詳述されている。
Next, an example of processing for drawing a trimmed curved surface will be described. For this explanation, NURB
(Non-uniform relational B-s
Although the trimming of the curved surface with the NURB curve is taken as an example, the present invention is not an invention peculiar to NURB. A NURB surface and a NURB curve are parametric surfaces and curves defined by a set of control points, a non-decreasing sequence called a knot sequence, and an order. For these control points and knot sequences, refer to "The Grap"
hical Processing of B-Spl
ines ina Highly Dynamic E
nvironment "(Salim S. Abi-Ez
zi, 1989) and the like.

【0044】NURB曲面sは、U方向の次数をp、V
方向の次数をq、制御点の集合をPij(1≦i≦m,1
≦j≦n)、U方向のノット列をu1≦u2≦…≦u
m+p+1とするとき
For the NURB curved surface s, the orders in the U direction are p, V
The order of direction is q, and the set of control points is P ij (1 ≦ i ≦ m, 1
≤j≤n), and the knot sequence in the U direction is u 1 ≤u 2 ≤ ... ≤u
When m + p + 1

【0045】[0045]

【数5】 [Equation 5]

【0046】によって定義される写像族{ηik}、及
び、V方向のノット列をv1≦v2≦…≦vn+q+1とする
とき
When the mapping family {η ik } defined by and the knot sequence in the V direction are v 1 ≤v 2 ≤ ... ≤v n + q + 1

【0047】[0047]

【数6】 [Equation 6]

【0048】によって定義される写像族{θik}を用い
Using the mapping family {θ ik } defined by

【0049】[0049]

【数7】 [Equation 7]

【0050】の様に定義される区分パラメトリック曲面
である。定義域は、[up+1,um+1]×[vq+1
n+1]である。制御点Pijが非同次座標(xij
ij,zij)であるか、又は、同次座標(xij,yij
ij,wij)であるかによって、上記の式は
It is a piecewise parametric surface defined as follows. The domain is [u p + 1 , u m + 1 ] × [v q + 1 ,
v n + 1 ]. If the control point P ij is a non-homogeneous coordinate (x ij ,
y ij , z ij ) or the homogeneous coordinates (x ij , y ij ,
z ij , w ij ) depending on whether

【0051】[0051]

【数8】 [Equation 8]

【0052】又はOr

【0053】[0053]

【数9】 [Equation 9]

【0054】の様に書き換えることが出来る。ui<u
i+1且つvj<vj+1のとき、[ui,ui +1]×[vj,v
j+1]に対して一つの区分が対応する。これを曲面スパ
ンと称す。
It can be rewritten as follows. u i <u
When i + 1 and v j <v j + 1 , [u i , u i +1 ] × [v j , v
One segment corresponds to [ j + 1 ]. This is called a curved surface span.

【0055】同様に、NURB曲線cは、次数をr、制
御点の集合をQk(1≦k≦l)、ノット列をt1≦t2
≦…≦tl+r+1とするとき
Similarly, the NURB curve c has a degree r, a set of control points Q k (1≤k≤l), and a knot sequence t 1 ≤t 2.
When ≦ ... ≦ t l + r + 1

【0056】[0056]

【数10】 [Equation 10]

【0057】によって定義される写像族{ζlk}を用い
Using the mapping family {ζ lk } defined by

【0058】[0058]

【数11】 [Equation 11]

【0059】の様に定義される区分パラメトリック曲線
である。定義域は、[tr+1,tl+1]である。制御点Q
kが非同次座標(uk,vk)であるか、又は、同次座標
(uk,vk,hk)であるかによって、上記の式は
It is a piecewise parametric curve defined as follows. The domain is [t r + 1 , t l + 1 ]. Control point Q
Depending on whether k is a non-homogeneous coordinate (u k , v k ) or a homogeneous coordinate (u k , v k , h k ), the above equation becomes

【0060】[0060]

【数12】 [Equation 12]

【0061】又はOr

【0062】[0062]

【数13】 [Equation 13]

【0063】の様に書き換えることが出来る。tk<t
k+1のとき、[tk,tk+1]に対して一つの区分が対応
する。これを曲線スパンと称す。
It can be rewritten as follows. t k <t
When k + 1 , one section corresponds to [t k , t k + 1 ]. This is called a curve span.

【0064】図1に、本発明の1実施例である、NUR
B曲面のNURB曲線によるトリミングを含むトリム曲
面の表示処理の手順を表すフローチャートを示す。ま
た、図8に、この表示処理を行なうための、処理部の機
能ブロック図を示す(これらの機能ブロックを、図6の
CPU601に備えればよい)。
FIG. 1 shows NUR, which is an embodiment of the present invention.
The flowchart which shows the procedure of the display process of the trimmed surface including the trimming by the NURB curve of B curved surface is shown. Further, FIG. 8 shows a functional block diagram of a processing unit for performing this display processing (these functional blocks may be provided in the CPU 601 of FIG. 6).

【0065】先ず、手順の全体の流れを概説する。通
常、NURB曲面や他のプリミティブ(点、直線、多角
形、または文字列等)は、モデリング座標系(Mode
ling Coordinate System. M
Cと略す)と呼ばれる個々の空間に定義され、その後総
てのプリミティブは同一のワールド座標系(World
Coordinate System. WCと略す)
へと変換される。次に、視点の指定及び視野の指定(通
常、視野の領域を示すために視野ピラミッドというもの
を指定する)により、例えばZ座標の正方向から負方向
へ視線が伸び、視野ピラミッドがXYZ空間の単位立方
体(視野領域)となるような正規化投影座標系(Nor
malized Projection Coordi
nateSystem. NPCと略す)へと変換され
る。次に、表示画面との比を考慮してデバイス座標系
(Device Coordinate Syste
m.DCと略す)へと変換され、属性や変換過程の途中
で計算する輝度等の属性に従って表示される。総ての座
標系はXYZの3次元であるが、制御点が同次座標で与
えられている場合などXYZWの4次元で考えた方が処
理に都合が良い場合がある。一般に、制御点のみで考え
る場合は同次座標で考え、実際の曲面上の座標を考える
場合は非同次座標で考えると都合が良い。以下も特に断
わらない限りこのように考えるものとする。
First, the overall flow of the procedure will be outlined. Typically, NURB surfaces and other primitives (points, lines, polygons, or strings) are modeled in the modeling coordinate system (Mode).
Ling Coordinate System. M
Each primitive is defined in a separate space called C) and thereafter all primitives are in the same world coordinate system (World).
Coordinate System. (Abbreviated as WC)
Is converted to. Next, by designating the viewpoint and the field of view (usually, a field of view pyramid is designated to indicate the field of view), the line of sight extends from the positive direction to the negative direction of the Z coordinate, and the field of view pyramid is defined in the XYZ space. Normalized projected coordinate system (Nor
malized Projection Coordi
nateSystem. (Abbreviated as NPC). Next, in consideration of the ratio with the display screen, a device coordinate system (Device Coordinate System)
m. DC) and is displayed according to the attributes and the attributes such as brightness calculated during the conversion process. Although all coordinate systems are three-dimensional in XYZ, it may be more convenient for processing to consider four-dimensional in XYZW, such as when control points are given in homogeneous coordinates. In general, it is convenient to consider homogeneous coordinates when considering only control points, and inhomogeneous coordinates when considering coordinates on an actual curved surface. The following is also considered in this way unless otherwise specified.

【0066】次に、上記の概説について、図1および図
8を用いて詳細に述べるが、本実施例は一例であり、こ
の通りに実行しなければならないという訳ではない。
Next, the above outline will be described in detail with reference to FIGS. 1 and 8, but this embodiment is merely an example, and it is not necessary to execute the processing exactly as described.

【0067】先ず、変換部801により、制御点をワー
ルド座標系へ変換する(ステップ101)。次に、変換
部802により、制御点をコピーし、そのコピーした制
御点を正規化投影座標系へ変換する(ステップ10
2)。次に、チェック部803により、制御点のコピー
に対し、視野領域に入っているかを判定する(ステップ
103)。次に、ステップ120に進み、総ての制御点
についてステップ101乃至ステップ103の処理が終
了したかを判定する。終了していない場合にはステップ
101に戻り、ステップ101乃至ステップ103を繰
り返す。終了している場合にはステップ121に進み、
総ての制御点が視野領域に入っているか否かを判定す
る。総ての制御点が入っていない場合には、表示処理を
終了する。視野領域に入っている制御点が有る場合に
は、ステップ104に進む。
First, the control unit 801 converts the control points into the world coordinate system (step 101). Next, the conversion unit 802 copies the control points and converts the copied control points into a normalized projection coordinate system (step 10).
2). Next, the checking unit 803 determines whether the control point copy is within the visual field area (step 103). Next, the process proceeds to step 120, and it is determined whether the processes of steps 101 to 103 have been completed for all control points. If not completed, the process returns to step 101, and steps 101 to 103 are repeated. If it is finished, go to step 121,
It is determined whether all the control points are within the visual field area. When all the control points are not included, the display processing is ended. If there is a control point within the visual field, the process proceeds to step 104.

【0068】ステップ104においては、次に、展開部
804により、曲面スパンにおいてNURB曲面をベジ
ェ曲面に展開する。NURB曲面(又は曲線)をベジェ
曲面(又は曲線)に展開するには、Cox−deBoo
rアルゴリズムと呼ばれる方法が知られている。ベジェ
曲面に展開するのは、以後の処理を簡単にする為であ
り、必ずしも必要な処理ではない。
In step 104, the expanding unit 804 then expands the NURB curved surface into a Bezier curved surface in the curved surface span. To develop a NURB surface (or curve) into a Bezier surface (or curve), use Cox-deBoo
A method called the r algorithm is known. The expansion to the Bezier curved surface is for simplifying the subsequent processing, and is not always necessary processing.

【0069】ベジェ曲面は、U方向の次数をp、V方向
の次数をq、制御点の集合をPij(1≦i≦p+1,1
≦j≦q+1)とするとき
For a Bezier surface, the degree in the U direction is p, the degree in the V direction is q, and the set of control points is P ij ( 1≤i≤p + 1,1
≦ j ≦ q + 1)

【0070】[0070]

【数14】 [Equation 14]

【0071】によって定義される写像族{Bik}を用い
Using the mapping family {B ik } defined by

【0072】[0072]

【数15】 [Equation 15]

【0073】の様に定義されるパラメトリック曲面であ
る。定義域は、通常[0,1]×[0,1]であるが、
パラメータを適当に変換することにより任意の矩形とし
て良い。制御点Pijが非同次座標(xij,yij,zij
であるか、又は、同次座標(xij,yij,zij,wij
であるかによって、上記の式は
It is a parametric curved surface defined as follows. The domain is usually [0,1] × [0,1],
An arbitrary rectangle may be formed by appropriately converting the parameters. The control point P ij is a non-homogeneous coordinate (x ij , y ij , z ij ).
Or the homogeneous coordinates (x ij , y ij , z ij , w ij ).
Depending on

【0074】[0074]

【数16】 [Equation 16]

【0075】又はOr

【0076】[0076]

【数17】 [Equation 17]

【0077】の様に書き換えることが出来る。It can be rewritten as follows.

【0078】同様に、ベジェ曲線cは、次数をr、制御
点の集合をQk(1≦k≦l)とするとき、上記の写像
族{Bik}を用いて
Similarly, for the Bezier curve c, when the degree is r and the set of control points is Q k (1 ≦ k ≦ l), the above mapping family {B ik } is used.

【0079】[0079]

【数18】 [Equation 18]

【0080】の様に定義されるパラメトリック曲線であ
る。定義域は、通常[0,1]であるが、パラメータを
適当に変換することにより任意の閉区間として良い。制
御点Qkが非同次座標(uk,vk)であるか、又は、同
次座標(uk,vk,hk)であるかによって、上記の式
It is a parametric curve defined as follows. The domain is usually [0, 1], but it may be an arbitrary closed section by appropriately converting the parameters. Depending on whether the control point Q k has inhomogeneous coordinates (u k , v k ) or homogeneous coordinates (u k , v k , h k ), the above equation is

【0081】[0081]

【数19】 [Formula 19]

【0082】又はOr

【0083】[0083]

【数20】 [Equation 20]

【0084】の様に書き換えることが出来る。It can be rewritten as follows.

【0085】次に、変換部805により、ベジェ制御点
をコピーし、そのコピーした制御点を正規化投影座標系
へ変換する(ステップ105)。この後、チェック部8
06により、制御点のコピーに対し、視野領域に入って
いるかを判定する(ステップ106)。次に、ステップ
130に進み、総ての制御点についてステップ104乃
至ステップ106の処理が終了したかを判定する。終了
していない場合にはステップ104に戻り、ステップ1
04乃至ステップ106を繰り返す。終了している場合
にはステップ131に進み、総ての制御点が視野領域に
入っているか否かを判定する。総ての制御点が入ってい
ない場合には、ステップ132に進む。
Next, the conversion unit 805 copies the Bezier control points and converts the copied control points into a normalized projection coordinate system (step 105). After this, check section 8
According to 06, it is determined whether or not the copy of the control point is within the visual field area (step 106). Next, the process proceeds to step 130, and it is determined whether the processes of steps 104 to 106 have been completed for all control points. If not completed, return to step 104, step 1
04 to step 106 are repeated. If it has ended, the routine proceeds to step 131, where it is judged whether all the control points are within the visual field area. If all control points have not been entered, the process proceeds to step 132.

【0086】制御点が一点でも視野領域内に入っている
場合には、計算部807により、この曲面スパンの分割
数を計算する(ステップ107)。分割数を計算するに
は、例えば、前出の“Surface algorit
hms using bounds on deriv
atives”や“Real−time render
ing of trimmed surfaces”等
に記載されている方法で計算すれば良い。ステップ13
2においては、総ての曲面スパンに対してステップ10
4乃至ステップ107の処理が行なわれたか否かを調べ
る。処理が行なわれていない曲面スパンがある場合に
は、ステップ104へ戻る。総ての曲面スパンに対して
処理が行なわれている場合には、ステップ108へ進
む。
If even one control point is within the field of view, the calculation unit 807 calculates the number of divisions of this curved surface span (step 107). To calculate the number of divisions, for example, "Surface algorithm" described above is used.
hms using bounds on deriv
atives ”and“ Real-time render ”
The calculation may be performed by the method described in "ing of trimmed surfaces", etc. Step 13
In 2, step 10 for all surface spans
It is checked whether or not the processes of steps 4 to 107 have been performed. If there is a curved surface span that has not been processed, the process returns to step 104. If all the curved surface spans have been processed, the process proceeds to step 108.

【0087】ステップ108においては、トリミング曲
線の分割数を計算し、近似部808により、折線により
近似する。ステップ108における処理の詳細は、後述
する。次に、ステップ133において、ステップ108
の処理が総てのトリミング曲線に対して行なわれたか否
かを判定する。処理が行なわれていないトリミング曲線
が有る場合には、ステップ108の処理を繰り返す。
In step 108, the number of divisions of the trimming curve is calculated, and the approximating unit 808 approximates it by a broken line. Details of the process in step 108 will be described later. Next, in step 133, step 108
It is determined whether or not the processing of (3) has been performed on all trimming curves. If there is a trimming curve that has not been processed, the process of step 108 is repeated.

【0088】次に、写像sの定義域[up+1,um+1]×
[vq+1,vn+1]を、各曲面スパンの分割数及びトリミ
ング曲線の屈曲点に従って分割する(ステップ10
9)。分割された小片のそれぞれをセルと称す。セル
は、矩形又は矩形を更に対角線で分割した三角形であ
る。尚、トリミング曲線の屈曲点とは、U座標の傾きが
正から負へ変化し且つV座標の傾きが負のとき、又は、
U座標の傾きが負から正へ変化し且つV座標の傾きが正
のときのV座標、及び、V座標の傾きが正から負へ変化
し且つU座標の傾きが正のとき、又は、V座標の傾きが
負から正へ変化し且つU座標の傾きが負のときのU座標
のことである。屈曲点での分割を行うのは、トリミング
された後のセルの各辺が単調になるようにするためであ
る。
Next, the domain [u p + 1 , u m + 1 ] × of the mapping s
[V q + 1 , v n + 1 ] is divided according to the number of divisions of each curved surface span and the bending point of the trimming curve (step 10).
9). Each of the divided small pieces is called a cell. A cell is a rectangle or a triangle obtained by further dividing the rectangle by a diagonal line. The inflection point of the trimming curve means when the slope of the U coordinate changes from positive to negative and the slope of the V coordinate is negative, or
When the inclination of the U coordinate changes from negative to positive and the inclination of the V coordinate is positive, and when the inclination of the V coordinate changes from positive to negative and the inclination of the U coordinate is positive, or V It is the U coordinate when the inclination of the coordinate changes from negative to positive and the inclination of the U coordinate is negative. The division at the bending point is performed so that each side of the cell after trimming is monotonous.

【0089】次に、トリミング部809により、各トリ
ミング曲線と各セルとの交点計算を行いながら、各セル
をトリミングする(ステップ110)。トリミングされ
たセルは、上記に説明したように多角形となる。以後の
処理は、この多角形に対して行う。又は、適当な細分を
行って三角形に分割して行っても良い。
Next, the trimming unit 809 trims each cell while calculating the intersection of each trimming curve and each cell (step 110). The trimmed cell becomes a polygon as described above. Subsequent processing is performed on this polygon. Alternatively, it may be divided into triangles by performing appropriate subdivision.

【0090】次に、クリッピング部810により、トリ
ミングされたセルのXYZ空間(正規化投影座標系)へ
の像をクリッピングする(ステップ111)。最後に、
変換部811により、セルをデバイス座標系へ変換し
(ステップ112)、属性及び上記で述べてはいないが
変換過程の途中で計算される輝度等の属性に従って表示
する(ステップ113)。ステップ134において、総
てのセルに対してステップ111乃ステップ113の処
理が行なわれたか否かを判定し、処理が行なわれていな
いセルが有る場合には、ステップ111へ戻る。総ての
セルに対して処理が行なわれている場合には、表示処理
を終了する。
Next, the clipping unit 810 clips the image of the trimmed cell in the XYZ space (normalized projection coordinate system) (step 111). Finally,
The conversion unit 811 converts the cell into the device coordinate system (step 112), and displays the cell according to the attribute and the attribute such as brightness calculated during the conversion process (not described above) (step 113). In step 134, it is determined whether or not the processing of step 111 to step 113 has been performed for all cells, and if there is a cell for which processing has not been performed, the process returns to step 111. If the processing has been performed on all the cells, the display processing ends.

【0091】図2に、ステップ108の処理を詳しく説
明するためのフローチャートを示す。また、図9に、こ
の処理を実行するための処理部の、機能ブロック図を示
す(この機能ブロックは、図8の近似部808内に備え
られる)。以下、図2および図9により、ステップ10
8の処理を説明する。
FIG. 2 shows a flowchart for explaining the process of step 108 in detail. Further, FIG. 9 shows a functional block diagram of a processing unit for executing this processing (this functional block is provided in the approximation unit 808 of FIG. 8). Hereinafter, referring to FIG. 2 and FIG. 9, step 10
The process of No. 8 will be described.

【0092】先ず、展開部901により、曲線スパンに
おいてNURB曲線をベジェ曲線に展開する(ステップ
201)。矢張、ベジェ曲線に展開するのは、以後の処
理を簡単にする為であり、必ずしも必要な処理ではな
い。次に、判定部902により、ベジェ曲線が曲面スパ
ンと交叉するか否かを判定する(ステップ202)。交
叉しなければ、以後の処理は行わない。交叉する場合に
は、以下の各ステップの処理を行う。
First, the expansion unit 901 expands a NURB curve into a Bezier curve in the curve span (step 201). The expansion to the Yahari and Bezier curves is for simplifying the subsequent processing, and is not always necessary. Next, the determination unit 902 determines whether the Bezier curve intersects the curved surface span (step 202). If they do not intersect, the subsequent processing is not performed. When crossing, the processing of the following steps is performed.

【0093】ここで、交叉の判定について、説明する。Here, the determination of crossover will be described.

【0094】一般的には(曲線および曲面がベジェでな
い場合には)、交叉の判定を行うには、合成写像s・c
のパラメタ範囲は、パラメトリックトリミング曲線cの
値域とパラメトリック曲面の各区分との共通部分が存在
するかを判定する。そして、共通部分が存在するときに
限り共通部分が存在する範囲をパラメタ範囲として(s
・c)′又は(s・c)″の最大値を求める。
Generally (when the curve and the curved surface are not Bezier), the composite map s · c is used to determine the intersection.
In the parameter range of, it is determined whether or not there is a common part between the range of the parametric trimming curve c and each section of the parametric curved surface. Then, the range in which the common part exists is defined as the parameter range (s
・ C) ′ or (s · c) ″ is found.

【0095】本実施例のように、曲線および曲面がベジ
ェである場合には、ベジェ曲線の制御点に対し、総ての
制御点が曲面スパンに入っていなければ交叉をしないも
のとして判定する。一つでも入っている場合には、交叉
するものとして以下の処理を行うが、交叉しない場合も
あり得る。然し、交叉しない場合でも以後の処理で上手
く処理されるので、ここでは問題としない。
When the curve and the curved surface are Bezier as in this embodiment, it is determined that the control points of the Bezier curve do not intersect unless all the control points are within the curved surface span. If there is even one, the following processing is performed as a cross, but it may not cross. However, even if they do not cross over, they will be processed well in the subsequent processing, so there is no problem here.

【0096】次に、合成部903により、曲面スパンに
おけるベジェ曲面にベジェ曲線を代入し合成写像を作成
する(ステップ203)。この合成写像の定義域は、曲
線スパンを[tk,tk+1]、ベジェ曲線をc、曲面スパ
ンを[ui,ui+1]×[vj,vj+1]とするとき、[t
k,tk+1]∩{t∈[tk,tk+1]|c(t)∈
[ui,ui+1]×[vj,vj+1]}である。この定義域
をTと置く。定義域Tを求めるには、ベジェ曲線cと曲
面スパン[ui,ui+1]×[vj,vj+1]の境界での交
点計算によって求めることが出来る。
Next, the synthesizing unit 903 substitutes the Bezier curve for the Bezier curved surface in the curved surface span to create a synthetic mapping (step 203). The domain of this composite mapping is such that the curve span is [t k , t k + 1 ], the Bezier curve is c, and the surface span is [u i , u i + 1 ] × [v j , v j + 1 ]. When [t
k , t k + 1 ] ∩ {tε [t k , t k + 1 ] | c (t) ε
[U i , u i + 1 ] × [v j , v j + 1 ]}. Let this domain be T. The domain T can be obtained by calculating an intersection at the boundary between the Bezier curve c and the surface span [u i , u i + 1 ] × [v j , v j + 1 ].

【0097】次に、計算部904により、定義域Tにお
けるベジェ曲線cの分割数を計算する(ステップ20
4)。
Next, the calculation unit 904 calculates the number of divisions of the Bezier curve c in the domain T (step 20).
4).

【0098】ここで、分割数の計算方法について、説明
する。その為に、曲線スパンを[tk,tk+1]、ベジェ
曲線の次数をr、制御点の集合をQk(1≦k≦l)、
ベジェ曲線をc、曲面スパンを[ui,ui+1]×
[vj,vj+1]、ベジェ曲面のU方向の次数をp、V方
向の次数をq、制御点の集合をPij(1≦i≦p+1,
1≦j≦q+1)ベジェ曲面をs、合成写像s・cの定
義域をTとする。
Here, a method of calculating the number of divisions will be described. Therefore, the curves span [t k, t k + 1 ], the order of the Bezier curve r, the set of control points Q k (1 ≦ k ≦ l ),
The Bezier curve is c and the surface span is [u i , u i + 1 ] ×
[V j , v j + 1 ], p is the degree in the U direction of the Bezier surface, q is the degree in the V direction, and P ij is the set of control points (1 ≦ i ≦ p + 1,
1 ≦ j ≦ q + 1) Let s be a Bezier curved surface and T be the domain of the composite map s · c.

【0099】第一の分割数の計算方法においては、ベジ
ェ曲線cの折線近似の各線分の長さを一定値L以下に抑
えるために、合成写像s・cの一次微分(s・c)′の
大きさのTでの最大値M1を求め、ベジェ曲線cの折線
近似の為の分割数をM1/Lとする。このように分割数
を決めると折線近似の各線分の長さを一定値L以下に抑
えることができることの理論的な根拠は、“The g
raphical processing of B−
spline in a highly dynami
c environment, S.S. Abi−E
zzi著,Rensselar polytechni
c institute,1989年発行”のp.15
4を中心に記載されている。最大値M1は、ベジェ曲面
s及びベジェ曲線cが共に多項式である場合、
In the first calculation method of the number of divisions, in order to keep the length of each line segment of the polygonal line approximation of the Bezier curve c to be equal to or less than the constant value L, the first derivative (s · c) ′ of the composite map s · c. The maximum value M1 at T of the size of is calculated, and the number of divisions for the polygonal line approximation of the Bezier curve c is set to M1 / L. The theoretical basis for the fact that the length of each line segment in the polygonal line approximation can be suppressed to a fixed value L or less by determining the number of divisions in this way is "The g
radial processing of B-
spline in a highly dynami
c environment, S.C. S. Abi-E
by Zzi, Rensellar polytechni
c institute, published in 1989, p. 15
4 is mainly described. If the Bezier curved surface s and the Bezier curve c are both polynomials, the maximum value M1 is

【0100】[0100]

【数21】 [Equation 21]

【0101】であることを用いてWith being

【0102】[0102]

【数22】 [Equation 22]

【0103】のように決定しても良い。このとき、合成
写像s・cの定義域Tは最早関係がなくなる。従って、
このようにして最大値M1を評価する(決定する)場合
には、ベジェ曲線cと曲面スパン[ui,ui+1]×[v
j,vj+1]の境界での交点計算は必要なくなる。尚、ベ
ジェ曲面s又はベジェ曲線cが有理多項式である場合
も、分子と分母に分け、分子は上記の方法で分母は最大
値の代わりに最小値を計算することで同様に計算出来
る。
It may be determined as follows. At this time, the domain T of the composite map s · c is no longer relevant. Therefore,
When the maximum value M1 is evaluated (determined) in this way, the Bezier curve c and the surface span [u i , u i + 1 ] × [v
It is not necessary to calculate the intersection at the boundary of j , v j + 1 ]. Even when the Bezier curved surface s or the Bezier curve c is a rational polynomial, it can be similarly calculated by dividing the numerator and the denominator and calculating the minimum value instead of the maximum value for the denominator by the above method.

【0104】第二の分割数の計算方法においては、ベジ
ェ曲線の折線近似とベジェ曲線cの真値からの誤差を一
定値(これをTOLとする)以下に抑えるために、合成
写像s・cの二次微分(s・c)″の大きさのTでの最
大値M2を求め、ベジェ曲線cの折線近似の為の分割数
を√(M2/(8×TOL))とする。このように分割
数を決めると折線近似の各線分の長さを一定値TOL以
下に抑えることができることの理論的な根拠は、“Th
e graphical processing of
B−spline in a highly dyn
amic environment”のp.157を中
心に記載されている。最大値M2は、ベジェ曲面s及び
ベジェ曲線cが共に多項式である場合、
In the second calculation method of the number of divisions, in order to suppress the error from the polygonal line approximation of the Bezier curve and the true value of the Bezier curve c to a fixed value (this is referred to as TOL) or less, the composite map s · c The maximum value M2 of the magnitude of the second derivative (s · c) ″ of T at T is obtained, and the number of divisions for the polygonal line approximation of the Bezier curve c is defined as √ (M2 / (8 × TOL)). The theoretical basis that the length of each line segment of the polygonal line approximation can be suppressed to a fixed value TOL or less by determining the number of divisions is
e graphical processing of
B-spline in a highly dyn
The description is centered on page 157 of "amic environment". The maximum value M2 is the case where both Bezier curved surface s and Bezier curve c are polynomials.

【0105】[0105]

【数23】 [Equation 23]

【0106】であることを用いてBy using

【0107】[0107]

【数24】 [Equation 24]

【0108】のように決定しても良い。このとき、合成
写像s・cの定義域Tは最早関係がなくなる。従って、
このようにして最大値M2を評価する(決定する)場合
には、ベジェ曲線cと曲面スパン[ui,ui+1]×[v
j,vj+1]の境界での交点計算は必要なくなる。尚、ベ
ジェ曲面s又はベジェ曲線cが有理多項式である場合
も、分子と分母に分け、分子は上記の方法で計算し、分
母は最大値の代わりに最小値を計算することで同様に計
算出来る。
It may be determined as follows. At this time, the domain T of the composite map s · c is no longer relevant. Therefore,
When the maximum value M2 is evaluated (determined) in this way, the Bezier curve c and the surface span [u i , u i + 1 ] × [v
It is not necessary to calculate the intersection at the boundary of j , v j + 1 ]. Even when the Bezier surface s or the Bezier curve c is a rational polynomial, it can be similarly calculated by dividing the numerator and the denominator, calculating the numerator by the above method, and calculating the minimum value instead of the maximum value. .

【0109】最後に、処理部905により、曲面スパン
におけるベジェ曲線をステップ204で求めた分割数に
より折線で近似する(ステップ205)。ステップ21
0において、ステップ202乃至ステップ205の処理
が総ての曲面スパンに対して行なわれたか否かを判定
し、行なわれていない場合にはステップ202へ戻る。
総ての曲面スパンに対して行なわれた場合には、ステッ
プ211において、総ての曲線スパンに対して処理が行
なわれたか否かを判定し、行なわれていない場合にはス
テップ201へ戻る。総ての曲線スパンに対して行なわ
れた場合には、表示処理を終了する。
Finally, the processing unit 905 approximates the Bezier curve in the curved surface span with a broken line by the number of divisions obtained in step 204 (step 205). Step 21
At 0, it is determined whether or not the processes of steps 202 to 205 have been performed for all the curved surface spans. If not, the process returns to step 202.
If all the curved spans have been processed, it is determined in step 211 whether or not all the curved spans have been processed. If not, the process returns to step 201. When the processing is performed for all the curve spans, the display processing ends.

【0110】上記において、各ベジェ曲線のXYZ空間
への像を考えている訳であるが、XYZ空間は、ワール
ド座標系でも正規化投影座標系でもデバイス座標系でも
何方でも良い。然し、好ましくは、最終的に表示される
デバイス座標系で考えた方が良い。
In the above, the image of each Bezier curve in the XYZ space is considered, but the XYZ space may be any one of the world coordinate system, the normalized projection coordinate system, and the device coordinate system. However, it is preferable to consider the device coordinate system that is finally displayed.

【0111】又、正規化投影座標系又はデバイス座標系
で考えたとき、Z座標は余り意味を持たない。従って、
(s・c)′又は(s・c)″の大きさを考えるときに
Z座標は無視して考えても良い。
Further, when considered in the normalized projection coordinate system or the device coordinate system, the Z coordinate has little meaning. Therefore,
When considering the size of (s · c) ′ or (s · c) ″, the Z coordinate may be ignored.

【0112】以上で述べた方法によって、曲面及びトリ
ミング曲線の分割数を決定し、トリミングを行った結
果、トリム曲面はセルに分割される。分割されたセル
は、変数変換を受け、図6に示したグラフィックサブシ
ステム607に送られる。グラフィックサブシステム6
07では、グラフィックLSI608が、ドットイメー
ジデータを作成する。このとき、トリミング曲線の真値
とグラフィックLSI608に入力される折線とは、上
記の方法によってある一定値の誤差TOLで抑えられて
いる。又、グラフィックLSI608に送られる座標デ
ータは、一般に浮動小数であるが、作成されるドットデ
ータは、四捨五入(又は切捨て)等によって整数に丸め
られる。丸めによる誤差は、最大1/√2である。従っ
て、トリミング曲線の真値と表示されるドットイメージ
との最大誤差はTOL+1/√2となる。
By the method described above, the number of divisions of the curved surface and the trimming curve is determined, and as a result of trimming, the trimmed curved surface is divided into cells. The divided cells undergo variable conversion and are sent to the graphic subsystem 607 shown in FIG. Graphic subsystem 6
In 07, the graphic LSI 608 creates dot image data. At this time, the true value of the trimming curve and the polygonal line input to the graphic LSI 608 are suppressed by a certain value of error TOL by the above method. The coordinate data sent to the graphic LSI 608 is generally a floating point number, but the created dot data is rounded to a whole number (or rounded down). The maximum error due to rounding is 1 / √2. Therefore, the maximum error between the true value of the trimming curve and the displayed dot image is TOL + 1 / √2.

【0113】一方、グラフィックLSI608におい
て、ドットの存在する割合を考慮し、輝度を廻りのドッ
トに分散して表示するアンチエイリアスの技術がある。
通常、アンチエイリアスは、隣接1ドットの廻りに対し
分散を行うので、本発明において、TOL+1/√2<
1となる様にTOLを選び、アンチエイリアスの手法を
用いることで、表示上誤差のない結果が得られる。
On the other hand, in the graphic LSI 608, there is an anti-aliasing technique in which the brightness is dispersed and displayed in the surrounding dots in consideration of the existence ratio of the dots.
In general, anti-aliasing disperses around one adjacent dot, so in the present invention, TOL + 1 / √2 <
By selecting TOL so as to be 1 and using the antialiasing method, a result with no display error can be obtained.

【0114】又、本発明を、トリミングされた二つの曲
面をエッジであわせたような図形を表示することに用い
る場合、共にTOLの誤差で評価したとすると、二つの
エッジをそれぞれドットイメージにしたとき、それらの
間の最大誤差は2(TOL+1/√2)である。このと
き、アンチエイリアスを、例えば、隣接する2(>2
(TOL+1/√2))ドットの廻りに対し分散を行う
ようにすることで、表示上隙間のない結果が得られるよ
うになる。
Further, when the present invention is used to display a figure in which two trimmed curved surfaces are combined by edges, if both are evaluated by the error of TOL, the two edges are made into dot images respectively. Then the maximum error between them is 2 (TOL + 1 / √2). At this time, the antialiasing is performed by, for example, adjoining two (> 2)
(TOL + 1 / √2)) By performing the dispersion around the dots, it is possible to obtain a result with no display gap.

【0115】[0115]

【発明の効果】上記のように、本発明によれば、ユーザ
により誤差の許容値を指定されると、トリミングによっ
て生じるパラメトリック曲面のエッジの誤差を、前記指
定された値以下に抑えることを可能とするための、パラ
メトリックトリミング曲線の折線近似方法を備えたグラ
フィックシステムを提供することができる。
As described above, according to the present invention, when an allowable error value is specified by the user, the edge error of the parametric curved surface caused by trimming can be suppressed to the specified value or less. Therefore, it is possible to provide a graphic system provided with a method for approximating a parametric trimming curve using a polygonal line.

【図面の簡単な説明】[Brief description of drawings]

【図1】トリム曲面の表示手順の一例を表すフローチャ
ートの図である。
FIG. 1 is a flowchart illustrating an example of a trim curved surface display procedure.

【図2】トリミング曲線の折線近似の手順を表すフロー
チャートの図である。
FIG. 2 is a flowchart showing a procedure of polygonal line approximation of a trimming curve.

【図3】パラメトリック曲面を説明するための図であ
る。
FIG. 3 is a diagram for explaining a parametric curved surface.

【図4】トリミングを説明するための図である。FIG. 4 is a diagram for explaining trimming.

【図5】パラメトリックトリミング曲線を説明するため
の図である。
FIG. 5 is a diagram for explaining a parametric trimming curve.

【図6】グラフィックシステムの一例を表すブロック図
である。
FIG. 6 is a block diagram showing an example of a graphic system.

【図7】グラフィックシステムの一例を表す機能ブロッ
ク図である。
FIG. 7 is a functional block diagram showing an example of a graphic system.

【図8】トリム曲面の表示処理を行なう処理部の機能ブ
ロック図である。
FIG. 8 is a functional block diagram of a processing unit that performs trim curved surface display processing.

【図9】トリミング曲線の折線近似処理を行なう処理部
の機能ブロック図である。
FIG. 9 is a functional block diagram of a processing unit that performs a polygonal line approximation process of a trimming curve.

【符号の説明】[Explanation of symbols]

601…中央処理装置(CPU)、602…メインメモ
リ(MM)、603…キーボード(KB)、604…マ
ウス(MOUSE)、605…スタイラスペン(PE
N)、606…システムバス、607…グラフィックサ
ブシステム、608…グラフィックLSI、609…フ
レームバス、610…フレームメモリ(FM)、611
…CRT、612…ダイアル(DIAL)、613…フ
ァイリング装置(FILE)。
601 ... Central processing unit (CPU), 602 ... Main memory (MM), 603 ... Keyboard (KB), 604 ... Mouse (MOUSE), 605 ... Stylus pen (PE)
N), 606 ... System bus, 607 ... Graphic subsystem, 608 ... Graphic LSI, 609 ... Frame bus, 610 ... Frame memory (FM), 611
... CRT, 612 ... Dial, 613 ... Filing device (FILE).

───────────────────────────────────────────────────── フロントページの続き (72)発明者 桑名 利幸 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内 ─────────────────────────────────────────────────── ─── Continuation of front page (72) Inventor Toshiyuki Kuwana 5-2-1 Omika-cho, Hitachi-shi, Ibaraki Hitachi Ltd. Omika factory

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】少なくとも、入力装置、記憶装置、演算装
置、および、表示装置を備え、パラメトリック曲面の定
義式または制御点の集合、および、前記曲面をトリミン
グするためのパラメトリックなトリミング曲線の定義式
または制御点の集合を記憶装置に保持し、前記演算装置
において前記パラメトリック曲面を開多面体または閉多
面体により近似し、前記演算装置において前記パラメト
リックなトリミング曲線を折線により近似して、前記パ
ラメトリック曲面およびパラメトリックなトリミング曲
線を前記表示装置に表示する際に、 前記トリミング曲線の折線による近似の精度について、
外部から指定される任意の値の許容誤差値を前記入力装
置により受付けて、記憶装置に保持し、 前記指定された許容誤差値に基づいて、前記トリミング
曲線を折線により近似する際の折線の数を決定するため
の式を前記記憶装置に予め備え、前記演算装置により前
記折線の数を決定することを特徴とする、折線近似によ
りパラメトリックトリミング曲線を表示する方法。
1. A parametric curved surface defining equation or a set of control points, and a parametric trimming curve defining equation for trimming the curved surface, which comprises at least an input device, a storage device, a computing device, and a display device. Alternatively, a set of control points is stored in a storage device, the parametric curved surface is approximated by an open polyhedron or a closed polyhedron in the arithmetic device, and the parametric trimming curve is approximated by a polygonal line in the arithmetic device to generate the parametric curved surface and the parametric surface. When displaying a trimming curve on the display device, the accuracy of approximation by the broken line of the trimming curve,
The input device receives an allowable error value of an arbitrary value specified from the outside, holds it in a storage device, and based on the specified allowable error value, the number of polygonal lines when approximating the trimming curve by a polygonal line. A method for displaying a parametric trimming curve by polygonal line approximation, characterized in that the storage device is provided in advance with an equation for determining, and the arithmetic unit determines the number of polygonal lines.
【請求項2】請求項1記載の折線近似によりパラメトリ
ックトリミング曲線を表示する方法は、 前記トリミング曲線が、1つの変数tをパラメタとしc
(t)=(u(t),v(t))である写像cで与えら
れ、 前記パラメトリック曲面が、2つの変数uおよびvをパ
ラメタとしs(u,v)=(x(u,v),y(u,
v),z(u,v))である写像sにより与えられ、 前記許容誤差値がLで指定されるとき、 前記トリミング曲線を折線により近似する際の折線の数
を決定するための式は、 合成写像s・cのtによる一次微分(s・c)′の大き
さの、前記トリミング曲線のパラメタtの範囲内での最
大値M1を前記演算装置により求め、前記折線の数をM
1/Lと決定するための式であることを特徴とする、折
線近似によりパラメトリックトリミング曲線を表示する
方法。
2. A method for displaying a parametric trimming curve by polygonal line approximation according to claim 1, wherein the trimming curve uses one variable t as a parameter c
Given a mapping c that is (t) = (u (t), v (t)), the parametric surface takes two variables u and v as parameters s (u, v) = (x (u, v ), Y (u,
v), z (u, v)), and when the tolerance value is specified by L, the formula for determining the number of polygonal lines when approximating the trimming curve by polygonal lines is , The maximum value M1 of the magnitude of the first-order derivative (s · c) ′ of the composite map s · c with respect to t within the range of the parameter t of the trimming curve is obtained by the arithmetic unit, and the number of the broken lines is M
A method for displaying a parametric trimming curve by polygonal line approximation, which is an equation for determining 1 / L.
【請求項3】請求項1記載の折線近似によりパラメトリ
ックトリミング曲線を表示する方法は、 前記トリミング曲線が、1つの変数tをパラメタとしc
(t)=(u(t),v(t))である写像cで与えら
れ、 前記パラメトリック曲面が、2つの変数uおよびvをパ
ラメタとしs(u,v)=(x(u,v),y(u,
v),z(u,v))である写像sにより与えられ、 前記許容誤差値がTOLで指定されるとき、 前記トリミング曲線を折線により近似する際の折線の数
を決定するための式は、 合成写像s・cのtによる二次微分(s・c)″の大き
さの、前記トリミング曲線のパラメタtの範囲内での最
大値M2を前記演算装置により求め、前記折線の数を√
(M2/(8×TOL))と決定するための式であるこ
とを特徴とする、折線近似によりパラメトリックトリミ
ング曲線を表示する方法。
3. A method of displaying a parametric trimming curve by polygonal line approximation according to claim 1, wherein the trimming curve has one variable t as a parameter c
Given a mapping c that is (t) = (u (t), v (t)), the parametric surface takes two variables u and v as parameters s (u, v) = (x (u, v ), Y (u,
v), z (u, v)), and when the tolerance value is specified by TOL, the formula for determining the number of polygonal lines when approximating the trimming curve by polygonal lines is , The maximum value M2 of the size of the second derivative (s · c) ″ of the composite map s · c with respect to t within the range of the parameter t of the trimming curve is calculated by the arithmetic unit, and the number of the polygonal lines is √.
A method for displaying a parametric trimming curve by polygonal line approximation, which is an equation for determining (M2 / (8 × TOL)).
【請求項4】請求項2または3において、 前記パラメトリック曲面が、複数の曲面(各曲面を区分
と称する)の和集合として与えられている場合には、 前記パラメトリックトリミング曲線cの写像sによる値
域と、前記パラメトリック曲面の各区分との共通部分が
存在するか否かを前記演算装置により判定し、共通部分
が存在するときに限り、共通部分が存在する範囲を合成
写像s・cのパラメタ範囲として、(s・c)′又は
(s・c)″の大きさの最大値を求めることを特徴とす
る、折線近似によりパラメトリックトリミング曲線を表
示する方法。
4. The range according to the mapping s of the parametric trimming curve c when the parametric curved surface is given as a union of a plurality of curved surfaces (each curved surface is referred to as a section) according to claim 2 or 3. And whether there is a common part with each section of the parametric curved surface is determined by the arithmetic unit, and only when the common part exists, the range in which the common part exists is the parameter range of the composite map s / c. As a method of displaying a parametric trimming curve by polygonal line approximation, the maximum value of the size of (s · c) ′ or (s · c) ″ is obtained.
【請求項5】請求項4において、 前記パラメトリック曲面が、複数の曲面(各曲面を区分
と称する)の和集合として与えられ、且つ、前記パラメ
トリックトリミング曲線が制御点の集合で定義され且つ
凸包性を有する場合には、 前記パラメトリックトリミング曲線を定義する制御点の
集合の写像sによる値域と、前記パラメトリック曲面の
各区分との共通部分が存在するか否かを前記演算装置に
より判定し、前記パラメトリックトリミング曲線の値域
とパラメトリック曲線の各区分との共通部分が存在する
か否かの判定を行うことを特徴とする、折線近似により
パラメトリックトリミング曲線を表示する方法。
5. The parametric curved surface according to claim 4, wherein the parametric curved surface is given as a union of a plurality of curved surfaces (each curved surface is referred to as a section), and the parametric trimming curve is defined by a set of control points and has a convex hull. If there is a property, the arithmetic unit determines whether or not there is a common part between the range by the mapping s of the set of control points defining the parametric trimming curve and each section of the parametric curved surface, and A method for displaying a parametric trimming curve by polygonal line approximation, which comprises determining whether or not there is a common part between the range of the parametric trimming curve and each section of the parametric trimming curve.
【請求項6】パラメトリック曲面の定義式または制御点
の集合、および、前記曲面をトリミングするためのパラ
メトリックなトリミング曲線の定義式または制御点の集
合を記憶装置に保持し、前記演算装置において前記パラ
メトリック曲面を開多面体または閉多面体により近似
し、前記演算装置において前記パラメトリックなトリミ
ング曲線を折線により近似して、前記パラメトリック曲
面およびパラメトリックなトリミング曲線を前記表示装
置に表示するグラフィック表示システムにおいて、 前記トリミング曲線の折線による近似の精度について、
外部から指定される任意の値の許容誤差値を入力する入
力手段と、 前記入力された許容誤差値を保持する第1の記憶手段
と、 前記入力された許容誤差値に基づいて、前記トリミング
曲線を折線により近似する際の折線の数を決定するため
の式を予め保持する第2の記憶手段と、 前記式に基づき前記折線の数を決定する決定手段と、 を備えることを特徴とするグラフィック表示システム。
6. A parametric curved surface defining equation or a set of control points, and a parametric trimming curve defining equation for trimming the curved surface or a set of control points are held in a storage device, and the parametric surface is stored in the computing device. In the graphic display system for approximating a curved surface by an open polyhedron or a closed polyhedron, approximating the parametric trimming curve by a polygonal line in the arithmetic device, and displaying the parametric curved surface and the parametric trimming curve on the display device, the trimming curve About the accuracy of approximation by the broken line of
Input means for inputting an allowable error value of an arbitrary value specified from the outside, first storage means for holding the input allowable error value, and the trimming curve based on the input allowable error value A second storage means for preliminarily holding an equation for determining the number of polygonal lines when approximating by the polygonal line, and a determining means for determining the number of polygonal lines based on the equation. Display system.
【請求項7】請求項6記載のグラフィック表示システム
において、 前記トリミング曲線が、1つの変数tをパラメタとしc
(t)=(u(t),v(t))である写像cで与えら
れ、 前記パラメトリック曲面が、2つの変数uおよびvをパ
ラメタとしs(u,v)=(x(u,v),y(u,
v),z(u,v))である写像sにより与えられ、 前記許容誤差値がLで指定されるとき、 前記トリミング曲線を折線により近似する際の折線の数
を決定するための式は、 合成写像s・cのtによる一次微分(s・c)′の大き
さの、前記トリミング曲線のパラメタtの範囲内での最
大値M1を前記演算装置により求め、前記折線の数をM
1/Lと決定するための式であることを特徴とするグラ
フィック表示システム。
7. The graphic display system according to claim 6, wherein the trimming curve has one variable t as a parameter.
Given a mapping c that is (t) = (u (t), v (t)), the parametric surface takes two variables u and v as parameters s (u, v) = (x (u, v ), Y (u,
v), z (u, v)), and when the tolerance value is specified by L, the formula for determining the number of polygonal lines when approximating the trimming curve by polygonal lines is , The maximum value M1 of the size of the first-order derivative (s · c) ′ of the composite map s · c with respect to t within the range of the parameter t of the trimming curve is obtained by the arithmetic unit, and the number of the broken lines is M
A graphic display system characterized by being an expression for determining 1 / L.
【請求項8】請求項1記載のグラフィック表示システム
において、 前記トリミング曲線が、1つの変数tをパラメタとしc
(t)=(u(t),v(t))である写像cで与えら
れ、 前記パラメトリック曲面が、2つの変数uおよびvをパ
ラメタとしs(u,v)=(x(u,v),y(u,
v),z(u,v))である写像sにより与えられ、 前記許容誤差値がTOLで指定されるとき、 前記トリミング曲線を折線により近似する際の折線の数
を決定するための式は、 合成写像s・cのtによる二次微分(s・c)″の大き
さの、前記トリミング曲線のパラメタtの範囲内での最
大値M2を前記演算装置により求め、前記折線の数を√
(M2/(8×TOL))と決定するための式であるこ
とを特徴とするグラフィック表示システム。
8. The graphic display system according to claim 1, wherein the trimming curve has one variable t as a parameter c.
Given a mapping c that is (t) = (u (t), v (t)), the parametric surface takes two variables u and v as parameters s (u, v) = (x (u, v ), Y (u,
v), z (u, v)), and when the tolerance value is specified by TOL, the formula for determining the number of polygonal lines when approximating the trimming curve by polygonal lines is , The maximum value M2 of the size of the second derivative (s · c) ″ of the composite map s · c by t within the range of the parameter t of the trimming curve is calculated by the arithmetic unit, and the number of the polygonal lines is √.
A graphic display system characterized by being an expression for determining (M2 / (8 × TOL)).
【請求項9】請求項7または8において、 前記パラメトリック曲面が、複数の曲面(各曲面を区分
と称する)の和集合として与えられている場合に、 前記パラメトリックトリミング曲線cの写像sによる値
域と、前記パラメトリック曲面の各区分との共通部分が
存在するか否かを判定する判定手段と、 前記判定手段により共通部分が存在すると判定された場
合に、前記共通部分が存在する範囲を合成写像s・cの
パラメタ範囲として、(s・c)′又は(s・c)″の
大きさの最大値を求める最大値算出手段と、 を備えることを特徴とするグラフィック表示システム。
9. The range according to the mapping s of the parametric trimming curve c when the parametric curved surface is given as a union of a plurality of curved surfaces (each curved surface is referred to as a section) according to claim 7 or 8. , A determining unit that determines whether or not there is a common part with each section of the parametric curved surface, and if the determining unit determines that a common part exists, a range in which the common part exists is combined with the mapping map s. A graphic display system comprising: a maximum value calculating means for obtaining a maximum value of a size of (s · c) ′ or (s · c) ″ as a parameter range of c.
【請求項10】請求項9において、 前記パラメトリック曲面が、複数の曲面(各曲面を区分
と称する)の和集合として与えられ、且つ、前記パラメ
トリックトリミング曲線が制御点の集合で定義され且つ
凸包性を有する場合に、前記判定手段として、 前記パラメトリックトリミング曲線を定義する制御点の
集合の写像sによる値域と、前記パラメトリック曲面の
各区分との共通部分が存在するか否かを判定する制御点
判定手段と、 を備えることを特徴とするグラフィック表示システム。
10. The parametric curved surface according to claim 9, wherein the parametric curved surface is given as a union of a plurality of curved surfaces (each curved surface is referred to as a section), and the parametric trimming curve is defined by a set of control points and has a convex hull. Control point that determines whether or not there is a common part between the range of the mapping s of the set of control points defining the parametric trimming curve and each section of the parametric curved surface, as the determining means. A graphic display system comprising: a determination unit.
JP1385593A 1993-01-29 1993-01-29 Method for displaying parametric trimming curve by polygonal line approximation and graphic display system Pending JPH06231261A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1385593A JPH06231261A (en) 1993-01-29 1993-01-29 Method for displaying parametric trimming curve by polygonal line approximation and graphic display system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1385593A JPH06231261A (en) 1993-01-29 1993-01-29 Method for displaying parametric trimming curve by polygonal line approximation and graphic display system

Publications (1)

Publication Number Publication Date
JPH06231261A true JPH06231261A (en) 1994-08-19

Family

ID=11844894

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1385593A Pending JPH06231261A (en) 1993-01-29 1993-01-29 Method for displaying parametric trimming curve by polygonal line approximation and graphic display system

Country Status (1)

Country Link
JP (1) JPH06231261A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000002165A1 (en) * 1998-07-03 2000-01-13 Sega Enterprises, Ltd. Method for generating polygon data and image display using the same
WO2012073363A1 (en) * 2010-12-02 2012-06-07 デジタルプロセス株式会社 Display processing method and device
JP2013084040A (en) * 2011-10-06 2013-05-09 Aakitekku:Kk Three-dimensional figure input method and device therefor

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000002165A1 (en) * 1998-07-03 2000-01-13 Sega Enterprises, Ltd. Method for generating polygon data and image display using the same
US6600485B1 (en) 1998-07-03 2003-07-29 Sega Enterprises, Ltd. Polygon data generation method and image display apparatus using same
WO2012073363A1 (en) * 2010-12-02 2012-06-07 デジタルプロセス株式会社 Display processing method and device
CN103238170A (en) * 2010-12-02 2013-08-07 Dipro株式会社 Display processing method and device
US8717356B2 (en) 2010-12-02 2014-05-06 Digital Process Ltd. Display processing method and apparatus
JP2013084040A (en) * 2011-10-06 2013-05-09 Aakitekku:Kk Three-dimensional figure input method and device therefor

Similar Documents

Publication Publication Date Title
JP4385524B2 (en) Polygon data generation method and image display apparatus using the same
US7212205B2 (en) Curved surface image processing apparatus and curved surface image processing method
JP5232358B2 (en) Rendering outline fonts
JP2642070B2 (en) Method and system for generating quadrilateral mesh
US5745666A (en) Resolution-independent method for displaying a three-dimensional model in two-dimensional display space
US7903112B2 (en) Drawing processing apparatus, texture processing apparatus, and tessellation method
JP3344597B2 (en) Method and apparatus for tessellating graphic images
JP3989451B2 (en) Color gradient path
US6906718B1 (en) Method and system for efficiently evaluating and drawing NURBS surfaces for 3D graphics
JPH05307610A (en) Texture mapping method and its device
US20060125824A1 (en) Rapid zippering for real time tesselation of bicubic surfaces
US6791569B1 (en) Antialiasing method using barycentric coordinates applied to lines
KR100305461B1 (en) Graphic processing device
JPH06231261A (en) Method for displaying parametric trimming curve by polygonal line approximation and graphic display system
US7280108B2 (en) Bicubic surface rendering
JP2001067491A (en) Method and device for image display using redivided polygon
JPH11195139A (en) Sculptured surface generating device, method therefor and providing medium
JP2000251095A (en) Method and device for dividing area of polygon mesh and information recording medium
JP2878614B2 (en) Image synthesis method and apparatus
US20030189570A1 (en) Bicubic surface rendering
Bruijns Quadratic Bezier triangles as drawing primitives
JP3147391B2 (en) Method and apparatus for setting curved surface in three-dimensional boundary fitting mesh division
JPH06176168A (en) Computer graphics preparing device
JPH06231274A (en) Method and device for three-dimensional simulation
JP2000030081A (en) Method for plotting rugged polygon and three- dimensional plotting device