CN100341031C - Curve image processor and its processing method - Google Patents

Curve image processor and its processing method Download PDF

Info

Publication number
CN100341031C
CN100341031C CNB2003101143697A CN200310114369A CN100341031C CN 100341031 C CN100341031 C CN 100341031C CN B2003101143697 A CNB2003101143697 A CN B2003101143697A CN 200310114369 A CN200310114369 A CN 200310114369A CN 100341031 C CN100341031 C CN 100341031C
Authority
CN
China
Prior art keywords
reference mark
curved surface
patch
segmentation
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2003101143697A
Other languages
Chinese (zh)
Other versions
CN1499447A (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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1499447A publication Critical patent/CN1499447A/en
Application granted granted Critical
Publication of CN100341031C publication Critical patent/CN100341031C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

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

Landscapes

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

Abstract

A curved surface image processing apparatus 100 according to the present invention that can render an object at higher speed and in higher quality by performing image processing using NURBS data includes: a data input unit 101 for receiving NURBS data; a coordinate transformation unit 102 for performing coordinate transformation on NURBS data; an animation control unit 103 for controlling animation data of each frame to be rendered; a data transformation unit 104 for transforming NURBS data into rational Bezier data; a patch division unit 105 for subdividing a rational Bezier surface patch; a normal determination unit 106 for calculating normals of control points of a divided surface patch; a perspective transformation unit 107 for performing perspective transformation on a divided surface patch; and a rendering unit 108 for rendering a surface patch.

Description

Curved surface image processing apparatus and curved surface image processing method
Technical field
The present invention relates in a kind of 3 dimension computing machine drawing (graphics) fields, use and describe the curved surface image processing apparatus and the method thereof of 3 dimensional objects (object) by non-uniform rational B-spline (the NURBS:Non Uniform Rational B-Spline) image information of function representation.
Background technology
In image processing field in recent years, along with significantly improving of computing power, CAGD (Computer Aided GeometricDesign) system or geometry model system that processing can show the free form surface of complicated shape increase.Though there are several technique of expressions that are used to form free form surface, wherein, nurbs curve or nurbs surface have the advantage that available minority reference mark shows smooth surface.And, except that the reference mark, weight, the parameter that is used for running node shapes such as (knot) are many, can make the shape localized variation, in addition, because have the good expressive ability that also can unify to show circular arc or conic sections such as straight line, para-curve, so need use drafting (rendering) technology of the image module of NURBS data creating.
Below, the problem in the rendering technique of these NURBS data of use is divided into 4 (A)-(D), order describes with regard to each problem.
At first, as (A), describe with regard to the background technology of using the NURBS data to generate in the curved surface treatment of picture integral body.
It (b) is the figure of expression nurbs curve and nurbs surface example that Fig. 3 (a) reaches.Nurbs curve 31 is the parametric lines that parameters u are made as instrumental variable, by the weight w at a plurality of control point ranges 32, each reference mark with follow the knot vector of the node row that each reference mark influence power of the variation of parameters u changes to come the operating curve shape as expression.In addition, each reference mark 32 of NURBS data is not limited to the point on the nurbs curve 31.
Nurbs surface 33 is that its curve form is the same with nurbs curve 31 with parameters u, the v parametric surface as instrumental variable, by operating with the 34 control point ranges of representing, weight with as the knot vector of node row.
Generally, nurbs surface S (u, is v) represented by (formula 1).
Formula 1
S ( u , v ) = m - 1 n - 1 i = 0 j = 0 B i , m ( u ) B j , n ( v ) w ij Q ij m - 1 n - 1 i = 0 j = 0 B i , m ( u ) B j , n ( v ) w ij - - - ( 1 )
In (formula 1), w represents weight, and Q represents the reference mark.In addition, in (formula 1), function B is called B batten basis function,, then sets up (formula 2), (formula 3) if show this B batten basis function with the asymptotic expression of de Boor-Cox.
Formula 2
B i , 1 ( t ) = 1 ( t i &le; t < t i + 1 ) 0 ( t < t i , t &GreaterEqual; t i + 1 ) - - - ( 2 )
Formula 3
B i , k ( t ) = t - t i t i + k - 1 t i B i , k - 1 ( t ) + t i + k - t t i + K - t i + 1 B i + 1 , k - 1 ( t ) - - - ( 3 )
In (formula 2), (formula 3), k represents number of times, and t represents parameter, and ti represents node.
In the past, very many about the operand of these formulas in the Flame Image Process of NURBS data, existence can be by the limited problem of NURBS data volume of the image processing system performance that requires real-time.And under the situation of the Flame Image Process hardwareization that will use the NURBS data, it is big that circuit scale becomes, and hinders miniaturization.
Therefore, being under the condition with 3 dimension nurbs surfaces, the curved surface image processing apparatus (for example opening 2001-218977 communique (7-23 page or leaf) with reference to the spy) that carries out following processing in order to cut down operand at pretreatment stage is disclosed.
In this curved surface image processing apparatus, recursively do not calculate the asymptotic expression of (formula 2), (formula 3), but generally these asymptotic expressions are expanded into 3 times formula, by the substitution knot vector, calculate the matrix of coefficients (4 * 4) that is used to obtain B batten basis function.All control point ranges to the definition nurbs surface are calculated these matrix of coefficients.On the other hand, in handling in real time, the limit changes parameters u, v, and limit use reference mark data and matrix of coefficients calculate the each point on the nurbs surface.
In addition, in this curved surface image processing apparatus, for further high speed calculation process, importing is with matrix of coefficients with the difference delta u of each parameters u, v, the resulting difference matrix of matrix multiple that Δ v is made as key element, in handling in real time, the limit makes with reference to u, v and changes, and limit use reference mark data and difference matrix and knot vector come the each point on the recursive calculation nurbs surface.
Below, as (B), illustrate that using nurbs surface to carry out polygon cuts apart background technology under the situation.
At first, parametric surfaces such as Bezier (Bezier) curved surface or B-batten (B-Spline) curved surface are described by General Definition.As the kind of free form surface, there are Bezier (Bezier) curved surface or B-batten (B-Spline) curved surface etc. several, be used as the more generally form of expression of free form surface but be extensive use of nurbs surface.Parametric surface (u, v) comes point (x, y, z) on the link definition curved surface by two instrumental variables in 3 dimension spaces.
That is, (u, v) obtains 13 dimension coordinate (x, y, z) for 1 group of instrumental variable.Record and narrate these relations for mathematics ground, use reference mark and basis function with weight.The reference mark is position and necessary 3 dimension coordinates of shape framework of determining parametric surface, its weight be the expression reference mark for curved surface cause much influences or extreme be to represent the parameter of how guiding curved surface into reference mark.3 dimension coordinates at reference mark and its weight use that (u, v) separately direction, 2 dimensions with discrete coefficient i, j arrange to be described corresponding to instrumental variable.Basis function is the function that these concrete shapes of controlling point ranges and parametric surface are mapped.
Here, if 3 dimension coordinates at reference mark are<Q[i] [j]=(qx[i] [j], qy[i] [j], qz[i] [j]), the weight of establishing the reference mark is qw[i] [j], the basis function of establishing u direction be B[n] [i] (u), the basis function of establishing the v direction is B[m] [i] (v), then with following formula represent at certain instrumental variable group (coordinate<P that puts on u, v) the curved surface 〉=(px, py, pz).In addition, below, establish mark<expression vector.
<P>=(∑∑B[n][i](u)*B[m][j](v)*qw[i][j]*<Q[i][j]>)/(∑∑B[n][i](u)*B[m][j](v)*qw[i][j]
That is,
px=(∑∑B[n][i](u)*B[m][j](v)*qw[i][j]*<qx[i][j]>)/(∑∑B[n][i](u)*B[m][j](v)*qw[i][j]
py=(∑∑B[n][i](u)*B[m][j](v)*qw[i][j]*<qy[i][j]>)/(∑∑B[n][i](u)*B[m][j](v)*qw[i][j]
pz=(∑∑B[n][i](u)*B[m][j](v)*qw[i][j]*<qz[i][j]>)/(∑∑B[n][i](u)*B[m][j](v)*qw[i][j]
Wherein, establish i=0,1,2 ..., (I-1), j=0,1,2 ..., (J-1), the mark ∑ represent to scope i and j get and.Here, I is that the control of y direction is counted, and J is that the control of v direction is counted.In addition, n and m are the number of times of the basis function of u direction and v direction.
If as parametric surface, then basis function also uses knot vector to be definition except that instrumental variable and number of times (or exponent number) with nurbs surface.
So-called knot vector is with the mode of medium variable institute value with feature with curve form, has certain at interval and form from little side's series arrangement.To instrumental variable u, v direction separately, can use different number of times to define different basis functions with different knot vectors.With the knot vector of u direction (u[0], u[1] ..., u[I+n+1]) and the knot vector of v direction (v[0], v[1] ..., v[J+m+1]) and represent the basis function B[n of nurbs surface by following Cox-deBoor asymptotic expression] [i] (u) and B[m] [i] (v).That is, with regard to u direction, for
B[n][i](u)=[(u-u[i])/(u[i+n]-u[i])]*B[n-1][i](u)
+[(u[i+n+1]-u/(u[i+n+1]-u[i+1]))*
B[n-1][i+1](u)
Wherein, in the following formula, frequency n is not 0.Because following formula is an asymptotic expression, so for example obtain the basis function of n=3 by the basis function of n=2.If repeat, the basis function of essential n=0 then, but the basis function B[n during n=0] [i] (u) only be made as in the scope of u value 1 between (u[i], u[i+1]) time, and value 0 in addition.In addition, the key element of knot vector is whenever coefficient increases, and then value equates or dull increasing, and is to be defined as 0 under 0 the situation at denominator by the coefficient part of fraction representation in the described asymptotic expression.Incidentally, the also available exponent number of described asymptotic expression replaces number of times to show.Exponent number is to add 1 value on frequency n.In addition, the v direction is defined as follows basis function too.
B[m][j](v)=[(v-v[j])/(v[j+m]-v[j])]*B[m-1][j](v)
+[(v[j+m+1]-v)/(v[j+m+1]-v[j+1]))*
B[m-1][j+1](v)
So, when nurbs surface being carried out polygon when cutting apart, the essential parameter of asymptotic expression shown in above the essential substitution, and obtain 3 dimension coordinates<P on the curved surface 〉=(px, py, pz).
Below, for the purpose of simplifying the description, at first describe with nurbs curve without nurbs surface.Among Figure 19, the control point range that is made of 4 reference mark is used in the frequency n of nurbs curve 1901=3) Q[0], Q[1], Q[2], Q[3]) and want prime number be 8 knot vector (u[0], u[1] ..., u[7]) define.The instrumental variable that is used to describe this nurbs curve 1901 only is u, following expression 2 dimension coordinates<P 〉=(px, py).
<P>=(∑B[n][i](u)*qw[i]*<Q[i]>)
/(∑B[n][i](u)*qw[i])
px=?(∑B[n][i](u)*qw[i]*qx[i])
/(∑B[n][i](u)*qw[i])
py=?(∑B[n][i](u)*qw[i]*<qy[i])
/(∑B[n][i](u)*qw[i])
Define nurbs curve in 2 dimension spaces of visually distinguishing easily in Figure 19 and the following formula, but also definable Z coordinate pz is used as nurbs curve in 3 dimension spaces.Incidentally, be that n, control are counted and is I if establish number of times, then can obtain the relation of wanting prime number and number of times and control to count of knot vector by the prime number (I+n+1) of wanting of knot vector.Under the situation of Figure 19, be 4+3+1=8.In addition, among Figure 19, the effective range of describing the knot vector of nurbs curve 1901 is the scope of (u[3], u[4]).Like this, in order to describe the nurbs curve of frequency n=3,4 reference mark of minimum needs.If frequency n=3 are constant, increase by 1 reference mark, then the key element of knot vector also increases by 1, and the effective range of describing the knot vector of nurbs curve is expanded as (u[3], u[5]).This state as shown in figure 20.In addition, from Figure 19 and Figure 20 as can be known, nurbs curve does not pass through the reference mark usually.But, as described later, being shown with at the permutation table of knot vector under the situation of reason Bezier, the end points place has the reference mark.
Below, consider nurbs curve shown in Figure 19 is approximately two line segments.For this reason, as shown in figure 21, on nurbs curve, get 3 points such as two ends and intermediate point, link with straight line.As the value of instrumental variable u, because the effective range of knot vector be (u[3], u[4]), so general u[3 for example respectively for example] and u[4] and as (u[3]+u[4])/2 substitution following formulas of its intermediate value, obtain the position coordinates of putting on the nurbs curve.Nurbs curve 2001 shown in Figure 20 is being divided under the situation of two line segments, because the effective range of knot vector is (u[3], u[5]), so for example desirable u[3], u[4], u[5] be used as the value of instrumental variable u.Much less, the control of nurbs curve is counted or the line segment number cut apart is not limited to this example, can freely set.
On the basis of the above, consider the nurbs surface in 3 dimension spaces is divided into plane polygon.The simplest nurbs surface 2201 shown in Figure 22.Among Figure 22, the number of times of u direction and v direction all is n=m=3, and it all is I=J=4 that the control of u direction and v direction is counted, promptly 4 * 4=16.Knot vector on u direction, v direction, be respectively (u[0], u[1] ..., u[7]), (v[0], v[1] ..., v[7]), the prime number of of knot vector is all to be (I+n+1)=(J+m+1)=8 in u direction, v direction.The effective range of describing the knot vector of nurbs surface 2201 is the scope of (u[3], u[4]) and (v[3], v[4]).Therefore, for example get u[3] and u[4] and as (u[3]+u[4])/2 of its intermediate point as the u value, get v[3] and v[4] and as (v[3]+v[4])/2 of its intermediate point as the v value, then can obtain the point that amounts on 9 curved surfaces.Point on available these 9 curved surfaces is divided into 4 quadrilateral polygons.Much less, also may be partitioned into 8 triangle polygons.In addition, the control of nurbs surface is counted or the polygon figurate number cut apart is not limited to this example, also can freely set (for example opening flat 3-201073 communique with reference to the spy).
Below, as (C), illustrate that with parametric surfaces such as bezier surface segmentations aftertreatment be background technology under the small polygon situation.
Now, be presented at 2 methods of tieing up in the image display devices as 3 dimensional objects that will comprise parametric surface, the general use is approximated to the method for drawing behind the aggregate of a plurality of small plane polygons with object.
In addition, with the object of the level and smooth performance of the form of parametric surfaces such as nurbs surface or bezier surface with compare with the object of the polygonal set performance of polygons such as triangle, data volume is few, with the compatibility height that utilizes the network that develops rapidly in recent years to transmit etc.
As parametric surface being divided into polygonal conventional method, make with the following method, promptly in the equation of the parametric surface that defines, make the value of instrumental variable have certain intervals ground Discrete Change, directly obtain the point on the parametric surface, make a plurality of some combinations with one another, form plane polygon in abutting connection with these points.Generally this processing is called テ Star セ レ-シ ヨ Application.
Shown in Figure 30 as the example of the reasonable bezier surface in 4 rank (3 times) of exemplary parameter curved surface.The reasonable bezier surface in 4 rank (3 times) is represented with the form of following (formula 4).
(formula 4)
B ( u , v ) = UMQM T V = UM Q 00 Q 01 Q 02 Q 03 Q 10 Q 11 Q 12 Q 13 Q 20 Q 21 Q 22 Q 23 Q 30 Q 31 Q 32 Q 33 M T V M = - 1 3 - 3 1 3 - 6 3 0 - 3 3 0 0 1 0 0 0 , U = [ u 3 u 2 u 1 ] , V = { v 3 v 2 v 1 ] T - - - ( 4 )
Show parametric surface with two independent parameter of u, v.Wherein, 0<=u<=1,0<=v<=1.Qij (i=0 ..., 3, j=0 ..., 3) be the reference mark of definition bezier surface shape, under the situation of 4 rank (3 times), have 4 * 4=16 point.In the reference mark, Q00, Q30, Q03, Q33 are present on the curved surface, but point in addition is not present on the curved surface.Each reference mark also comprises the W component that is equivalent to weight except that X, Y, Z component.Therefore, the arbitrfary point P on the curved surface all use P (X (u, v)/W (u, v), Y (u, v)/W (u, v), Z (u, v)/W (u, v)) expression, in addition, have convex closure in the known bezier surface, curved surface is contained in the polyhedron by the reference mark expansion fully.
Object is showed by the set of above-mentioned parameter curved surface.Below, the parametric surface that constitutes object is called patch (patch) describes.For the high precision rendered object, also available tiny a plurality of polygonal approximations show each patch.But if the polygon figurate number of handling increases, then calculated load becomes very big.Therefore, when suppressing the polygon growing amount as far as possible, but require to establish the method that high precision is described.
For this reason, in the prior art, when the curved surface patch being divided into left curved surface patch and right curved surface patch, calculate the flatness of each patch of cutting apart, under the situation of flatness, cut apart this patch again greater than permissible value.The flatness of in addition, propose re-treatment, cutting patch up to all segmentations is the method in permissible value (for example opening flat 11-007544 communique (11-14 page or leaf) with reference to the spy) all.
In addition, as shown in figure 49, link the end points at reference mark, generate the edge, the vector of the mid point on calculating from the mid point at edge to the curved surface of performance polygon surface is made as this vector the offset vector of string.In addition, the vector length on the scale the when offset vector corresponding to the perspective transform string is also arranged determines that the method for the amount of sharpness (is for example opened 2001-52194 communique (the 5th page) with reference to the spy.
Below, as (D), the background technology of the method line computation that forms each reference mark of segmenting the curved surface patch that cuts is described.
Carry out node with nurbs surface and insert the bezier surface of the line parameter conversion of going forward side by side, then constitute two n bezier surfaces if (n+1) * (n+1) is provided individual reference mark.Here abbreviate bezier surface as n time.In addition, in 3 dimension computing machines, painting field, for easy control curved surface, how with 3 dimension bezier surfaces (for example with reference to [computing machine paint the 2nd edition, river close that intelligent mirror, synthetic study institute of Toppan Printing Co., Ltd visual information center are translated, Nikkan Kogyo Shimbun]).
3 the dimension bezier surfaces generally by under show (formula 5) expression.Pij in (formula 5) is the coordinate at reference mark, and Ji, Ki are the Bernstein functions by (formula 6), (formula 7) expression.P (u, v) represents apex coordinate on the free form surface of specific u, v (0≤u, v≤1).
(formula 5)
P ( u , v ) = &Sigma; i = 0 3 &Sigma; j = 0 3 P ij J i K j - - - ( 5 )
(formula 6)
J i = 3 ! i ! ( 3 - i ) ! u i ( 1 - u ) 3 - i - - - ( 6 )
(formula 7)
K j = 3 ! j ! ( 3 - j ) ! u j ( 1 - u ) 3 - j - - - ( 7 )
Bezier surface is directly described with (formula 5) and (formula 6).At this moment, use iterative method etc. in the calculating of calculating the limit that curved surface and other curved surface or projecting plane intersect, computing time is a lot.
On the other hand, in order to describe quickly than this direct plotting method, use テ Star セ レ-シ ヨ Application method, promptly by specific parameter group (u, is v) estimated P (u, v), calculate the point on the free form surface, be similar to polygonal set that can link these points and describe (for example opening the 2001-331812 communique) with reference to the spy.
Perhaps, as other plotting method, also can be by repeating the method for so-called thin split plot design that average coordinates between the adjacency reference mark produces the processing at new reference mark to describe (for example opening flat 11-7544 communique with reference to the spy) with polygon is approximate.
In addition, in 3 dimension computer graphics fields, not only the processing of the shape quality of object but also color, band shade etc. also is an important elements of determining image quality.Band shade in each curved surface uses the normal of object, importantly correctly calculates normal.
But, in the background of being handled by (A) as the calculation procedure of curved surface image processing apparatus integral body is described, in existing curved surface image processing apparatus, because in pretreatment stage, calculate each matrix of coefficients, so the problem that exists the data volume beyond the NURBS data to increase.
In addition, also exist the input data to be subject to the problem of 3 dimension nurbs surfaces.And, under the situation of using difference matrix, exist each increment to be subject to steady state value (Δ u, Δ problem v) with reference to u, v.In addition, if strict performance nurbs surface, then essential rationalization matrix of coefficients, thus must be divided by the each point on the nurbs surface of calculating, the problem that the operand that exists division to cause increases.
Below, under the situation of the nurbs surface of describing above-mentioned (B),, carry out polygon and cut apart by directly obtaining the point on the nurbs surface.But, in order to calculate the coordinate of the point on the nurbs surface by this method, must obtain the basis function of representing with above-mentioned Cox-deBoor asymptotic expression, existence is the problem of many operands very.
In addition, in the past, the direct polygon of above parametric surface was cut apart, was that テ Star セ レ-シ ヨ Application processing is carried out computing by CPU.But, for more careful 3 dimensional objects that show truly as object, must need increase the polygon that is used for approximate curved surface and cut apart number, the load of CPU is become more strengthen.In addition, even if parametric surface is divided into polygonal circuit and (under the situation of テ Star セ レ-), also exists the scale of the computing circuit that is used to obtain the point on the curved surface to become big problem constituting by hardwire.
Therefore, in order to address these problems, in the present invention, directly do not obtain the point on the nurbs surface, but the nurbs surface equivalent transformation being become better simply reasonable bezier surface by the limit, the limit is directly obtained point on this reasonable bezier surface and is carried out polygon and cut apart.This is because reasonable bezier surface can be obtained reference mark on the curved surface easily by using point-score again.In addition, B-spline curves are being transformed in the method for distinguishing reasonable Bezier inserting, method based on Oslo algorithm or Bohm are being arranged (for example with reference to [Parutzsh by node, H., " AShort Proof of the Oslo Algorithm, " Comp.Aid.Geom.Des., Vol.1, pp.95-96,1984] or [Bohm, W.; " Inserting New Knots into B-splineCurves " Comp.Aid.Des.; Vol.12, pp.199-201,1980]).
Therefore, if at first describe the problem that produces when the nurbs surface equivalent transformation become reasonable bezier surface, then for the nurbs surface equivalent transformation is become reasonable bezier surface, the method that can use so-called node to insert.Below, describe the surface transfer method that uses the node insertion algorithm in detail.
At first, for the purpose of simplifying the description, the method that nurbs curve is transformed into reasonable Bezier is described.Insert known following algorithm with regard to the node in the nurbs curve.Promptly, number of times is n, the reference mark classify as (Q[0], Q[1] ..., Q[I-1]) (control is counted and is I), when initial knot vector be (u[0], u[1] ..., u[I+n]) time (prime number of wanting of knot vector is I+n+1), if at node u[k] and u[k+1] between insert 1 new node~u (node insertion position k), then new control point range (Q[0] ', Q[1] ' ..., Q[I] ') be expressed from the next.
<Q′[i]>=(1-a[i]*<Q[i-1]>+a[i]*<Q[i]>
Wherein, in following formula, i is not 0.The situation of i=0 is as follows.
<Q′[0]>=a[0]*<Q[0]>
Here, the coefficient that comprises in the following formula is arranged a[i] be expressed from the next.
A[i]=1 (i less than k-n time)
A[i]=0 (i greater than k+1 time)
A[i]=(~u-u[i])/(u[i+n]-u[i] when being worth in addition (i for)
For example, if initial reference mark classify as (Q[0], Q[1], Q[2], Q[3]), establish initial knot vector for (u[0], u[1] ..., u[7]), when at node u[3] and u[4] between insert a value and equal u[3] new node~u the time, new control point range (Q[0] ', Q[1] ' ..., Q[4] ') as follows.That is, because the insertion position of node is k=3, coefficient is arranged as
a[0]=1
a[1]=(~u-u[1])/(u[4]-u[1])=(u[3]-u[1])/(u[4]-u[1])
a[2]=(~u-u[2])/(u[5]-u[2])=(u[3]-u[2])/(u[5]-u[2])
a[3]=(~u-u[3])/(u[6]-u[3])=0
a[4]=0
Use this serial arrangement, constitute
<Q′[0]>=a[0]*<Q[0]>=<Q[0]>
<Q′[1]>=(1-a[1]*<Q[0]>+a[1]*<Q[1]>
<Q′[2]>=(1-a[2]*<Q[1]>+a[2]*<Q[2]>
<Q′[3]>=(1-a[3]*<Q[2]>+a[3]*<Q[3]>=<Q[2]>
<Q′[4]>=(1-a[4]*<Q[3]>+a[4]*<Q[4]>=<Q[3]>
。Initial reference mark<Q[1 is eliminated in this expression] 〉, in new position<Q ' [1]〉and<Q ' [2]〉locate to generate the reference mark.
But in fact the reference mark has weight.At this moment, the position coordinates at reference mark must be transformed into homogeneous coordinate and substitution following formula.That is, the reference mark is expressed as 2 dimension coordinates<Q[i] 〉=(qx[i], qy[i]), weight is qw[i] time, the homogeneous coordinate is for multiply by weight,<Q[i on position coordinates] 〉=(qw[i] * qx[i], qw[i] * qy[i], qw[i]).In addition, when the reference mark being expressed as 3 dimension coordinates<Q[i] 〉=(qx[i], qy[i], qz[i]) time, the homogeneous coordinate is<Q[i] 〉=(qw[i] * qx[i], qw[i] * qy[i], qw[i] * qz[i], qw[i]).Like this, insert, then because the final control point row also become the homogeneous coordinate, so, must carry out division with weight in order to return common coordinate if use the reference mark that is transformed into the homogeneous coordinate to carry out above-mentioned node.
But, when using the node insertion algorithm with the reasonable Bezier of nurbs curve equivalent transformation, the useless reference mark that generation should be cast out, and the control of casting out is counted and itself is changed because of the aligning method of start node vector.Therefore, only inserting the nurbs curve simple transformation by node is in the reasonable Bezier, and the position and the quantity at the reference mark that should cast out are indeterminate, and later segmentation is cut to handle and become difficulty.
In addition, the following describes and produce the concrete example at useless reference mark when nurbs curve with Figure 19 is transformed to reasonable Bezier.
As first example that produces useless reference mark, frequency n=3 of the nurbs curve 1901 of Figure 19, with the control point range (Q[0], Q[1], Q[2], Q[3]) and knot vector (u[0], u[1] ..., u[7]) define.That is, it is 4 that control is counted, and the prime number of of knot vector is 8.Wherein, to all different coefficient i, j (hypothesis of i<j) u[i]<u[j].Here, as shown in figure 23,1 each and every one ground with node insert initial knot vector (u[0], u[1] ..., u[7]) in, final knot vector become (u ' [0], u ' [1], u ' [2] ...).Here, if satisfy following relation, then the final nurbs curve shape invariance ground of Sheng Chenging is 1 reasonable Bezier by equivalent transformation.
u[0]=u′[0]
u[1]=u′[1]
u[2]=u′[2]
u[3]=u′[3]=u′[4]=u′[5]
u[4]=u′[6]=u′[7]=u′[8]
u[5]=u′[9]
u[6]=u′[10]
u[7]=u′[11]
Promptly, because the effective range of the start node vector of nurbs curve is (u[3], u[4]), so node u[3 in this scope] and u[4] become reusing degree 3 ground (equaling frequency n=3 ground) respectively and insert node, obtain final knot vector (u ' [0], u ' [1], u ' [2] ..., u ' [11]).In this example, insert 4 new nodes.Therefore, the final control point number also increases by 4, becomes 8, final control point row become (Q ' [0], Q ' [1] ..., Q ' [7]).The nurbs curve and the reasonable Bezier equivalence of this node aligning method definition of known usefulness, initial nurbs curve and shape are in full accord.Here, [the final control after node inserts is counted] is 8, but because [control that defines reasonable Bezier is counted] is 4, is useless so in the reasonable Bezier of expression 4 reference mark are arranged during final control point is listed as can be known.
In addition, as second example that produces useless reference mark, consider to increase by 1 start node vector (u[0], u[1] ..., u[8]) situation.Wherein, to all different coefficient i, j (hypothesis of i<j) u[i]<u[j].In order to obtain reasonable Bezier, the same with last example, the finish node vector after establishing node and inserting (u ' [0], u ' [1], u ' [2] ...) as follows.
u[0]=u′[0]
u[1]=u′[1]
u[2]=u′[2]
u[3]=u′[3]=u′[4]=u′[5]
u[4]=u′[6]=u′[7]=u′[8]
u[5]=u′[9]=u′[10]=u′[11]
u[6]=u′[12]
u[7]=u′[13]
u[8]=u′[14]
Promptly, because the effective range of the start node vector of nurbs curve is (u[3], u[5]), so node u[3 in this scope], u[4] and u[5] become reusing degree 3 ground (equaling frequency n=3 ground) respectively and insert node, obtain final knot vector (u ' [0], u ' [1], u ' [2] ..., u ' [14]).That is it is to want 11 of prime number 15 little 4 than knot vector that the final control after, node inserts is counted.At this moment, initial nurbs curve is divided into two continuous reasonable Beziers.Wherein, because these two reasonable Beziers have 1 reference mark at connecting portion, be 4 * 2-1=7 so define that the control of reasonable Bezier counts.Therefore, know that also it is useless that 4 reference mark are arranged here.
But according to the aligning method difference of initial knot vector value, the useless control that should cast out is counted and is not limited to always 4.That is, the useless control that should cast out is counted along with the start node vector changes.This causes comprising in the key element of start node vector the node that value equates.
That is, as the 3rd example that produces useless reference mark, sometimes for different index i, j (i<j), comprise u[i]=u[j] node.For example, in last example, if consider the start node vector (u[0], u[1] ..., u[8]) in have u[2]=u[3] the situation of relation, then node is inserted the final nurbs curve equivalent transformation that generates in back and is and essentially in two continuous reasonable Beziers satisfy following relation.
u[0]=u′[0]
u[1]=u′[1]
u[2]=u[3]=u′[2]=u′[3]=u′[4]
u[4]=u′[5]=u′[6]=u′[7]
u[5]=u′[8]=u′[9]=u′[10]
u[6]=u′[11]
u[7]=u′[12]
u[8]=u′[13]
Promptly, because the effective range of the start node vector of nurbs curve is (u[3], u[5]), and u[2]=u[3], so for u[3], also comprise u[2] become reusing degree 3 ground, u[4] and u[5] also become reusing degree 3 ground respectively and insert node, obtain final knot vector (u ' [0], u ' [1], u ' [2] ..., u ' [13]).Here, the final control after node inserts is counted and is 14-4=10, but because the control of the reasonable Bezier of definition is counted is 4 * 2-1=7, is useless so 3 reference mark are arranged in this example as can be known.
The generation at this useless reference mark is to being that the situation of reasonable Bezier is also just the same with the nurbs surface equivalent transformation.
As the 4th example that produces useless reference mark, the situation of nurbs surface be described, but under the situation of nurbs surface, tie up arrangement with 2 and define the reference mark, define number of times and knot vector along u direction and v direction respectively as the basis function parameter.Therefore, by respectively u direction and v direction being carried out the node insertion, may be reasonable Bezier with the nurbs surface equivalent transformation.
For example, it is 5 * 5=25 that the control of nurbs surface is counted, and the number of times of establishing u direction and v direction is m=n=3, the knot vector of establishing u direction for (u[0], u[1] ..., u[8]), the knot vector of establishing the v direction for (v[0], v[1] ..., v[8]).In addition, with regard to the knot vector of u direction, for all different index i, j (i<j), u[i]<u[j] set up, for the knot vector of v direction, be v[2]=v[3], be assumed to be v[i in addition]<v[j] set up.If the final u direction after node inserted and the knot vector of v direction be made as respectively (u ' [0], u ' [1], u ' [2] ...) and (v ' [0], v ' [1], v ' [2] ...), then according to analogizing before this, for equivalent transformation is reasonable Bezier, essential satisfied following relation.
u[0]=u′[0]
u[1]=u′[1]
u[2]=u′[2]
u[3]=u′[3]=u′[4]=u′[5]
u[4]=u′[6]=u′[7]=u′[8]
u[5]=u′[9]=u′[10]=u′[11]
u[6]=u′[12]
u[7]=u′[13]
u[8]=u′[14]
v[0]=v′[0]
v[1]=v′[1]
v[2]=v[3]=v′[2]=v′[3]=v′[4]
v[4]=v′[5]=v′[6]=v′[7]
v[5]=v′[8]=v′[9]=v′[10]
v[6]=v′[11]
v[7]=v′[12]
v[8]=v′[13]
Therefore, it is 11 that the final control after node inserts is counted on u direction, is 10 on the v direction, and institute thinks 11 * 10=110.On the other hand, it is 7 that the control that defines reasonable Bezier is counted on u direction, is 7 on the v direction, and institute thinks 7 * 7=49.Therefore, the useless reference mark that should cast out is 110-49=61.
As mentioned above, when nurbs surface is transformed to reasonable Bezier, in the node insertion process, produce useless reference mark.
In addition, because the node reusing degree difference in the effective range of aligning method, especially the start node vector of start node vector, so this useless control variations of counting is must these rules of vague generalization.
And, insert the reference mark data finally be transformed to reasonable Bezier by node and be transferred to polygon dividing processing piece based on the point-score again of back level, but essential reference mark preferably only is the reference mark of the reasonable Bezier of definition in the divisional processing again, does not need not define the reference mark of reasonable Bezier.Therefore, remove the reference mark that does not define reasonable Bezier the final reference mark after node inserts in advance, reduce data volume.
Then, the for example spy who cuts in the processing in segmentation shown in (C) opens in the flat 11-007544 communique (11-14 page or leaf), because must calculate flatness when the curved surface patch is cut in each segmentation, so there is the very large problem of the calculated load of flatness in the curved surface image processing apparatus.
In addition, open in the 2001-52194 communique (the 5th page), the offset vector of string can not be formed the index of the patch (back is called contour edge formation patch and describes) at object outline edge as detection above-mentioned spy.
Below, in the method line computation at each reference mark of the formation bezier surface of (D), by described [computing machine paint the 2nd edition, river close that intelligent mirror, synthetic study institute of Toppan Printing Co., Ltd visual information center are translated, Nikkan Kogyo Shimbun] method, point on the curved surface directly provides and (u, v) waits parameter, calculate the summit on the curved surface, make the intermediate point that obtains in the purposes, calculate the normal of the point on the curved surface of generation.In addition, the method line computation at each reference mark of recording and narrating the curved surface patch judges that consistent also avoiding calculates under the situation of the reference mark unanimity of the point at four angles or adjacency, but unexposedly how to avoid waiting concrete grammar.
In addition, open in the method for flat 11-7544 communique,, use general expression to cause becoming computing time very long in order to calculate the normal on the curved surface above-mentioned spy.In addition, use the patch of Network-Application ズ, normal is approximate treatment.
And, open 2001-331812 communique or special opening in the method for flat 11-7544 communique above-mentioned spy, when final generation image, be positioned under the situation at the reference mark on the curved surface only using, even if to useless reference mark, also carry out the method line computation on the way, produce the problem that operand increases.
Summary of the invention
The present invention in view of the above problems, its first purpose be to provide a kind of in using the Flame Image Process of NURBS data as graphical information, can be more at a high speed and the curved surface image processing apparatus of high-qualityly drawing.
In addition, even if second purpose of the present invention is to provide a kind of and is using the NURBS data and inserting by node and to be undertaken by point-score again after being transformed to reasonable Bezier data also more effectively reducing the curved surface image processing apparatus of the operand in the Flame Image Process in the calculation step that polygon cuts apart.
And, a kind of under the situation that the polygon that carries out curved surface by point-score is again cut apart even if the 3rd purpose of the present invention is to provide, also can more effectively carry out the dividing processing of curved surface and alleviate the curved surface image processing apparatus of calculation process.
In addition, even if under the situation that the 4th purpose of the present invention is to provide a kind of control point information that is positioned in use on the curved surfaces such as bezier surface to carry out the method line computation, also can effectively calculate the curved surface image processing apparatus of correct normal by being suitable for normal Calculation Method as the reference mark at four angles of curved surface on summit.
In order to address the above problem, according to curved surface image processing apparatus of the present invention, be used as the NURBS data of the shape data of 3 dimensional objects, on picture, describe described 3 dimensional objects, it is characterized in that: possess the data conversion unit, will be transformed to the reasonable Bezier reference mark data that form reasonable Bezier and reasonable bezier surface by the described NURBS data parameters that nurbs curve and nurbs surface form; The curved surface cutting unit, the reasonable bezier surface patch segmentation that the described reasonable Bezier reference mark data of this data conversion unit conversion are constituted is slit into a plurality of curved surface patches; And delineation unit, describe described 3 dimensional objects with described curved surface patch.
Therefore, though operand can not be carried out big segmentation when the NURBS data are constant cuts, but by being equipped with the data conversion portion that the NURBS data parameters is transformed to the Bezier data, can effectively alleviate 3 dimensional objects in the curved surface image processing apparatus operand in describing to handle, can carry out high-precision describing in the short period and handle.
In addition, according to curved surface image processing apparatus of the present invention, described NURBS data are made of control point range and knot vector, and described data conversion unit possesses the node insertion section, use the node insertion algorithm, carry out described knot vector is inserted the computing of described control point range; With reference mark finishing portion, in the reference mark that comprises from the control point range that the computing of this node insertion section generates the useless reference mark of deletion.Preferably, described node insertion section reaches in the process of final control point range at start node vector that comprises from described NURBS data and initial control point rank transformation for the finish node vector of representing described reasonable Bezier reference mark data, search for the index of the node on the ad-hoc location that is positioned at described finish node vector, described reference mark finishing portion is with the described index that searches, the specific reference mark of deleting described finish node vector.
Therefore,, cut processing,, can carry out the processing of describing of effective 3 dimensional objects so reduced unnecessary computing so segment because suitably delete the NURBS data with reference to the useless reference mark that produces in the parameter transformation processing that transforms to the Bezier data.
And, according to curved surface image processing apparatus of the present invention, described curved surface cutting unit also is equipped with area and calculates portion, with the described reasonable Bezier reference mark data that define each the curved surface patch shape that constitutes described object, calculates the tape symbol area of the 2 dimension figures that constitute by perspective transform; And test section, value according to described tape symbol area, detect described curved surface patch and whether be the curved surface patch that forms as the contour edge of described object outline portion, or described curved surface cutting unit also possesses segmentation and cuts a grade determination portion, whether corresponding described test section detects is to form the result of curved surface patch of described contour edge and the value of the described tape symbol area of described curved surface patch on screen that the described area portion of calculating calculates, and determines that level is cut in the segmentation of described curved surface patch.
Therefore, retrieval constitutes the contour edge that is cut the reasonable bezier surface profile portion that unit subdivision cuts by segmentation, improve the segmentation of the curved surface patch that forms contour edge and cut level, simultaneously, reduce the segmentation of the curved surface patch that does not form contour edge and cut level, computing is cut in unnecessary segmentation before omitting thus, simultaneously, senior by the edge part segmentation is slit into, can describe more accurately thus to handle.In addition, cut in the determining of level,, can more effectively carry out the segmentation of curved surface patch and cut by using the value of tape symbol area in segmentation.
And, according to curved surface image processing apparatus of the present invention, described curved surface image processing apparatus also possesses normal and calculates the unit, described reasonable Bezier reference mark data with described reasonable Bezier, calculate the normal at each reference mark, described normal is calculated the unit and is possessed selection portion, calculating apart from as the normal at the 4th reference mark at first reference mark at four angles of described curved surface patch the time, two adjacent reference mark is selected at first reference mark that becomes the normal calculating object; With the portion of calculating, calculate the vector between described first reference mark and described adjacent two reference mark respectively, calculate two described vectors of being calculated apposition (?), and calculate apposition after the normalization, normal as described first reference mark, preferably, described selection portion is being calculated apart from as the normal at the 4th reference mark at first reference mark at four angles of described curved surface patch the time, at least one becomes under the situation of the back coordinate identical with described first reference mark of shrinking back in the 4th reference mark at second reference mark at described first reference mark in distance, select and the first reference mark adjacency that becomes the normal calculating object, and two reference mark different with the described first reference mark coordinate, the described portion of calculating calculates the vector between two reference mark that described first reference mark and described selection portion select respectively, calculate the apposition of two described vectors, and calculate apposition after the normalization, as the normal at described first reference mark.
Therefore, in the method line computation at the reference mark of the curved surface patch after processing is cut in segmentation, because it is not selected in the calculating of normal vector to move back to the reference mark at other reference mark, so can more correctly constitute the method line computation at each reference mark of reasonable bezier surface, can carry out the brightness etc. of 3 dimensional objects more accurately and describe to handle.
In addition, the present invention not only can be embodied as above-mentioned curved surface image processing apparatus, but also can be embodied as curved surface image processing method that the unit that this curved surface image processing apparatus is equipped with constitutes step, realize the program of this curved surface image processing method by computing machine etc., much less, also can make this program circulation through transmission mediums such as recording medium such as DVD, CD-ROM or communication networks.
Description of drawings
Fig. 1 is the functional block diagram of example 1 mean camber image processing apparatus.
Fig. 2 is the process flow diagram of the bulk treatment of expression example 1 mean camber image processing apparatus.
Fig. 3 (a) is the figure of expression nurbs curve one example.
Fig. 3 (b) is the figure of expression nurbs surface one example.
Fig. 4 (a) is the figure of 3 reasonable Bezier one examples of expression.
Fig. 4 (b) is the figure of 3 reasonable bezier surface one examples of expression.
Fig. 5 is the section example of 3 reasonable Beziers in the 3 dimension Euclidean spaces.
Fig. 6 represents to use recursion (de Casteljau) algorithm of hinting obliquely in the space to carry out the figure of an example of sector division to the section of 3 reasonable Beziers.
Fig. 7 is a reference diagram of representing 3 reasonable bezier surface patches with 16 reference mark data.
Fig. 8 is the reference diagram that the section of the parameters u direction that forms reasonable bezier surface patch is used the result's that the processing of step 205 cuts apart reasonable bezier surface patch.
Fig. 9 is to reasonable bezier surface patch and then the section of parameter v direction is used the reference diagram of the result's that the processing of step 205 cuts apart reasonable bezier surface patch.
Figure 10 is the instance graph that expression is transformed to 4 curved surface patches polygon data.
Figure 11 is the concrete processing flow chart of the curved surface image processing apparatus in the expression example 2.
Figure 12 is the structured flowchart according to the curved surface patch cutting treatmenting part of example 3.
Figure 13 is the concrete processing flow chart of expression section dispenser.
Figure 14 is the functional block diagram according to the data conversion portion of example 4.
Figure 15 is point-score is used in explanation again to reasonable Bezier figure.
Figure 16 is the figure at the reference mark of the reasonable bezier surface of simple expression definition.
Figure 17 is point-score is used in explanation again to reasonable bezier surface figure.
Figure 18 is point-score is used in explanation again to reasonable bezier surface figure.
Figure 19 is point-score is used in explanation again to reasonable Bezier figure.
Figure 20 is the figure of expression nurbs curve one example.
Figure 21 is the figure of expression nurbs curve one example.
Figure 22 is the approximate figure of line segment of the existing nurbs surface of explanation.
Figure 23 is the figure that the polygon of the existing nurbs surface of explanation is cut apart.
Figure 24 is the schematic diagram of explanation based on the surface transfer of node insertion.
Figure 25 is the specific figure of explanation according to the useless reference mark of example 4.
Figure 26 is the specific figure of explanation according to the useless reference mark of example 4.
Figure 27 is the specific figure of explanation according to the useless reference mark of example 4.
Figure 28 is the figure of explanation according to the reference mark method for trimming of example 4.
Figure 29 is the functional block diagram of expression example 5 mean camber patch cutting treatmenting parts.
Figure 30 is the figure of expression as the reasonable bezier surface example in 4 rank (3 times) of parametric surface.
Figure 31 is that expression is according to the processing flow chart in the contour edge test section of example 5.
Figure 32 (a) is that two triangle strip symbol areas that expression constitutes by the perspective transform reference mark are the figure with symbol situation example.
Figure 32 (b) is that two triangle strip symbol areas of expression are figure of distinct symbols situation example.
Figure 33 (a) is the figure that the patch example before segmentation is cut is implemented in expression.
Figure 33 (b) is the figure that the patch example after 1 grade of segmentation is cut is implemented in expression.
Figure 33 (c) is the figure that the patch example after 2 grades of segmentations are cut is implemented in expression.
Figure 34 is that expression is cut the processing flow chart of grade determination portion according to the segmentation of example 5.
The figure of form one example of the corresponding relation that Figure 35 (a) segmentation that to be maximal value that expression tape symbol area is shown form patch with contour edge is cut grade.
Figure 35 (b) is the figure that expression tape symbol area is shown and segments form one example of the corresponding relation that cuts level.
Figure 36 (a) is the figure that object one example before segmentation is cut is implemented in expression.
Figure 36 (b) is that expression is cut the figure that level is segmented each patch object one example afterwards of cutting the formation object corresponding to segmentation.
Figure 37 is the processing flow chart of expression according to the contour edge test section of example 6.
Figure 38 (a) is the figure that outside situation one example of polygon is all controlled in expression.
Figure 38 (b) is the figure of whole situation one examples inwards of expression.
Figure 38 (c) mixes in the expression control polygon outwards to exist and the figure of polygon situation one example inwards.
Figure 38 (d) mixes in the expression control polygon outwards to exist and the figure of polygon situation one example inwards.
Figure 39 is that expression is cut the processing flow chart of grade determination portion according to the segmentation of example 6.
Figure 40 illustrates the tape symbol area of contour edge formation patch in the expression example 6 and the figure of form one example of segmenting the corresponding relation that cuts level.
Figure 41 is that the processing flow chart in grade determination portion is cut in the expression segmentation.
Figure 42 (a) is the figure that is illustrated in an example of the patch that needn't cut apart substantially on the arbitrary direction of principal axis of u, v.
Figure 42 (b) is illustrated in the figure that must segment an example of the patch that cuts on the u direction of principal axis.
Figure 42 (c) is illustrated in the figure that must segment an example of the patch that cuts on the v direction of principal axis.
Figure 42 (d) is illustrated in the figure that must segment an example of the patch that cuts on u, the v direction of principal axis.
Figure 43 cuts the corresponding form of level with bending parameters C with segmentation.
Figure 44 is the figure of structure one example of expression example 7 mean camber image processing apparatus.
Figure 45 (a) is that explanation is determined the maximum figure that segments the method for cutting level by method 1.
Figure 45 (b) is that explanation is determined the maximum figure that segments the method for cutting level by method 2.
Figure 46 illustrates expression curvature parameters and the maximum figure that segments form one example of the corresponding relation that cuts level.
Figure 47 illustrates the tape symbol area of expression patch and the figure of form one example of segmenting the corresponding relation that cuts level.
Figure 48 is the figure of structure one example of expression example 8 mean camber image processing apparatus.
Figure 49 is the figure of explanation curved surface dividing method of the prior art.
Figure 50 is the functional block diagram of expression according to the structure of the normal calculating part of example 9.
Figure 51 is the block diagram of expression according to another structure of curved surface image processing apparatus of example 9.
Figure 52 is the treatment step of portion is calculated in expression according to the normal of example 9 a process flow diagram.
The figure of the example of Figure 53 to be expression in abutting connection with the reference mark that normal is calculated the reference mark of object do not shrink back normal vector under the situation.
Figure 54 (a) is shrink back in abutting connection with the reference mark that normal is calculated the reference mark P00 of the object reference diagram of situation of explanation.
Figure 54 (b) is shrink back in abutting connection with the reference mark that normal is calculated the reference mark P00 of the object reference diagram of situation of explanation.
Figure 54 (c) is shrink back in abutting connection with the reference mark that normal is calculated the reference mark P00 of the object reference diagram of situation of explanation.
Figure 55 (a) is the figure of tabulation one example of the reference mark of storing in the expression record storer and apex coordinate.
Figure 55 (b) is the figure of tabulation one example of the reference mark of storing in the expression record storer and normal data.
Embodiment
Below, illustrate according to curved surface image processing apparatus of the present invention with accompanying drawing.In addition, in following example 1-3, describe having the curved surface image processing apparatus 100 that generates the global feature of curved surface treatment of picture with the NURBS data.
(example 1)
Fig. 1 represents the functional block diagram of example 1 mean camber image processing apparatus 100.
This curved surface image processing apparatus 100 possesses the data input part 101 of input NURBS data, the NURBS data are implemented the coordinate converting section 102 of coordinate transform, the animation control unit 103 of the animation data of frame is respectively described in control, with the NURBS data conversion is the data conversion portion 104 of reasonable Bezier data, the curved surface patch cutting treatmenting part 105 of reasonable bezier surface patch is cut in segmentation, the reference mark of the curved surface patch after cutting apart is calculated the normal calculating part 106 of normal vector, curved surface patch after cutting apart is implemented the perspective transform portion 107 of perspective transform, and the curved surface patch is drawn the drafting handling part 108 of processing.
In addition, curved surface image processing apparatus 100 according to the present invention is not limited to the structure of Fig. 1, as long as possess coordinate converting section 102, data conversion portion 104 and curved surface patch cutting treatmenting part 105, other handling part can be made as inscape arbitrarily.
At first, illustrate according to the NURBS data in the curved surface image processing apparatus 100 of the invention process form 1 and reasonable Bezier reference mark data and disposal route thereof.
Form the NURBS data of nurbs curve and nurbs surface weight (weight) and these 3 key elements formations of knot vector by NURBS reference mark, each reference mark.The reasonable Bezier reference mark data that form reasonable Bezier and reasonable bezier surface are made of these 2 key elements of weight at reasonable Bezier reference mark and each reference mark.
Usually, if use the 3 common coordinate systems of tieing up in the Euclidean spaces, then any reference mark of NURBS data and reasonable Bezier reference mark data and weight are represented with the combination of w by P (x, y, z).
On the other hand, the coordinate system that weight component w is considered as 1 coordinate is called as the homogeneous coordinate system, can be expressed as P (X, Y, Z, w).Space by the performance of homogeneous coordinate system is called as projective space.When showing the some P (x, y, z) of 3 dimensions in the Euclidean spaces by the P in the projective space (X, Y, Z, w), set up the relation of following (formula 8) between the two.
Formula 8
P(X,Y,Z,w)= P(wx,wy,wz,w)=wP(x,y,z,1) (8)
In this example 1, for NURBS data and reasonable Bezier reference mark data, reference mark and weight unification are called the reference mark data later on, handle with the homogeneous coordinate system in the projective space and with the form of P (X, Y, Z, w).
Curved surface image processing apparatus 100 for above formation illustrates its action with Fig. 2.Fig. 2 is the process flow diagram of the bulk treatment of this example of expression 1 mean camber image processing apparatus 100.
At first, data input part 101 is with NURBS data input coordinate transformation component 102 (S201).
Then, animation control unit 103 is calculated the animation data in the present frame.Here, animation data for example by the expression present frame through the temporal information of time information, comprise camera position information viewpoint, comprise the sight line of camera direction information and comprise the light source kind or the light source information of position, strength information etc. constitutes (S202).
Afterwards, coordinate converting section 102 is used from the viewpoint of the animation data of animation control unit 103 inputs, the information of sight line, shearing (clipping) in the conversion of NURBS data implementation model, visual field conversion, 3 dimension spaces is handled, calculated the NURBS data (S203) in the coordinate system of the visual field.
Then, 104 pairs of each nurbs curves that forms the NURBS data of data conversion portion by inserting node, are transformed to the interval reasonable Bezier (S204) that is made of section.In addition, the explanation of this reasonable bezier surface in interval is described in the back.And, insert the method that B-spline curves is transformed to reasonable Bezier by node, just like above-mentioned [Parutzsh, H., " AShort Proof of the Oslo Algorithm, " Comp.Aid.Geom.Des., Vol.1, pp.95-96,1984] or [Bohm, W.; " Inserting New Knots into B-splineCurves " Comp.Aid.Des., Vol.12, pp.199-201; 1980] shown in, the Oslo algorithm is arranged or based on the method for Bohm.
In addition, curved surface patch cutting treatmenting part 105 is calculated a plurality of reasonable bezier surface patches by the NURBS data, carries out the segmentation of interval reasonable bezier surface and cuts processing (S205).This dividing processing is cut apart with recursion (de Casteljau) algorithm in this example 1.
Then, curved surface patch cutting treatmenting part 105 usefulness judge that from current view point to the distance of reasonable bezier surface patch the result is cut in the segmentation of curved surface patch, whether each curved surface patch has sufficient flatness, under the situation of dividing processing once more, carry out the dividing processing (S206 is for denying) of reasonable Bezier patch once more, on the other hand, fully segmenting under the situation of cutting all reasonable bezier surface patches (S206 is for being), perspective transform portion 107 is the polygon data (S207) on summit with approximate being transformed to the reference mark data of each reasonable bezier surface patch.
Afterwards, normal calculating part 106 is calculated the normal vector (S208) at the reference mark of each polygon data after segmentation is cut, carry out 3 dimension coordinates are transformed to the perspective transform (S209) of 2 dimension coordinates on the screen by perspective transform portion 107, then, by draw handling part 108 carry out each polygon data configuration, describe, that finishes 3 dimensional objects describes to handle (S210).
In addition, to each describe frame carry out repeatedly processing in steps, in case all describe completing of frame, then finish a series of processing.
Nurbs surface is formed by the set of non-homogeneous (Non Uniform) reasonable (Rational) B-spline curves.For example among Fig. 3 (b), nurbs surface 33 is made of the set that parameters u, v is made as the two-way nurbs curve of instrumental variable.
In addition, Fig. 4 (a) and (b) be the figure of 3 reasonable Beziers of expression and reasonable bezier surface one example.Among Fig. 4 (a), the shape of operating 3 reasonable Beziers 41 by a plurality of reference mark data 42.The reasonable Bezier that generally will have minimum inscape is called section, and n time section is formed by (n+1) individual reference mark data, especially the 1st and (n+1) individual reference mark data are points on the curve, be called end points.For example, 3 times section is made of 4 reference mark data, and the 1st and the 4th reference mark data are end points.And, the curve of jointing is called interval reasonable Bezier.
Among Fig. 4 (a), P0, P1, P2 are end points, and the interval of P0P1, P1P2 is a section.Like this, by end points is provided continuously, can show level and smooth interval reasonable Bezier.In addition, 3 times reasonable Bezier 41 is the same with nurbs curve, is the parametric line that parameters u is made as the medium variable, is provided by (formula 9).
Formula 9
P(u)=(1-u) 3 P 0 +3u(1-u) 2 P 1 +3u 2(1-u) P 2 +u 3P 3 (9)
In (formula 9), P0, P1, P2, P3 represent the reference mark data.Use the computing of this reasonable Bezier simpler than NURBS computing, available circuit on a small scale carry out hardwareization.
Among Fig. 4 (b), reasonable bezier surface patch 43 is the parametric surfaces that parameters u, v are made as instrumental variable, and this curve form is the same with reasonable Bezier 41, by operating with the reference mark data of 44 representatives.Generally, can pass through the reasonable bezier surface patch of the incompatible definition of two-way set of segments of parameters u, v.The reference mark data of n reasonable bezier surface patch are that (n+1) * (n+1) is individual, and the point at 4 angles of patch is an end points, i.e. point on the curved surface.Among Fig. 4, R0, R1, R2, R3 are end points, are 3 points on the reasonable bezier surface patch 43.
From as can be known above-mentioned, in other words, in S204, calculate a plurality of reasonable bezier surface patches according to the NURBS data.In addition, parameters u, the v of the parameters u of definition NURBS data, v and definition 3 reasonable bezier surface patches of calculating by the conversion of S204 may not be consistent.
Then, illustrate that curved surface patch cutting treatmenting part 105 usefulness recursion (de Casteljau) algorithm cuts apart the method for reasonable bezier surface patch.
Fig. 5 is the section example of 3 reasonable Beziers 51 in the 3 dimension Euclidean spaces.Among Fig. 5, B1, B2, B3, B4 are the reference mark that forms reasonable Bezier section 51, and B1, B4 are end points.Here, the weight of establishing reference mark B1, B2, B3, B4 is respectively w1, w2, w3, w4.
Generally, if use reasonable recursion (de Casteljau) algorithm, then 1 section 51 is will be with w in 3 dimension Euclidean spaces I+1* t:w i* divide in the ratio of (1-t) straight line B1B2, the B2B3 that connects each reference mark, the point of B3B4 to be made as C1, C2, C3, wherein 0<t<1, i=1,2,3,4, and establish separately weight w ' i=w i* (1-t)+w I+1* t,
And, will be with w ' I+1* t:w ' i* divide in the ratio of (1-t) point of straight line C1C2, C2C3 to be made as D1, D2, i=1,2,3 wherein, and establish separately weight w "=w ' i* (1-t)+w ' I+1* t,
And, will be with w " I+1* t:w " i* divide in the ratio of (1-t) point of straight line D1D2 to be made as B5, i=1,2 wherein, and be made as W5=w " i* (1-t)+w " I+1* under the situation of t,
Known B5 is the point on the section 51, and the w5 that calculates becomes the weight of B5.Here, B1, C1, D1, B5 are the reference mark of section B 1B5, and B5, D2, C3, B4 are the reference mark of section B 5B4.
In the step 44 of this example, because processing controls point data in the homogeneous coordinate system, so use for example [Gerald E.Farin work, former filial piety one-tenth etc. is translated, upright altogether the publication, " NURBS acquires practice from projective geometry ", PP119-122] shown in recursion (de Casteljau) algorithm in the projective space.In addition, in this example, use t=1/2.
Fig. 6 is the example that uses recursion (de Casteljau) algorithm in 3 sections in hinting obliquely at the space.Among Fig. 6, B1, B2, B3, B4 are the reference mark data that form section 61, and B1, B4 are end points.
In step 205,, will be being divided into 1/2:(1-1/2 in straight line B1B2, B2B3, the B3B4 for section 61) point (being mid point) be made as C1, C2, C3, in addition, the mid point of straight line C1C2, C2C3 is made as D1, D2, and when the mid point of straight line D1D2 was made as B5, B5 was the point on the section 61.
As a result, section 61 is divided into two sections of B1B5 and B5B4.The reference mark of the new section B 1B5 that forms is B1, C1, D1, B5, and the reference mark of section B 5B4 is B5, D2, C3, B4.
Like this, in curved surface patch cutting treatmenting part 105 according to this example 1, use t=1/2 by using in homogeneous coordinate system and the recursion in projective space (de Casteljau) algorithm, the required computing of dividing processing needn't multiplication and division, only shift operation and addition get final product, so high speed dividing processing significantly.
Fig. 7 is a reference diagram of representing 3 reasonable bezier surface patches 71 with 16 reference mark data.Among Fig. 7, P1, P2, P3, P4 are end points, and each end points is the point on the curved surface patch.
Fig. 8 is the section to the parameters u direction of the reasonable bezier surface patch 71 that forms Fig. 7, the reference diagram of the result's that the processing of use step 205 is cut apart reasonable bezier surface patch.
In the step 205, especially the some P5 of the some P6 of cut section P3P4 and cut section P1P2 becomes the point on the reasonable bezier surface patch 71.That is, reasonable bezier surface patch 71 is divided into P1, P5, P6, P3 and is the reasonable bezier surface patch 81 of end points and is reasonable bezier surface patch 82 these two patches of end points with P5, P2, P4, P6.
Fig. 9 is to the reasonable bezier surface patch 81 of Fig. 8 and 82 and then the section of parameter v direction is used the reference diagram of the result's that the processing of step 205 cuts apart reasonable bezier surface patch.
Here, again calculate some P7, P8, P9 on the reasonable bezier surface patch, reasonable bezier surface patch 81 is divided into P7, P9, P6, P3 is the reasonable bezier surface patch 91 of end points and is the reasonable bezier surface patch 92 of end points, reasonable bezier surface patch 82 is divided into P9, P8, P4, P6 is the reasonable bezier surface patch 93 of end points and is the reasonable bezier surface patch 94 of end points with P5, P2, P8, P9 with P1, P5, P9, P7.
Shown in Figure 10 4 curved surface patches among Fig. 9 are transformed to the example of polygon data.It is 8 polygon datas that amount on summit that curved surface patch 91,92,93,94 is transformed to the reference mark data on the curved surface.
Therefore, because the summit of these polygon datas is the points in the projective space, so, must be transformed into the point in the 3 dimension Euclidean spaces in order to draw.
The transformation of coordinates that defines in coordinate to the 3 dimension Euclidean space that usually, will define from projective space is called projective transformation.In addition, the conversion of coordinate to the 2 dimension screen coordinate that will define from 3 dimension Euclidean spaces is called perspective transform.According to (formula 4), be that 3 formulas of tieing up the common coordinate P (x, y, z) in the Euclidean spaces are provided by (formula 10) with homogeneous coordinate P (wx, wy, wz, w) projective transformation in the projective space.
Formula 10
P ( x , y , z , l ) = P &OverBar; ( X , Y , Z , w ) w - - - ( 10 )
On the other hand, because the summit of polygon data is transformed into visual field coordinate by coordinate converting section 102, so viewpoint is an initial point, sight line is the Z axle.Therefore, the summit perspective transform with the polygon data in the 3 dimension Euclidean spaces becomes the formula of screen coordinate system to be provided by (formula 11).
Formula 11
( xs , ys ) = R ( x z , y z ) + ( xo , yo ) - - - ( 11 )
In (formula 11), P=(x, y, z) is any summit of polygon data, R is the distance from the viewpoint to the screen, So=(xo, yo) expression screen origin, the summit of the polygon data in the screen coordinate after Ps=(xs, ys) the expression perspective transform.
In step 209, so use (formula 12), carry out projective transformation and perspective transform (S209) together to each summit of polygon data that obtains in the step 208.
Formula 12
( xs , ys ) = R ( x w z w , y w z w ) + ( xo , yo )
= R ( x z , y z ) + ( xo , yo ) - - - ( 12 )
Therefore, in this example, can omit the division of the weight of following projective transformation.And in step 210, use current light source information come polygon data carried out shade (shading) is handled or texture (texture mapping) handle wait draw handle after, for the processing of describing of next frame, return step 202.
As mentioned above, according to example 1 of the present invention, data conversion portion 104 and curved surface patch cutting treatmenting part 105 are set, after with the NURBS data conversion being reasonable Bezier reference mark data by step 204, in step 205, cut apart reasonable bezier surface patch, thereby compare with the direct computing nurbs surface and the situation of drawing, can not increase the data beyond the data of reference mark, can draw nurbs surface by less operand.
In addition, coordinate converting section 102 is a visual field coordinate system with the NURBS data conversion in advance, so the reasonable Bezier control data after needn't cutting reasonable bezier surface patch segmentation carries out visual field conversion, can cut down the integral operation amount about coordinate transform.
And, by in the homogeneous coordinate system, handling the reference mark and the weight of NURBS data and reasonable Bezier reference mark data, as the reference mark data, preceding projective transformation and perspective transform are handled in the drafting that can carry out together in the perspective transform portion 107, so can omit the division of the weight of following projective transformation, can draw nurbs surface at a high speed.
And, in order to obtain fully to polygonal approximation, even curved surface patch cutting treatmenting part 105 is under the situation that the segmentation that repeats reasonable bezier surface patch is cut, segmentation is cut required computing and also can only be realized by shift operation and addition, so alleviated the processing burden, in curved surface image processing apparatus 100 according to the present invention, can obtain the drawing result of the nurbs surface of level and smooth high image quality at a high speed.
In addition, in example 1,102 pairs of NURBS data from data input part 101 inputs of coordinate converting section are carried out visual field coordinate transform, but can not carry out visual field coordinate transform in advance yet, and the reasonable Bezier reference mark data that form the reasonable bezier surface patch after cutting apart that curved surface patch cutting treatmenting part 105 obtains are carried out visual field coordinate transform.
(example 2)
Below, with accompanying drawing example 2 of the present invention is described.
The functional block diagram of the curved surface image processing apparatus 100 in this example 2 is the same with above-mentioned example 1, it is characterized in that the animation data that animation control unit 103 is calculated is input in coordinate converting section 102 and the data conversion portion 104.
The first-selected action that the curved surface image processing apparatus 100 of this example 2 is described with Figure 11.In this example 2, the same with example of the present invention 1, personally discuss with regard to NURBS data and reasonable Bezier reference mark data, reference mark and weight unification are called the reference mark data, use the homogeneous coordinate system in the projective space to handle.
Figure 11 is the concrete processing flow chart of the curved surface image processing apparatus 100 in the expression example 2.
At first, data input part 101 is with the weight at NURBS reference mark, each reference mark, NURBS data input data conversion 104 (S1101) of portion that knot vector constitutes.
Then, 104 pairs of formation of data conversion portion by inserting node, are transformed to the interval reasonable Bezier (S1102) that is made of section from each nurbs curve of the NURBS data of data input part 101 inputs.
Then, animation control unit 103 is calculated the animation data in the present frame.(S1103)。
In addition, coordinate converting section 102 is used the viewpoint of the animation data of the present frame that obtains from animation control unit 103, the information of sight line, the clip that the reasonable Bezier reference mark data that form each section that data conversion portion 101 calculates are carried out in modeling transformation, visual field conversion, 3 dimension spaces is handled, calculated the reasonable Bezier reference mark data (S1104) that form the section in the coordinate system of the visual field.
Then, the reasonable bezier surface patch that section in the visual field coordinate system that obtains in 105 pairs of steps 1104 of curved surface patch cutting treatmenting part constitutes, by using t=1/2 to calculate in the recursion in projective space (de Casteljau) algorithm, cut apart reasonable bezier surface patch (S1105).
In addition, curved surface patch cutting treatmenting part 105 usefulness judge from current view point to the distance of reasonable bezier surface patch whether current segmentation result is abundant, under the situation of dividing processing once more, return step 1105 (S1106).
Fully segmenting under the situation of cutting all reasonable bezier surface patches (S1106 is for being), the reference mark data conversion of each the reasonable bezier surface patch after segmentation is cut by perspective transform portion 107 is calculated the normal vector (S1108) at the reference mark of each polygon data for the polygonal number certificate (S1107) as the summit by normal calculating part 106.
Afterwards, each summit of 107 pairs of polygon datas that obtain of perspective transform portion is carried out projective transformation and perspective transform (S1109) together, in addition, draw handling part 108 use current light source information come to polygon data carry out that shade is handled or texture processing etc. draw handle (S1110) after, for the processing of describing of next frame, return step 1101.In addition, the processing before the step 1102 is only carried out 1 time as pre-service, each is described frame carry out processing from step 1103 to step 1110 repeatedly.
As mentioned above, curved surface image processing apparatus 100 according to example 2 of the present invention, data conversion portion 104, coordinate converting section 102 and curved surface patch cutting treatmenting part 105 are set, as prior pre-service, data conversion portion 104 is reasonable Bezier reference mark data with the NURBS data conversion, the shape of NURBS object is with changing constantly, promptly do not carry out under the situation of warpage animation, describing in the processing of each frame, as long as the processing that execution in step 1103 is later, can cut down significantly each is described operand in the processing that frame carries out.That is, but can constitute the limit and smoothly the NURBS data conversion of high image quality is bezier surface and segments the high performance curved surface image processing apparatus 100 that cuts real-time rendering.
In addition, in this example 2, with the situation of not carrying out the warpage animation is prerequisite, even but under the situation of carrying out the warpage animation, if in step 1102, all key frame data (all NURBS data constantly) are carried out the conversion to reasonable Bezier reference mark data as pre-service, then can obtain same effect.
In addition, in this example 2, the reasonable Bezier reference mark data that 102 pairs of data transformation components 104 of coordinate converting section obtain are carried out visual field coordinate transform, but can not carry out visual field coordinate transform in advance yet, and the reasonable Bezier reference mark data that form the reasonable bezier surface patch after cutting apart that curved surface patch cutting treatmenting part 105 obtains are carried out visual field coordinate transform.
(example 3)
Below, the curved surface image processing apparatus 100 of this example 3 is described.In addition, the functional block diagram of the curved surface image processing apparatus 100 in this example 3 is the same with above-mentioned example 1, so omit its detailed description.
Figure 12 is the structured flowchart according to the curved surface patch cutting treatmenting part 105 of this example 3.Curved surface patch cutting treatmenting part 105 is equipped with section dispenser 1201 and the sector division portion 1202 more than at least 1.
Below, structure and its action of the curved surface patch cutting treatmenting part 105 of curved surface image processing apparatus 100 are described.
1202 inputs of sector division portion are made as parameters u, v 4 reference mark data of 3 sections of formation of instrumental variable, by to using t=1/2 in recursion (de Casteljau) algorithm of these 4 reference mark data in projective space, export 7 reference mark data that form 23 sections after cutting apart.For example, if will form 4 reference mark data B1, B2, B3, the B4 inflow section cutting part 1202 of the section 51 among Fig. 5, then output forms 7 reference mark data B1, C1, D1, B5, D2, C3, the B4 of two section B 1B5 and B5B4.
Here, in the reasonable bezier surface patch 71 that obtains by data conversion portion 104, both can any order carry out processing, also can handle simultaneously 4 sections of parameters u direction.In addition, in the reasonable bezier surface patch 81 or 82 after the dividing processing of parameters u direction finishes, both can any order carry out processing, also can handle simultaneously 7 sections of parameter v direction.In addition, reasonable bezier surface patch 81 and 82 is being made as between the different reasonable bezier surface patch of an example, both can any order carrying out processing, also can handle simultaneously the section of parameters u and v direction.
Below, with the processing of Figure 13 area pellucida section dispenser 1201.Figure 13 is the concrete processing flow chart of expression section dispenser 1201.
At first, section dispenser 1201 is selected 1 section (S1301) of waiting for dividing processing from the section of the reasonable bezier surface patch that forms data conversion portion 104 and obtain.
Then, 1201 pairs of sections of choosing of section dispenser judge that whether other section in the identical patch just handles (S1302) by arbitrary sector division portion 1202.Section dispenser 1201 (S1302 for not) under the situation in processing not, then arbitrary sector division 1202 (S1305) of portion of waiting status are handled in the section input.
On the other hand, under the situation in processing (S1302 is for being), section dispenser 1201 judges whether the section of selecting is v direction (S1303).Under the situation that is not the v direction (S1303 for not), the section input is handled in the arbitrary sector division portion 1202 of waiting status (S1305).
In addition, at section (S1303 is for being) under the situation of v direction, section dispenser 1201 judges whether the dividing processing of the same stages of the u direction in identical patch with the section of choosing is all over.Under situation about finishing (S1304 is for being), section dispenser 1201 is with in the arbitrary sector division portion 1202 of section input processing waiting status (S1305).
On the other hand, under the unclosed situation of dividing processing (S1304 is for denying), it is constant to keep the sector division processing waiting status of choosing, and returns step 1301.Section dispenser 1201 repeats above the processing, till the section that is not the dividing processing waiting status.
As mentioned above, according to example 3 of the present invention, be equipped with 1 with upper curtate dispenser 1201 by being provided with, with curved surface patch cutting treatmenting part 105, this curved surface patch cutting treatmenting part 105 has the sector division portion 1202 of being calculated the reasonable Bezier reference mark data of 23 reasonable bezier surfaces that form after cutting apart more than by the reasonable Bezier reference mark data that form 13 reasonable bezier surface at least, and by executed in parallel can simultaneously treated section dividing processing, but the dividing processing of realization of High Speed curved surface patch thus is so can constitute the high performance curved surface image processing apparatus 100 of real-time rendering high image quality nurbs surface smoothly.
In addition, in above-mentioned example 1-3, the NURBS data of data input part 101 inputs both can be used the data that are kept in the medium, also can use the data of coming via Network Transmission.
In addition, in above-mentioned example 1-3,105 pairs of recursion of curved surface patch cutting treatmenting part (de Casteljau) algorithm uses t=1/2, but also can use t=1/ (2 n powers) (wherein, n is a positive integer).And curved surface patch cutting treatmenting part 105 is cut apart along parameter v direction after cutting apart along the parameters u direction, but also can cut apart along the parameters u direction after cutting apart along parameter v direction.
In addition, in above-mentioned example 1-3, it is the polygonal number certificate on summit that perspective transform portion 107 is transformed to each reasonable bezier surface patch with the reference mark data on the curved surface, but also variable being changed to being not that the polygonal number on summit is according to (for example in the cutting apart of curved surface patch 91, being transformed to the reference mark data beyond P3, P7, P9, the P6 is the polygonal number certificate on summit in the reference mark data on the curved surface.)。
In addition, all summits of polygon data need not to be the reference mark data.For example, in the cutting apart of curved surface patch 91, the also variable intersection point that is changed to straight line P3P9 and straight line P6P7 and be 4 polygonal number certificates on summit with the reference mark data at 4 angles.
And, though carry out conversion to polygon data, the also variable polygon data that is changed to the patch that jumps with each reasonable bezier surface patch unit.For example, curved surface patch 91,92,93,94 is transformed to two polygon datas of P4P3P1, P4P1P2.
(example 4)
Below, the curved surface image processing apparatus 100 according to example 4 is described.
In the curved surface image processing apparatus 100 of this example 4, when the curved surface patch is cut in 105 segmentations of curved surface patch cutting treatmenting part, unlike in the past, directly obtain the point on the nurbs surface, but be reasonable bezier surface with the nurbs surface equivalent transformation by data conversion portion 104, after obtaining the reference mark on the curved surface, segment and cut.Therefore, produce data conversion portion 104 generates useless reference mark when node inserts problem, but the curved surface image processing apparatus 100 of this example 4 has solved this problem.
Figure 14 is the functional block diagram according to the data conversion portion 104 of this example 4.
In this example 4, data conversion portion 104 possesses node insertion section 1401, reference mark clip portion 1402 and reasonable Bezier reference mark data determination portion 1403.
The NURBS model data of input data conversion portion 104 is to record and narrate the model data of nurbs surface.Here, the NURBS model data does not comprise the position coordinates of the point on the nurbs surface, we can say as the quantity of information of expression nurbs surface to be Min..So the load that puts on the data transmission system of transmitting the NURBS model data is little.
Node insertion section 1401 is carried out node and is inserted, and the knot vector of the u direction of definition nurbs surface and v direction finally is transformed to reasonable bezier surface more than 1.
In addition, node is inserted on 1401 limits, node insertion section, and the control point range is upgraded on the limit, the final output output definition of node insertion section 1401 and the control point range of the on all four reasonable bezier surface of nurbs surface shape of the NURBS model data definition of input.
But the control point range of 1401 outputs comprises the useless reference mark that does not define reasonable bezier surface from the node insertion section.Reference mark clip portion 1402 is these useless reference mark of deletion, only the necessary control point is transferred to the piece of the curved surface patch cutting treatmenting part 105 of back level.Therefore, the reasonable Bezier reference mark data of reference mark clip portion 1402 outputs are the data that do not comprise useless reference mark.Here, reasonable Bezier reference mark data are control point ranges of the reasonable bezier surface of definition, but are under the nurbs curve data conditions in the NURBS model data, become the control point range of the reasonable Bezier of definition.With the curved surface patch cutting treatmenting part 105 of this reasonable Bezier reference mark data transmission to the back level.
Curved surface patch cutting treatmenting part 105 uses the reasonable Bezier reference mark data of input, obtains the point on the reasonable bezier surface successively.Like this, by curved surface patch cutting treatmenting part 105 reasonable bezier surface is approximately the aggregate of plane polygon.
And, though not shown, tie up polygons by the display part of curved surface image processing apparatus 100 with 3 and be presented at 2 on the display.In addition, under the situation of the reasonable Bezier of reasonable Bezier reference mark data definition, curved surface patch cutting treatmenting part 105 is approximated to reasonable Bezier the aggregate of a plurality of line segments.
Below, the method at useless reference mark is deleted by the reference mark clip portion 1402 of describing this example 4 from the control point range after the node insertion.
If record and narrate the start node vector of nurbs surface and be (u[0], u[1] ..., u[I+n]) reach (v[0], v[1] ..., v[J+m]).Here, n and m are the number of times to the basis function of instrumental variable u, v definition.I and J are that the control of u and v direction is counted.Nurbs surface by these knot vector definition is reasonable bezier surface for equivalent transformation, the enforcement node inserts, the knot vector that finally obtains is made as (u ' [0], u ' [1] ..., u ' [I '+n]) and (v[0], v[1] ..., v[J '+m]).Here, the final control of u direction and v direction is counted and is I '+n+1 and J '+m+1.These reference mark comprise the useless reference mark that does not define reasonable bezier surface.
For the start node vector, the reasonable scope of describing nurbs surface is the scope of (u[3], u[I+n-3]) and (v[3], v[J+m-3]).Come the node of multiplexing this scope by the node insertion,, mean that then initial nurbs surface is transformed to reasonable bezier surface if reusing degree equals number of times.
Figure 24 represents the knot vector of the u direction of nurbs surface is carried out the state that node inserts, the control point range changes.In the example of Figure 24, the number of times of u direction is n=3, to the start node u[3 of the effective range of knot vector] carry out multiplexing.Here, suppose to the knot vector of u direction initial part (u[0], u[1], u[2] ...), value is all different, under the situation that dullness increases, final generate (u ' [0], u ' [1], u ' [2] ...) satisfy following relation.
u[0]=u′[0]
u[1]=u′[1]
u[2]=u′[2]
u[3]=u′[3]=u′[4]=u′[5]
At first, when the insertion value equals u[3] node~u=u ' [4] time because the node insertion position is the position of k=3, so that coefficient is arranged is as follows.
a[0]=1
a[1]=(~u-u[1])/(u[4]-u[1])=(u[3]-u[1])/(u[4]-u[1])
a[2]=(~u-u[2])/(u[5]-u[2])=(u[3]-u[2])/(u[5]-u[2])
a[3]=(~u-u[3])/(u[6]-u[3])=0
a[4]=0
Therefore, the reference mark of generation is classified as
<Q′[0]>=a[0]*<Q[0]>=<Q[0]>
<Q′[1]>=(1-a[1]*<Q[0]>+a[1]*<Q[1]>
<Q′[2]>=(1-a[2]*<Q[1]>+a[2]*<Q[2]>
<Q′[3]>=(1-a[3]*<Q[2]>+a[3]*<Q[3]>=<Q[2]>
<Q′[4]>=(1-a[4]*<Q[3]>+a[4]*<Q[4]>=<Q[3]>
Thereby, deletion reference mark<Q[1] 〉, generate new reference mark<Q ' [1]〉and<Q ' [2] 〉.Wherein, represent, for the purpose of simplifying the description, only tie up performance here by 1 of u direction though arrange with 2 dimensions with index i, j at the reference mark of definition nurbs surface.Even if simplify like this and also do not lose generality.And, when the insertion value equals u[3] node~u=u ' [5] time because the node insertion position is the position of k=4, so that coefficient is arranged is as follows.
a[0]=1
a[1]=1
a[2]=(u[3]-u[2])/(u[4]-u[2])
a[3]=0
a[4]=0
Use this arrangement, the reference mark of generation is classified as
<Q″[0]>=a[0]*<Q′[0]>=<Q′[0]>=<Q[0]>
<Q″[1]>=(1-a[1]*<Q′[0]>+a[1]*<Q′[1]>=<Q′[1]>
<Q″[2]>=(1-a[2]*<Q′[1]>+a[2]*<Q′[2]>
<Q″[3]>=(1-a[3]*<Q′[2]>+a[3]*<Q′[3]>=<Q′[2]>
<Q″[4]>=(1-a[4]*<Q′[3]>+a[4]*<Q′[4]>=<Q′[3]>=<Q[2]>
Thus, mean reference mark<Q that generation is new " [2] 〉.
Then, the following new reference mark<Q of expression " [2]〉be the starting point on the initial nurbs surface.With u=u[3] asymptotic expression of substitution Cox-deBoor, recurrence is obtained the basis function of nurbs surface.At first, for n=0, for
B[0][3](u[3])=1
B[0] [i] (u[3])=not 0 (i is not 3).
Use following formula, for n=1, for
B[1][2](u[3])=1
B[1] [i] (u[3])=not 0 (i is not 2).
Use following formula again, for n=2, for
B[2][1](u[3])=(u[4]-u[3])/(u[4]-u[2])
B[2][2](u[3])=(u[3]-u[2])/(u[4]-u[2])
B[2] [i] (u[3])=not 0 (i is not 1 or 2).
Use following formula again, for n=3, for
B[3][0](u[3])=(u[4]-u[3])/(u[4]-u[1])*B[2][1](u[3])
B[3][1](u[3])=(u[3]-u[1])/(=u[4]-u[1])*B[2][1](u[3])
+(u[5]-u[3])/(u[5]-u[2])*B[2][2](u[3])
B[3][2](u[3])=(u[3]-u[2])/(u[5]-u[2])*B[2][2](u[3])
B[3] [i] (u[3])=0 (i is greater than 3).
Thus, the starting point of nurbs surface is arranged coefficient and is taken as~a[i]=1-a[i],
~a ' [i]=1-a ' [i] then
<P(u[3])>=B[3][0](u[3])*<Q[0]>+B[3][1](u[3])*<Q[1]>
+B[3][2](u[3])*<Q[2]>
=~a′[2]*~a[1]*<Q[0]>
+(~a′[2]*~a[1]+~a′[2]*a[1])*<Q[1]>
+a′[2]*a[2]*<Q[2]>
=<Q″[2]>
。So, because the starting point and the reference mark<Q that is transformed to reasonable bezier surface of initial nurbs surface " and [2]〉consistent, so two reference mark<Q " [0]〉and<Q " [1]〉be useless.
In addition, as other example, illustrate that the element arrangements of start node vector shown in Figure 25 comprises the situation of reusing degree.For the initial part of the knot vector of u direction (u[0], u[1], u[2] ...), at u[2]=u[3] situation under, the final knot vector that generates (u ' [0], u ' [1], u ' [2] ...) satisfy following relation.
u[0]=u′[0]
u[1]=u′[1]
u[2]=u′[3]=u′[2]=u′[3]=u′[4]
When the insertion value equals u[2] and u[3] node~u=u ' [4] time because the node insertion position is the position of k=3, so that coefficient is arranged is as follows.
a[0]=1
a[1]=(~u-u[1])/(u[4]-u[1])=(u[2]-u[1])/(u[4]-u[1])
a[2]=(~u-u[2])/(u[5]-u[2])=0
a[3]=(~u-u[3])/(u[6]-u[3])=0
a[4]=0
Use this arrangement, the reference mark of generation is classified as
<Q′[0]>=a[0]*<Q[0]>=<Q[0]>
<Q′[1]>=(1-a[1])*<Q[0]>+a[1]*<Q[1]>
<Q′[2]>=(1-a[2])*<Q[1]>+a[2]*<Q[2]>=<Q[1]>
<Q′[3]>=(1-a[3])*<Q[2]>+a[3]*<Q[3]>=<Q[2]>
<Q′[4]>=(1-a[4])*<Q[3]>+a[4]*<Q[4]>=<Q[3]>
On the other hand, because be not that 0 basis function of the initial nurbs surface of definition is
B[2][1](u[3])=(u[4]-u[3])/(u[4]-u[2])=1
B[3][0](u[3])=(u[4]-u[3])/(u[4]-u[1])*B[2][1](u[3])
B[3][1](u[3])=(u[3]-u[1])/(u[4]-u[1])*B[2][1](u[3])
So on the other hand, the starting point of nurbs surface becomes
<P(u[3])>=B[3][0](u[3]*<Q[0]>+B[3][1](u[3])*<Q[1]>
=(1-a[1])*<Q[0]+a[1]*<Q[1]>
=<Q′[1]>
With reference mark<Q ' [1]〉consistent.So the time 1 reference mark<Q ' [0] only be useless.
In addition, as shown in figure 26, comprise other example of reusing degree as the element arrangements of start node vector, for the initial part of the knot vector of u direction (u[0], u[1], u[2] ...), consider u[3]=u[4] situation.In this case, the final knot vector that generates (u ' [0], u ' [1], u ' [2] ...) satisfy following relation.
u[0]=u′[0]
u[1]=u′[1]
u[2]=u′[2]
u[3]=u[4]=u′[3]=u′[4]=u′[5]
When the insertion value equals u[3] and u[4] node~u=u ' [5] time because the node insertion position is the position of k=4, so that coefficient is arranged is as follows.
a[0]=1
a[1]=1
a[2]=(~u-u[2])/(u[5]-u[2])=(u[3]-u[2])/(u[5]-u[2])
a[3]=(~u-u[3])/(u[6]-u[3])=0
a[4]=(~u-u[4])/(u[7]-u[4])=0
Use this arrangement, the reference mark of generation is classified as
<Q′[0]>=a[0]*<Q[0]>=<Q[0]>
<Q′[1]>=(1-a[1])*<Q[0]>+a[1]*<Q[1]>=<Q[1]>
<Q′[2]>=(1-a[2])*<Q[1]>+a[2]*<Q[2]>
<Q′[3]>=(1-a[3])*<Q[2]>+a[3]*<Q[3]>=<Q[2]>
<Q′[4]>=(1-a[4])*<Q[3]>+a[4]*<Q[4]>=<Q[3]>
On the other hand, if obtain the starting point of nurbs surface, then have
<P(u[3])>=B[3][1](u[3]*<Q[1]>+B[3][2](u[3])*<Q[2]>
=(1-a[2])*<Q[1]+a[2]*<Q[2]>
=<Q′[2]>
With reference mark<Q ' [2]〉consistent.So the time 2 reference mark<Q ' [0] and<Q ' [1] be useless.
By above example, if vague generalization is carried out in frequency n=3, become useless reference mark after then inserting for node, below relation is set up.Promptly, the final reference mark that generates classify as (Q ' [0], Q ' [1] ..., Q ' [I '-1]), the final knot vector that generates be (u ' [0], u ' [1] ..., u ' [I '+3]), as shown in figure 27, for the node u ' [3] that begins to describe nurbs surface, (u ' [j] ..., u ' [3] ..., u ' [k]) altogether the value of (k-j+1) individual node equal u ' [3], use carry out greater than reusing degree 3 multiplexing, the reference mark (Q ' [0], Q ' [1] ..., Q ' [k-4]) altogether (k-3) individual reference mark be useless.
In addition, not only generate useless reference mark in the starting point of nurbs surface but also in end point.At this moment, if consider that the pass of the coefficient of control point range and knot vector is reverse, then can the useless point of just the same deletion.Promptly, reference mark for final generation classify as (Q ' [0] ..., Q ' [I '-2], Q ' [I '-1]), the final knot vector that generates be (u ' [0] ..., u ' [I '+2], u ' [I '+3]), as shown in figure 28, for the node u ' [I '] that nurbs surface is described in end, (u ' [j] ..., u ' [I '] ..., u ' [k]) altogether the value of (k-j+1) individual node equal u ' [I '], use carry out greater than reusing degree 3 multiplexing, the reference mark (Q ' [j] ..., Q ' [I '-2], Q ' [I '-1]) altogether (I '-j) individual reference mark is useless.
In addition, in the above description, the method for the control point range of u direction being deleted useless reference mark has been described, but also can be suitable equally to the control point range of v direction.In addition, in fact the reference mark has weight, but if use the homogeneous coordinate that position coordinates be multiply by weight, then can use the method at the useless reference mark of above-mentioned deletion.
In addition, illustrate here based on the polygon of the reasonable bezier surface of point-score again and cut apart.At first, reasonable Bezier is described for easy understanding.As shown in figure 15, consider reasonable Bezier is used point-score again, and be approximated to the situation of a plurality of line segments.The number of times of the reasonable Bezier of Figure 15 is n=3, by 4 reference mark ((Q[0], Q[1], Q[2], Q[3]) define.If the weight at each reference mark is qw[i].Wherein, i=0,1,2,3.As shown in figure 15, reasonable Bezier is with reference mark Q[0] and Q[3] be made as the curve at two ends.In the point-score again of present embodiment, at first on the position, middle at two adjacent reference mark, get new point (R[0], R[1], R[2]).Wherein, coordinate Calculation is used next following the carrying out of homogeneous coordinate of multiply by weight to position coordinates.
rw[0]*<R[0]>=(qw[0]*<Q[0]>+qw[1]*<Q[1]>)/2
rw[1]*<R[1]>=(qw[1]*<Q[1]>+qw[2]*<Q[2]>)/2
rw[2]*<R[2]>=(qw[2]*<Q[2]>+qw[3]*<Q[3]>)/2
Wherein,
rw[0]=(qw[0]+qw[1])/2
rw[1]=(qw[1]+qw[2])/2
rw[2]=(qw[2]+qw[3])/2
And if get new point (S[0], S[1]) in these on the position, then its coordinate is
sw[0]*<S[0]>=(rw[0]*<R[0]>+rw[1]*<R[1]>)/2
sw[1]*<S[1]>=(rw[1]*<R[1]>+rw[2]*<R[2]>)/2
Wherein,
sw[0]=(rw[0]+rw[1])/2
sw[1]=(rw[1]+rw[2])/2
。And, if get new some T[0 on the position in these], then its coordinate is
tw[0]*<T[0]>=(sw[0]*<S[0]>+sw[1]*<S[1]>)/2
Wherein,
tw[0]=(sw[0]+sw[1])/2
If calculate as mentioned above, then initial reasonable Bezier is divided into by the reference mark (Q[0], R[0], S[0], T[0]) the reasonable Bezier 1501 that constitutes and by the reference mark (T[0], S[1], R[2], Q[3]) section of reasonable Bezier 1502 these two continuous reasonable Beziers of constituting, final some T[0] become the point on the initial reasonable Bezier.Therefore, initial reasonable Bezier may be approximately two line segments of line segment (Q[0], T[0]) and line segment (T[0], Q[3]).And, being divided into thin line segment and wanting to improve under the situation of approximation quality, the reasonable Bezier 1501 and 202 after cutting apart is reused point-score again, cut apart repeatedly and get final product.Like this, divisional processing is compared with the computing that the division that carries out multiplication and addition, usefulness [2] is repeatedly obtained the basis function of NURBS again, and is very simple.
Analogize from above point-score again, can carry out polygon by point-score again and cut apart reasonable bezier surface to reasonable Bezier.Under the situation of curved surface, the reference mark becomes the 2 dimension arrangements that have corresponding to index i, the j of instrumental variable u, v.That is, the reference mark is expressed as Q[i] [j].Illustrate with Figure 16 and in reasonable bezier surface, to use again point-score to carry out the method that polygon is cut apart.
Though the not shown reasonable bezier surface of Figure 16 itself, but the figure at the reference mark of the reasonable bezier surface of simple expression definition, number of times all is n=m=3 on u direction and the v direction, and it is 4 * 4=16 that control is counted.Among Figure 16, and the reference mark at 4 angles (Q[0] [0], Q[3] [0], Q[3] [3], Q[0] [3]) be the point on the reasonable bezier surface.
In that reasonable bezier surface uses in the point-score again to this, at first the value with the index j at reference mark is fixed on 0, with 4 reference mark (Q[0] [0], Q[1] [0], Q[2] [0], Q[3] [0]) use above-mentioned point-score again.Thus, generation by the reference mark (Q[0] [0], R[0] [0], S[0] [0], T[0] [0]) the reasonable Bezier 1601 that constitutes and by the reference mark (T[0] [0], S[1] [0], R[2] [0], Q[3] [0]) the reasonable Bezier 1602 that constitutes, and obtain new some T[0 on the initial reasonable Bezier] [0].This T[0 only is shown among Figure 16] [0].
Then, use with index j increase 4 reference mark after 1 (Q[0] [1], Q[1] [1], Q[2] [1], Q[3] [1]), use point-score again, same calculation control point.Thus, controlled point (Q[0] [1], R[0] [1], S[0] [1], T[0] [1]) and (T[0] [1], S[1] [1], R[2] [1], Q[3] [1]).Wherein, these points are the intermediate data that produce in computation process, because original Q[0] [1] and Q[3] [1] is not the point on the initial reasonable bezier surface, so the reference mark T[0 that generates] [1] point on neither initial reasonable bezier surface.And, repeating identical processing, j becomes 3 up to index.Figure 17 illustrates before this 28 reference mark, wherein T[0 that generate] [0], T[0] [3] be the new point on the initial bezier surface.In addition, among Figure 17, be positioned at the reference mark mark O marking on the reasonable bezier surface.
And, the reference mark that is generated by point-score again of above-mentioned u direction is divided into the group at 7 reference mark that show down, each group is reused point-score more respectively along the v direction.
(Q[0][0],Q[0][1],Q[0][2],Q[0][3])
(R[0][0],R[0][1],R[0][2],R[0][3])
(S[0][0],S[0][1],S[0][2],S[0][3])
(T[0][0],T[0][1],T[0][2],T[0][3])
(S[1][0],S[1][1],S[1][2],S[1][3])
(R[2][0],R[2][1],R[2][2],R[2][3])
(Q[3][0],Q[3][1],Q[3][2],Q[3][3])
As shown in figure 18, if to initial group (Q[0] [0], Q[0] [1], Q[0] [2], Q[0] [3]) use point-score again, then controlled point (Q[0] [0], Q ' [0] [0], Q[0] [1], Q ' [0] [1]) and (Q ' [0] [1], Q[0] [2], Q ' [0] [2], Q[0] [3]).Here, Q ' [0] [1] is the point on the initial bezier surface.Equally, other group is also used point-score again, finally obtain 7 * 7=49 reference mark, initial reasonable bezier surface is divided into 4 little reasonable bezier surfaces that define by 4 * 4=16 reference mark.In addition, in the reference mark of each little reasonable bezier surface of cutting apart, to be positioned at 4 reference mark on the angle are points on the initial reasonable bezier surface.That is, obtain point on 9 reasonable bezier surfaces.Among Figure 18, to the reference mark mark O marking on these reasonable bezier surfaces.The point of the point on these reasonable bezier surfaces is bonded to each other, thereby can constitutes plane polygon.In addition, further be divided into thin polygon and wanting to improve under the situation of approximation quality, also can reuse point-score again the reasonable bezier surface after cutting apart.
In the divisional processing again in the curved surface patch cutting treatmenting part 105 of the curved surface image processing apparatus 100 of above this example 4, the reference mark clip portion useless reference mark of 1402 deletions is so operand lacks than the point of directly obtaining on the nurbs surface.Therefore, by using the delet method at the useless reference mark that does not define reasonable bezier surface described in this example 4, can be effectively the reference mark rank transformation of the nurbs surface that provides be the control point range of the spendable reasonable bezier surface of divisional processing again.
(example 5)
Below, the processing in the curved surface patch cutting treatmenting part 105 of curved surface image processing apparatus 100 of the present invention is described.The processing of curved surface patch cutting treatmenting part 105 is described with example 5-8.
Below, with reference to accompanying drawing curved surface patch cutting treatmenting part 105 according to the curved surface image processing apparatus 100 of the invention process form 5 is described.
Figure 29 is the functional block diagram of expression example 5 mean camber patch cutting treatmenting parts 105.
In this example 5, curved surface patch cutting treatmenting part 105 possesses shape input acceptance division 2901, contour edge test section 2902, segments and cut grade determination portion 2903 and thin cutting part 2904.Below, describe function separately in detail.
Shape input acceptance division 2901 receives view information and as the input about the object shapes information of the information of the object shapes described, and view information comprises by data conversion portion 104 performance in the spherical coordinate system is transformed to visual field transformation matrix as the eye coordinates system of the coordinate system that is defined as viewpoint, and by perspective transform the performance of eye coordinates system is transformed to 2 perspective transforms of tieing up the coordinate system that defines on the screens.
Object shapes information is from data conversion portion 104 input, comprise definition constitute the coordinate (performance of homogeneous coordinate system) at reference mark of patch shape of object and conduct about in abutting connection with the information of the patch of each patch in abutting connection with patch information.Technique of expression in abutting connection with patch information does not limit especially.Following method is for example arranged, that is, provide index (index) to each patch, as the adjacency patch information, series arrangement also shows the index of the patch of adjacency among parameter space v=0, u=1, v=1, the u=0.Do not exist under the situation of patch, as long as give special index such as-1 grade.In addition, object shapes information also can comprise attribute information, for example vertex normal vector or the texture coordinate information etc. of describing the middle patch that utilizes.
Contour edge test section 2902 judges whether each patch that constitutes the object of being obtained by shape input acceptance division 2901 is the patch that forms contour edge.In addition, in order to keep judged result, whether be the identifier (back is called the edge identifier) that contour edge forms patch to each this patch of patch definition expression, for example by using 0 initialization, expression 0 is not that contour edge forms patch.
Figure 31 is that expression is according to the processing flow chart in the contour edge test section 2902 of this example 5.Below, the treatment scheme in the contour edge test section 2902 is described.
At first, for each patch, the 2902a of perspective transform portion of contour edge test section 2902 uses visual field transformation matrix and the perspective transformation matrix that comprises in the view information, be present in 4 summit Q00, Q30, Q03, Q33 on the curved surface in the perspective transform reference mark, be transformed to the coordinate (S3102) on the screen.
Then, the tape symbol area is calculated the 2902b of portion and is calculated by transforming to the tape symbol area (S3103) of the formed 2 dimension figures in 4 summits on the screen.Usually, obtain the leg-of-mutton tape symbol area S that constitutes by 3 the summit A (ax, ay) on 2 dimensional planes, B (bx, by), C (cx, cy) by following (formula 13).In addition, establish the tape symbol area and be under the positive situation, this triangle is outside face, is face inwards under negative situation.
Formula 13
S = 1 2 a x a y 1 b x b y 1 c x c y 1 - - - ( 13 )
With 4 summit Q of perspective transform 00, Q 30, Q 03, Q 33After screen on coordinate be made as R respectively 00(r 00x, r 00y), R 30(r 030x, r 03y), R 03(r 03x, r 03y), R 33(r 33x, r 33y), then will be divided into R by the figure that 4 summits constitute 00, R 30, R 03With R 30, R 33, R 03Two groups of triangles are calculated tape symbol area S by following formula 0, S 1
S 0=(r 00x*r 30y+r 03x*r 00y+r 30x*r 03y-r 03x*r 30y-r 30x*r 00y-r 00x*r 03y)/2
S 1=(r 30x*r 33y+r 03x*r 30y+r 33x*r 03y-r 03x*r 33y-r 33x*r 30y-r 30x*r 03y)/2
Here, * is for taking advantage of.Be under the situation of position relation of Figure 32 (a) tape symbol area S on 4 summits on the screen 0And S 1Be same-sign, but under the situation of Figure 32 (b), be distinct symbols.
Therefore, 2902 pairs of each patches of contour edge test section remain on the tape symbol area in the different storage area (not shown), so that can distinguish positive negative value.And at S 0, S 1Under the situation for same-sign, the value after the addition is remained in the storage area.In addition, in this example 5,4 summits are divided into R 00, R 30, R 03With R 30, R 33, R 03Two groups of triangles, but the method except that drawing for example are divided into R 00, R 33, R 03With R 00, R 30, R 33Group get final product, can same step handle.
Then, contour edge test section 2902 is relatively stored the tape symbol area (S3104) of calculating among the value of the peaked storage area of tape symbol area (not shown) that the maintenance beyond the storage area of tape symbol area value of each patch guarantees and the S3103.In addition,, then upgrade maximal value, the value after upgrading is write in the storage area if the tape symbol area is big.Here, with the comparison of maximum tape symbol area in use the absolute value sum of tape symbol area S0, S1.That is, the positive tape symbol area of calculating among the S3103 is made as Ap, negative area is made as Am, when the maximal value that is stored in the tape symbol area in the storage area is made as MAXA, carry out following processing.
(1) calculates the absolute value and the Ap+|Am| of tape symbol area.
(2) if Ap+|Am|>MAXA then establishes MAXA=Ap+|Am|.
If all patches that constitute object are finished above processing, then move to S3105 (S3101 is for being).
Afterwards, contour edge test section 2902 is with reference to the tape symbol area of each patch of calculating, and in positive negative value is not under 0 the situation (situation of Figure 32 (b)), to form contour edge as this patch, the edge identifier is made as 1, moves to the judgement (S3106) of next patch.
In addition, contour edge test section 2902 positive and negative arbitrary value in S3106 all is under 0 the situation, to move to S3107.
Then, contour edge test section 2902 symbol by the tape symbol area of this patch relatively and the symbol in abutting connection with the tape symbol area of patch that uses in abutting connection with the patch information reference judge whether it is that contour edge forms patch (S3107).
Afterwards, contour edge test section 2902 is at the symbol of the tape symbol area of the patch of this patch and adjacency (S3107 for not) not simultaneously, then has the border of surface and the inside as can be known between two patches, and can be judged as is that contour edge forms patch.Therefore, if the product value of this patch and the tape symbol area of adjacent 4 patches is for negative, then being judged as is contour edge formation patch, and the edge identifier is made as 1 (S3108).
On the other hand, if all of its neighbor patch symbol identical (S3107 is for being), then be judged as and be not contour edge formation patch (S3109).In addition, do not exist under the situation of patch (in example of the present invention, providing-1), forming the edge, identifier is being made as 1 as this patch to the adjacency patch information.If 2902 pairs of all patches of contour edge test section are finished above-mentioned processing, then move to segmentation and cut definite processing that level is cut in the segmentation of grade determination portion 2903.In addition, the tape symbol area of each patch that contour edge test section 2902 is calculated and edge identifier send to segmentation and cut grade determination portion 2903.
Tape symbol area and the edge identifier that grade determination portion 2903 is used each patch that contour edge test sections 2902 calculate cut in segmentation, can determine that segmentation cuts level.
The method of gathering to be similar to the curved surface patch with polygon roughly has following two kinds.
In the 1st method, at first, cut apart the uv parameter space, produce grid point according to the stride of cutting apart patch (determining by any method in advance).Afterwards, calculate the coordinate of grid point on 3 dimension spaces of generation, link these summits, generate polygon.
The 2nd method is to generate the reference mark of cutting apart patch and recursively repeat above-mentioned action to generate polygonal method.The former is called inlays (tessellation) algorithm, the latter is called divides algorithm again.
In this example 5, will be made as 1 grade with dividing algorithm that patch is carried out 2 operations of cutting apart along u, v direction again, its number of times is defined as segmentation cuts level, but also applicable to inlaying algorithm.For example, also can prepare to resemble level 1 for respectively along u, v direction of principal axis 10 partitioning parameters spaces, level 2 be 20 cut apart etc. with level with cut apart the form that number is mapped.In addition, use the explanation that divides above-mentioned recursion (de Casteljau) algorithm of algorithm to segment again to cut Bezier as representative as mentioned above.
Use again the example of the patch before the point-score shown in Figure 33 (a), Figure 33 (b) and (c) the situation example that point-score is again used level 1, level 2 to patch is shown respectively.Among Figure 33 (b), form 4 sub-patches, in Figure 33 (c), form 16 sub-patches.
Figure 34 is that the processing flow chart of grade determination portion 2903 is cut in the expression segmentation.Below, describe each step in detail with reference to Figure 34.
Contour edge forms patch owing to form object outline when describing, so compare with patch in addition, expectation is cut apart carefully.But, because contour edge forms the tape symbol area of patch the tendency that diminishes is arranged, so, then might can not cut apart carefully if come definite segmentation to cut level according to the area size.Therefore, in this example 5, grade (fixed value) cut in the segmentation of using the maximal value of the tape symbol area that contour edge test section 2902 calculates to determine that contour edge forms patch.By using the maximal value of tape symbol area, can realize segmenting cutting and require to carry out reducing under the situation of very little demonstration segmentation away from viewpoint and cut the requirement of level and all set up with object.
Particularly, at first, the form 3501 that grade determination portion 2903 is prepared the corresponding relation that segmentation that maximal value that Figure 35 (a) record and narrate the tape symbol area of storing among the 2903a of form stores portion like that and contour edge form patch cuts grade is cut in segmentation, the maximal value of this form 3501 and the contour edge test section 2902 tape symbol area of calculating relatively determines that the segmentation that contour edge forms patch cuts level (S3401).In addition, in Figure 35 (a), MAi (i=0 ..., 4) be the peaked threshold value of tape symbol area.
Then, segmentation is cut grade determination portion 2903 at first with reference to the edge identifier, and each patch that constitutes object is judged whether this patch is that contour edge forms patch (S3403).Being (S3403 is for being) under 1 the situation in the edge identifier, then is that contour edge forms patch, cuts level (S3404) so determine segmentation at once.
On the other hand, segmentation is cut grade determination portion 2903 and is 0 in the edge identifier, is not to form under the situation of patch of contour edge (S3403 for not), determines to segment with reference to the positive tape symbol area of this patch and cuts level.Reason is under the big situation of negative tape symbol area, this patch inwards, promptly very big from the zone that viewpoint can not be seen, there is no need to cut apart.Particularly, form 3502 shown in Figure 35 (b) is recorded among the 2903a of form stores portion, by with reference to this form 3502, determines that segmentation cuts level (S3405).In addition, in the form 3502 of Figure 35 (b), Ai (i=0 ..., 4) be the peaked threshold value of tape symbol area.Continue above-mentioned processing, up to all patches being finished above-mentioned processing (S3402).
In addition, in this example 5, the segmentation that contour edge forms patch is cut level and is decided into fixed value according to the maximal value of tape symbol area, but the same with in addition patch, prepares Figure 35 forms 3502 such as (b), determines according to the tape symbol area.At this moment, expectation forms charting that patch uses in storage part 2903a with contour edge except that the form that is used for common patch.In addition, expectation must be low with the threshold setting of tape symbol area.In addition, as mentioned above, the essential problem of noticing that the tape symbol area might be very little.
Thin cutting part 2904 cuts the 2903 definite segmentations of grade determination portion according to segmentation and cuts level, cuts each patch with dividing algorithm to segment again.Afterwards, if the level difference is cut in segmentation between the adjacency patch, then owing to produce the gap between patch, so thin cutting part 2904 also compensates the processing in this gap, but this method does not limit especially.
In addition, newly-generated polygonal method in the gap that produces is for example arranged.Object instance before segmentation is cut shown in Figure 36 (a) is implemented the object instance after segmentation is cut shown in Figure 36 (b).In the example of Figure 36 (b), the contour edge of formation object profile forms patch and is split to level 2, and other patch is split to level 0 or level 1 corresponding to the area on screen.Therefore, whether be contour edge by detecting, can more accurately describe the surface chart picture.
As mentioned above,, be present in 4 summits on the patch in the reference mark of the patch of perspective transform formation object, calculate the tape symbol area of the figure that constitutes by the summit after the conversion according to the curved surface image processing apparatus 100 of this example 5.Then, with reference to the symbol of the tape symbol area of calculating, judge by contour edge test section 2902 whether each patch is the patch that forms contour edge.Afterwards, according to result and the tape symbol area judged, cut the segmentation of grade determination portion 2903 definite each patch by segmentation and cut level.
By above processing, can be corresponding to the area of the patch on the screen, suitably level is cut in the control segmentation, simultaneously, generates the level and smooth object in marginal portion.In addition, because only carry out once segmentation before cutting processing and cut determining of level implementing segmentation, so calculate flatness when cutting with each segmentation and the prior art that determines whether to cut apart is compared, calculated amount is few.In addition, by also using the tape symbol area in the judgement that forms patch at contour edge, calculated load can be suppressed to Min..
In addition, the curved surface image processing apparatus 100 of this example 5 only use the reference mark be present on the patch carry out polygonal approximation and situation about describing under effective especially.
(example 6)
Below, with reference to accompanying drawing curved surface image processing apparatus 100 according to this example 5 is described.In addition, the functional structure of the curved surface image processing apparatus 100 in this example 6 is the same with above-mentioned example 5, but the processing difference of grade determination portion 2903 is cut in contour edge test section 2902 and segmentation.Below, describe each function in detail.
In addition, the curved surface image processing apparatus 100 of this example 6 all reference mark of the shape of using the definition patch carry out polygonal approximation and situation about describing under effective especially.In addition, shape input acceptance division 2901 is the same with example 5, view information that reception comprises visual field transformation matrix and perspective transformation matrix and the input that comprises about the object shapes information of the information of object shapes and adjacent patch information.
Figure 37 is that expression is according to the processing flow chart in the contour edge test section 2902 of this example 6.
At first, the example 6 that is present in the reference mark on the patch with perspective transform only is different, and all reference mark of perspective transform (being 16 summits under the situation of the reasonable bezier surface in 4 rank (3 times)) (S3702) transforms on the 2 dimension screens.Here, if link the reference mark of adjacency, then on 2 dimension screens shown in Figure 30, generate 3 * 3=9 figure.After, the figure that generates is called the control polygon.
Then, to each curved surface patch, calculate all that guarantee that each storage area generates by the method the same and control polygonal tape symbol area, can distinguish the positive negative value (S3703) of tape symbol area with example 5.In addition, under the value of calculating is positive situation, be added on the value of storage area of the positive area of storage, under negative situation, be added on the value of storage area of the negative area of storage.If 9 control polygons are finished processing, then move to S3704.
The shape of patch is defined by the reference mark, owing to have convex closure in the Bezier patch, by using the control polygon, can judge whether this patch is that contour edge forms patch.For example, among Figure 38 (a), all control polygons are outside, among Figure 38 (b), all inwards, are not that contour edge forms patch so can be judged as.On the other hand, Figure 38 (c) (d) in because outside control polygon mixes existence with inwards control polygon, be contour edge formation patch so can be judged as.
If the tape symbol area of contour edge test section 2902 is calculated the value that only comprises one of plus or minus in the polygonal tape symbol area of control that the 2902b of portion calculates, then not that contour edge forms patch, if comprise positive and negative both sides' value on the contrary, can judge that then this patch is that contour edge forms patch.
Whether therefore, contour edge test section 2902 is obtained the value of the positive and negative tape symbol area of addition from above-mentioned storage area, calculate product, be 0 judgement (S3704).If product is not 0 (S3704 is for denying), being judged as is that contour edge forms patch (S3705), and the edge identifier is made as 1.
In addition, if the product of the positive and negative tape symbol area after the addition is 0, IS3704 is for being), then contour edge test section 2902 is judged as and is not that contour edge forms patch (S3706).All patches are used above handle (S3701), by finishing the processing of all patches, end process.
Figure 39 is that expression is cut the processing flow chart of grade determination portion 2903 according to the segmentation of this example 6.
At first, segmentation is cut grade determination portion 2903 with reference to the edge identifier that contour edge test section 2902 provides, and whether investigate this patch is that contour edge forms patch (S3902).In example 5, it is constant that level is cut in the segmentation that contour edge forms patch, but in this example 6, determine with reference to the tape symbol area.At this moment, in order to relax the problem that above-mentioned tape symbol area diminishes, with the absolute value of positive and negative tape symbol area with as index.
Then, segmentation is cut grade determination portion 2903 and is kept shown in Figure 40 contour edge is formed tape symbol area that patch uses cut a grade corresponding form 4000 with segmenting in the 2903a of form stores portion, with reference to this form 4000, to compare with the tape symbol area of this patch, level (S3903) is cut in definite segmentation.In addition, though undeclared here, the same with example 5, with reference to the maximum tape symbol area of the patch that constitutes object, determine that segmentation that contour edge forms patch cuts level and also can.In addition, segmentation is cut the form 4000 that grade determination portion 2903 also can not prepare Figure 40 and is prepared the same with patch beyond contour edge forms patch positive tape symbol area to be cut a grade corresponding form with segmentation, and definite the segmentation cut level.In addition, under the situation that is not contour edge (S3902 for not), it is 0 patch for the edge identifier that grade determination portion 2903 is cut in segmentation, the same with example 5, with reference to common form, determines that segmentation cuts grade (S3904).
Sometimes expect the axial segmentation of u, v cut the level can independently set, if, then needn't cut apart so carefully along the turning axle direction so that for example be the such object of cylinder.But, in previously described algorithm, u, v direction of principal axis are set identical segmentation cut level.Therefore, below, illustrate and use the polygonal tape symbol area of control of calculating to come definite respectively axial segmentation of u, v to cut level.
Contour edge test section 2902 is the same with said method, and all reference mark of perspective transform definition patch shape generate the control polygon, calculate and respectively control polygonal tape symbol area.Corresponding symbol is added to the polygonal tape symbol area of the control of calculating on the storage area.Afterwards, judge whether it is contour edge according to the polygonal value of handling the storage area of the finish time of all controls.And, in the present invention, not only with the tape symbol area and but also each value of controlling polygonal tape symbol area remained on respectively in the storage area (not shown).In 4 rank (3 times) Bezier patches (with reference to Figure 30), in 9 storage areas, keep respectively controlling polygonal tape symbol area.These values are delivered to segmentation cut grade determination portion 2903.
Figure 41 is that the processing flow chart in grade determination portion 2903 is cut in the segmentation of expression this method.
At first, contour edge test section 2902 is with reference to the edge identifier, and whether investigate each patch is that contour edge forms patch (S4102).Be that contour edge forms under the situation of patch (S4102 is for being), according to the absolute value of positive and negative tape symbol area and, with reference to the contour edge form, determine that grade (S4103) cut in the segmentation of uv axis of orientation.Therefore, form patch for contour edge, u, v direction of principal axis become identical segmentation and cut level.Wherein, also can form patch to contour edge and use the aftermentioned method, level is cut in independent definite segmentation on u, v direction of principal axis.At this moment, should be noted that and partly to become unsmooth by contour edge.
Illustrate that with reference to Figure 42 the edge identifier is the processing of 0 o'clock contour edge test section 2903.The curved surface that Figure 42 (a)-(d) expression control polygon assembles respectively.The polygonal shape of arbitrary control of Figure 42 (a) is all similar, and area is also equal substantially.Therefore, think that this patch is at u direction of principal axis, so not crooked at the v direction of principal axis.
On the other hand, as can be known in Figure 42 (b), reference mark Q 10, Q 11, Q 13, Q 20, Q 21, Q 22, Q 23Deflection reference mark Q 30, Q 31, Q 32, Q 33One side is in the bending of u direction of principal axis.The patch of this expression Figure 42 (b) must segment along the u direction of principal axis and cut.
Simultaneously, in Figure 42 (c), must segment along the v direction of principal axis and cut as can be known, in Figure 42 (d), must segment and cut along u, v direction of principal axis.Utilize these character, in the method, the polygonal area ratio of control that will be present on each direction of principal axis of u, v is used as the index of representing the patch degree of crook, determines to segment and cuts level.The back will represent that the index of degree of crook is called bending parameters.
At first, whether the polygonal tape symbol area of control that grade determination portion 2903 investigation formation patches are cut in segmentation is negative (S4104) entirely, if negative (S4104 is for being) then cut the segmentation of this patch level and be defined as 0 (S4105), moves to the processing of next patch.
In addition, segmentation is cut grade determination portion 2903 and is investigated whether the polygonal tape symbol area of control that constitutes patches is negative entirely, not being (S4104 is for denying) under the situation about bearing, then calculates the polygonal area of the control that is present on the u direction of principal axis than (S4106).Particularly according to following steps.
(1) obtains by reference mark Q J0And Q J1(j=0 ..., 3) values of 3 polygonal tape symbol areas of control forming.
(2) value as if the tape symbol area that (1) is obtained is made as A 0, A 1, A 2, then obtain wherein maximal value AMAX and minimum value AMIN.
(3) calculate following formula, obtain bending parameters Cu0.
C u0=AMAX/AMIN
(4) use by Q J1, Q J2(j=0 ..., 3) the control polygon that forms and by Q J2, Q J3(j=0 ..., 3) the control polygon that forms, handle equally, calculate Cu1, Cu2 respectively.
(5) value of average (3) and (4) is calculated segmentation and is cut the bending parameters Cu that level is used in determining.
C u=(C u0+C u1+C u2)/3
In addition, use all control polygons to obtain the area ratio here, it on average is made as bending parameters, but is not limited thereto.For example, also can only use the control polygon adjacent to calculate bending parameters, obtain that it is average with boundary line v=0, v=1.On the contrary, also can only use the boundary line parallel with the u axle not the control polygon of adjacency calculate.
In addition, the segmentation cut grade determination portion 2903 according to the bending parameters of calculating among the S4106, determine the axial segmentation of u cut the level (S4107).At this moment, segmentation is cut grade determination portion 2903 and is kept shown in Figure 43 in the 2903a of form stores portion a grade corresponding form 4301 is cut in bending parameters C and segmentation, by comparing with the value of calculating, can determine to segment and cut level.In addition, in Figure 43, Ci (i=0 ..., 4) be the threshold value of bending parameters.
Afterwards, segmentation is cut 2903 pairs of grade determination portions and is carried out the processing the same with S4106 and S4107 (S4108 and S4109) along 3 control polygons of v direction of principal axis adjacency.Afterwards, determine that the axial segmentation of v cuts level.Continue above-mentioned processing, up to all patches having been carried out above-mentioned processing (S4101).By using the method for above explanation, can independent respectively definite axial segmentation of u, v cut level according to curved surface image processing apparatus 100 of the present invention.
In addition, thin cutting part 2904 cuts level according to cut the 2903 definite segmentations of grade determination portion by segmentation, and each patch is cut in segmentation.Afterwards, producing under the situation in gap between the patch, also compensating the processing in gap.
Like this,, constitute all reference mark of each patch, be transformed to screen coordinate system, calculate all that form thus and control polygonal tape symbol area by perspective transform according to the curved surface image processing apparatus 100 of this example 6.Contour edge test section 2902 judges whether it is that contour edge forms patch according to the tape symbol area of calculating, corresponding judged result and tape symbol area, and segmentation is cut the 2903 definite segmentations of grade determination portion and is cut level.
Therefore, even if use all reference mark of definition patch shape to carry out the method for polygonal approximation, also can when suppressing the increase of polygon quantity, generate the level and smooth object in marginal portion.In addition, only carry out once segmentation before cutting and cut the processing of grade determination portion 2903 and get final product implementing segmentation, compared with prior art, calculated amount is few.And, just can judge that by only appending a bit to handle contour edge forms patch, sees it is very effective from the calculated load aspect.
(example 7)
Below, with reference to accompanying drawing curved surface image processing apparatus 100 according to this example 7 is described.Figure 44 is the figure of structure one example of this example of expression 7 mean camber image processing apparatus.In addition, the unit that the curved surface image processing apparatus 100 of this example 7 illustrates in example 5, it is characterized in that also being equipped with maximum segmentation and cut grade determination portion 4401.
In addition, cut grade determination portion 4401,, also do not cut apart and to segment the patch that cuts, can further suppress polygon figurate number even if the area on the screen is big by being equipped with maximum segmentation.Describe each function below in detail, but additional same sequence number same as in figure 1 is omitted explanation.In addition, in this example 7, illustrate and only use the summit that is present in the reference mark that defines the patch shape that constitutes object on the patch to carry out the situation of polygonal approximation, but under the situation of using all reference mark to be similar to, also can use equally.Among Figure 44, the processing of shape input acceptance division 2901 and contour edge test section 2902 is the same with example 5, the tape symbol area of each patch is sent to segment with the judged result that whether is contour edge formation patch cut grade determination portion 2903.
For example, even if the area on the screen is very big, if but smooth patch then needn't segment and cut.Therefore, maximum segmentation is cut grade determination portion 4401 and is obtained object shapes information, and each patch that constitutes object is calculated the index of representing which kind of degree of curvature, and level is cut in definite maximum segmentation.After, the index of representing which kind of degree of curvature is called curvature parameters.
The following describes maximum segmentation and cut two kinds of methods that grade determination portion 4401 is determined this curvature parameters.It is the rough approximation of patch shape that arbitrary index is all utilized the polyhedron by the reference mark expansion.In addition, because following processing is to implement in the spherical coordinate system, so needn't carry out visual field conversion or perspective transform.
Method 1 is with reference to Figure 45 (a), is that maximum segmentation is cut grade determination portion 4401 and calculated by the method for the plane that is present in the reference mark expansion on the patch with the distance between the reference mark in addition and definite curvature parameters.Particularly according to following steps.
(1) obtains by reference mark Q 00, Q 30, Q 03The equation α 0 on the plane of expansion.
(2) common, obtain some P (x on plane α: a*x+b*y+c*z+d=0 and 3 dimension spaces by following formula 0, y 0, z 0) between distance L.Here, * is for taking advantage of.
Formula 14
L = | ax 0 + by 0 + cz 0 + d | a 2 + b 2 + c 2 - - - ( 14 )
Use following formula, calculate the plane α 0 and reference mark Q that obtain in (1) 01, Q 02, Q 10, Q 11, Q 12, Q 20, Q 21Between apart from I 01, I 02, I 10, I 11, I 12, I 20, I 21
(3) obtain by reference mark Q 01Q30, Q 01Q33, Q 01The equation α 1 on the plane of Q03 expansion.
(4) calculate the plane α 1 and reference mark Q that obtain in (3) 12, Q 13, Q 21, Q 22, Q 23, Q 31, Q 32Between apart from I12 ', I13 ', I21 ', I22 ', I23 ', I31 ', I32 '.
(5) calculate binding reference mark Q respectively 03With Q 30And Q 00With Q 33Catercorner length d0, d1.
(6) separate following formula, calculate curvature parameters C.
I 0=I 01+I 02+I 10+I 11+I 12+I 20+I 21
I 1=I 12′+I 13′+I 21′+I 22′+I 23′+I 31′+I 32
C=(I 0+I 1)/(d 0+d 1)
In addition,, will be divided into two groups corresponding to the reference mark that distance is calculated on the plane of expansion, but this method does not limit especially here.For example, also can obtain and in the plane the distance at all reference mark not, determine curvature parameters each plane.On the contrary, but also only use representative point (for example in the reference mark, be positioned at central authorities Q 11, Q 12, Q 21, Q 22) method.
In method 2, with reference to Figure 45 (b), maximum segmentation cut line segment length that grade determination portion 4401 calculates the end points that links the reference mark and the distance between the adjacent reference mark with, determine curvature parameters.Particularly according to following steps.
(1) calculates binding reference mark Q 0iWith Q 3iLine segment length di.
(2) calculate binding along the adjacent reference mark Q of u direction JiWith Q (j+1 (iLine segment length I Ij(j=0 ..., 2).
(3) separate following formula, calculate C i
C i=(I i0+I i1+I i2)/d i
(4) C is obtained in the processing of repetition (1)-(3) 0, C 1, C 2, C 3
(5) calculate binding reference mark Q 0iWith Q 3iLine segment length di '.
(6) calculate binding along the adjacent reference mark Q of v direction IjWith Q I (j+1)Line segment length I Ij '(j=0 ..., 2).
(7) separate following formula, calculate C I '
C i′=(I i0′+I i1′+I i2′)/d i
(8) C is obtained in the processing of repetition (5)-(7) 0 ', C 1 ', C 2 ', C 3 '
(9) according to the value of obtaining in (4) and (8), calculate on average, be made as curvature parameters.
C=(C 0+C 1+C 2+C 3+C 0′+C 1′+C 2′+C 3′)/8
In addition, here, all line segments that use the reference mark to form handled, determined curvature parameters, but this method do not limit especially, for example also can be only on the boundary line (u=0, u=1, v=0, v=1) handle and determine.
Then, the maximum segmentation is cut grade determination portion 4401 and is prepared expression curvature parameters shown in Figure 46 and the maximum form 4601 that segments the corresponding relation that cuts level, compares with the C that calculates, and determines that level is cut in the maximum segmentation of its patch.In addition, among Figure 46, ε i (i=0 ..., 4) be the threshold value of curvature parameters.All patches are carried out above-mentioned processing.Level is cut in the segmentation of the maximum calculated to send to segmentation and cuts grade determination portion 2903.
Tape symbol area and the edge identifier that grade determination portion 2903 is used each patch that contour edge test sections 2902 calculate cut in segmentation, determines that segmentation cuts level, but this moment, considers that also maximum segmentation cuts maximums that grade determination portion 4401 determines and segment and cut level.Therefore, prepare the form 4701 of Figure 47 of revisal Figure 35 (b), level is cut in the maximum segmentation that correspondence is cut 4401 transmissions of grade determination portion from the maximum segmentation, upgrades and segments the hurdle that cuts level.In addition, segmentation is cut grade determination portion 4401 and is used form after upgrading, determines to segment by the step the same with example 5 and cuts level.
In addition, in Figure 47, MAXL can cut the maximum segmentation that grade determination portion 4401 sends from maximum segmentation to cut level, and the value that CLIP (x) is illustrated in (x) is greater than being this value under 0 the situation, is 0 at (x) under less than 0 situation.
Thin cutting part 2904 cuts the 2903 definite segmentations of grade determination portion corresponding to segmentation and cuts level, and each patch is cut in segmentation, compensates the processing in gap.
Like this, according to the curved surface image processing apparatus 100 of this example 7, maximum segmentation is cut the maximum segmentation of grade determination portion 4401 in advance definite each patch and is cut level.Thus, for example for example can avoid unlimited and cut apart near smooth the unnecessary of cutting of patch of needn't segmenting, can more effective generation polygon, the shape of approximate object.In addition, the processing that grade determination portion 4401 is cut in maximum segmentation was only carried out once getting final product in the moment of input object shape information, can minimal calculated load realize.
(example 8)
Below, with reference to accompanying drawing curved surface image processing apparatus 100 according to this example 8 is described.
Figure 48 is the figure of structure one example of this example of expression 8 mean camber image processing apparatus.The handling part that the curved surface patch cutting treatmenting part 105 of the curved surface image processing apparatus 100 of Figure 48 illustrates, it is characterized in that being equipped with initial thin cutting part 4801 in example 5.Be somebody's turn to do initial thin cutting part 4801 by being equipped with, before determining that level is cut in segmentation, patch unit that can be little determines to segment cuts level, can carry out the polygonal approximation of object more flexibly.Below, describe each function in detail, but additional same sequence number same as in figure 1 is omitted explanation.
Shape input acceptance division 2901 receives the input of view information and object shapes information.The data that obtain are sent to initial thin cutting part 4801.
Under situation that object is made of a plurality of patches or situation about only constituting by very large patch, cut level if set segmentation therein, then on the whole only coarse segmentation or excessively the segmentation possibility of cutting improve, be difficult to carry out flexible level control.Therefore, the prior segmentation of implementing several grades before level is cut in definite segmentation of initial thin cutting part 4801 is cut.Level is cut in the definite segmentation of each patch that segmentation is cut after grade determination portion 2903 logarithm levels are cut apart.Initial thin cutting part 4801 is determined to segment the method for cutting progression and is not limited especially.Both can determine progression in advance, also can determine corresponding to the patch number that constitutes object.Perhaps, perspective transform constitutes the initial patch of object, calculates the tape symbol area, is determined to segment by minimum value and cuts level.
In addition, the segmentation segmentation method of initial thin cutting part 4801 both can use and inlay algorithm only using the point that is positioned on the patch in the reference mark of each patch shape of definition to come object is carried out under the situation of polygonal approximation, also can use and divide algorithm again.Under the situation of using all reference mark,, must use the divisional processing again of above-mentioned recursion (deCasteljau) algorithm because must segment the reference mark of the patch after cutting.
Cut level according to the segmentation of determining by above method, only segment and cut all patches that constitute object with same stages.Patch data after segmentation cut send to contour edge test section 2902.
All patches that contour edge test section 2902, segmentation are cut after grade determination portion 2903,2904 pairs of initial thin cutting parts 4801 segmentations of thin cutting part are cut are handled, and generate the object behind the polygonal approximation.In addition, the curved surface image processing apparatus 100 in this example 8 also can possess maximum segmentation and cuts grade determination portion 4401.
Like this, according to the curved surface image processing apparatus 100 of this example 8, initial thin cutting part 4801 carried out several grades of segmentations to each patch that constitutes object and cuts before level is cut in definite segmentation.Afterwards, for the patch that cuts generation by segmentation, use contour edge test section 2902 or segmentation to cut the 2903 definite segmentations of grade determination portion and cut level.Therefore, even if object that is made of considerably less patch number or the object that only is made of very large patch also can flexiblely be set segmentation and cut level, when suppressing polygon figurate number and increasing, can generate the level and smooth object in marginal portion.
(example 9)
Below, with example 9 processing according to the method line computation at each reference mark of the reasonable bezier surface in the normal calculating part 106 of curved surface image processing apparatus 100 of the present invention is described.In addition, the latitude of definite bezier surface, brightness etc. in this method line computation.
Figure 50 is the functional block diagram of expression according to the structure of the normal calculating part 106 of this example 9.
Normal calculating part 106 possesses the control vertex input part 5001 of each control vertex coordinate of the bezier surface of input after being transformed to the Bezier data by data conversion portion 105, the normal of calculating the normal vector of each control vertex and calculates portion 5002, and the reference mark efferent 5003 that perspective transform portion 107 carried out reference mark output.
In addition, whether normal is calculated possesses judging part 5002a in the portion 5002, judge whether the reference mark shrinks back, be to become the reference mark that normal vector is calculated object.
Figure 51 is the block diagram of another structure of expression curved surface image processing apparatus 100, possesses the storer 5103 of the control point information of actual CPU5101, the I/O5102 that carries out the computing of normal vector, storage bezier surface.In addition, storer 5103 keeps the 5103a of form stores portion of form data shown in storage Figure 55.
Figure 52 is the treatment step of portion 5002 is calculated in expression according to the normal of this example 9 a process flow diagram.
At first, control vertex input part 5001 constitute bezier surfaces from curved surface patch cutting treatmenting part 105 input reference mark Pij (0≤i, j≤3) (S5201).The information at reference mark is recorded in the storer 5103 by I/O5102.In addition, the information at this reference mark is also harmless from the keyboard input as mentioned above, and is also passable by the portion's of the reading in input that is recorded in the data on the recording medium.
Figure 55 (a) and (b) example of the tabulation 5502 of tabulation 5501, record reference mark and the normal of the reference mark of storage and apex coordinate in the expression record storer 5103.In addition, the patch input that the reference mark of putting down in writing in the tabulation both can bezier surface also can be imported by a plurality of patches.And it is also harmless to import a plurality of bezier surfaces.
Normal is calculated portion 5002 and is calculated from the normal vector at the reference mark of control vertex input part 5001 input, but initial judging part 5002a is to the reference mark P00 of input judge whether to shrink back reference mark for adjacent.That is, judge P00 and P01 or P00 and P10 whether consistent (S5202).
All do not shrink back at arbitrary reference mark and under the inconsistent situation (S5202 for not), normal is calculated portion 5002 and is calculated differential vector between adjacent reference mark.That is, calculate differential vector (P10-P00) and differential vector (P01-P00) (S5203).
Then, normal is calculated the apposition (P10-P00) * (P01-P00) (S5205) that differential vector is calculated by portion 5002, after the normalization, calculates the normal (S5205) of reference mark P00.In (formula 15) shown below, normal is shown calculates the formula that normal is calculated by portion 5002.Like this, the normal of the calculating normal vector as each reference mark is stored in the storer 5103.
Formula 15
( P 10 - P 00 ) &times; ( P 01 - P 00 ) | ( P 10 - P 00 ) &times; ( P 01 - P 00 ) | - - - ( 15 )
Afterwards, normal is calculated the normal (S5206) whether portion's 5002 affirmations calculate the summit at 4 angles of bezier surface, under the situation of the normal of not calculating all summits (S5206 is not), repeat the later processing of S5202 once more, calculate under the situation of normal on summit that portion 5002 calculates 4 angles (S5206 is for being) at normal, finish a series of processing.
Among Figure 53, normal is shown calculates the do not shrink back example of apposition 5303 (P10-P00) * (P01-P00) of differential vector 5301 (P10-P00) under the situation, differential vector 5302 (P01-P00), differential vector of the reference mark of the reference mark adjacency of object.
On the other hand, normal calculate portion 5002 shrink back with one of P01, P00 and P01 or both sides as the P00 at reference mark and consistent situation under, use near reference mark to calculate normal (S5206 is for being).Under the situation of shrinking back at adjacent like this reference mark, illustrate with Figure 54 (a) and (b), (c).
In addition, the judging part 5002a that calculates portion 5002 according to the normal of this example 9 judges, under, P00 consistent with P01 at P00 and the inconsistent situation of P10, calculates differential vector (P10-P00) and differential vector (P11-P00).And, judge, if P11 is consistent with P00, then behind the sequential search of pressing P12, P13, P21, P22, P23, P31, P32, P33 and the inconsistent point of P00, calculate the differential vector between search point and the P00.
Figure 54 is the reference diagram that explanation and normal are calculated the situation of shrinking back at the adjacent reference mark of the reference mark P00 of object.
Among Figure 54 (a), the example of P00 and the consistent situation of P01 is shown.Differential vector 5401 is (P10-P00), and differential vector 5402 is (P11-P00), and normal vector 5403 is appositions (P10-P00) * (P11-P00) of these vectors.
Among Figure 54 (b), illustrate when P00 is consistent with P01, calculate the example of the normal vector of P00 with other differential vector.Two differential vector angulations that become the normal calculating object than the little situation of predetermined angular or the reference mark P00 that calculates object as normal vector with become differential vector and calculate the distance at reference mark of object than under the short situation of predetermined distance, in order correctly to calculate normal vector, also consider shown in Figure 54 (b), use differential vector 5404 and differential vector 5405, calculate normal vector 5406.
Or shown in Figure 54 (c), normal is calculated portion 5002 makes P00 and P01 inconsistent, under the P00 situation consistent with P10, calculate differential vector 5408 (P01-P00) and differential vector 5407 (P11-P00), normal vector 5409 becomes the apposition (P11-P00) * (P11-P00) of these vectors.In addition, if P11 is consistent with P00, then as before, judging part 5002a judges, press the sequential search and the inconsistent point of P00 of P21, P31, P12, P22, P32, P13, P23, P33 after, calculate search for put and P00 between differential vector.
In addition, judging part 5002a is judged as under the situation of P00, P01, P10 unanimity, calculates differential vector (P20-P00) and differential vector (P02-P00) by P02 and P00, P20 and P00.And, under the P02 situation consistent, search for by the order of P03, P21, P31, P32, P33 with P00.Under the P20 situation consistent, press the sequential search of P30, P12, P13, P23, P33 with P00.Afterwards, after searching inconsistent point, judge, calculate the differential vector between search point and the P00.
In addition, at whole reference mark on the curve or move back under the situation on the point, because different bezier surface, so even deletion is also harmless from rendered object.
Efferent 5003 inputs in reference mark are by the information of the normal of normal calculating part 106 calculating.Perhaps, be kept in the storer 203.Figure 55 (b) expression is kept at the storage example of the normal data in the storer 203.In addition, Figure 55 (a) and (b) in, the apex coordinate of managing the reference mark independently and the state of normal are shown, but much less, but also unified management.
In addition, the data at the reference mark that will calculate according to the normal calculating part 106 of this example 9 be used for perspective transform portion 107 and draw handling part 108 3 d image describe handle.
As mentioned above, even under the situation of shrinking back at the adjacent reference mark that becomes the normal calculating object according to the normal calculating part 106 of this example 9, normal is calculated portion 5002 also can correctly calculate the normal vector at the reference mark of bezier surface effectively.In addition, only using the reference mark that is positioned on the bezier surface to carry out to carry out method line computation under the situation of describing to handle of 3 d image about the reference mark of curved surface inside.
Utilizability on the industry
Curved surface image processing apparatus according to the present invention can be used as in 3 dimension computer graphics fields In, describe the song of 3 dimensional objects with free form surfaces such as nurbs surface or bezier surfaces The face image processing apparatus, for example, applicable to the portable terminal device that in picture, shows 3 dimensional objects, Automobile navigation apparatus, carry in the entertainment devices such as game machine, TV.

Claims (29)

1, a kind of curved surface image processing apparatus uses the NURBS data as the shape data of 3 dimensional objects, describes described 3 dimensional objects on picture, it is characterized in that: possess
The data conversion unit will carry out parameter transformation by the described NURBS data that nurbs curve and nurbs surface form, and be transformed to the reasonable Bezier reference mark data that form reasonable Bezier and reasonable bezier surface;
The curved surface cutting unit, the reasonable bezier surface patch segmentation that the described reasonable Bezier reference mark data of this data conversion unit conversion are constituted is slit into a plurality of curved surface patches; With
Delineation unit is described described 3 dimensional objects with described curved surface patch;
Described NURBS data are made of control point range and knot vector,
Described data conversion unit possesses the node insertion section, uses the node insertion algorithm, carries out described knot vector is inserted the computing of described control point range; With
Useless reference mark in the reference mark that comprises, is deleted in the adjustment part, reference mark from the control point range that the computing of this node insertion section generates;
Described node insertion section reaches in the process of final control point range at start node vector that comprises from described NURBS data and initial control point rank transformation for the finish node vector of representing described reasonable Bezier reference mark data, search for the index of the node on the ad-hoc location that is positioned at described finish node vector
Adjustment part, the described reference mark described index that searches, the specific reference mark of deleting described finish node vector.
2, curved surface image processing apparatus according to claim 1 is characterized in that:
When the number of times of described NURBS data is 3, described final reference mark classify as with I be integer (Q[0], Q[1] ..., Q[I-1]), described finish node vector be (u[0], u[1] ..., u[I+3]), about beginning to describe the node u[3 of described NURBS data], (u[j] ..., u[3] ..., u[k]) (k-j+1) individual nodal value and u[3] equate and when coming multiplexingization more than 3 with reusing degree, adjustment part, described reference mark delete in the described final control point range (Q[0], Q[1] ..., Q[k-4]) (k-3) individual reference mark.
3, curved surface image processing apparatus according to claim 1 is characterized in that:
When the number of times of described NURBS data is 3, described final reference mark classify as with I be integer (Q[0] ..., Q[I-2], Q[I-1]), described finish node vector be (u[0] ..., u[I+2], u[I+3]), about the node u[I that describes to finish of described NURBS data], (u[j] ..., u[I] ..., u[k]) (k-j+1) individual nodal value and u[I] equate and when coming multiplexingization more than 3 with reusing degree, adjustment part, described reference mark delete in the described final control point range (Q[j] ..., Q[I-2], Q[I-1]) (I-j) individual reference mark.
4, a kind of curved surface image processing apparatus uses the NURBS data as the shape data of 3 dimensional objects, describes described 3 dimensional objects on picture, it is characterized in that: possess
The data conversion unit will carry out parameter transformation by the described NURBS data that nurbs curve and nurbs surface form, and be transformed to the reasonable Bezier reference mark data that form reasonable Bezier and reasonable bezier surface;
The curved surface cutting unit, the reasonable bezier surface patch segmentation that the described reasonable Bezier reference mark data of this data conversion unit conversion are constituted is slit into a plurality of curved surface patches; With
Delineation unit is described described 3 dimensional objects with described curved surface patch;
Described curved surface cutting unit also is equipped with: area is calculated portion, with the described reasonable Bezier reference mark data that define each the curved surface patch shape that constitutes described object, calculates the tape symbol area of the 2 dimension figures that constitute by perspective transform; With
Test section according to the value of described tape symbol area, detects described curved surface patch and whether is the curved surface patch that forms as the contour edge of described object outline portion.
5, curved surface image processing apparatus according to claim 4 is characterized in that:
Described curved surface cutting unit also possesses segmentation and cuts a grade determination portion, whether corresponding described test section detects is to form the result of curved surface patch of described contour edge and the value of the described tape symbol area of described curved surface patch on screen that the described area portion of calculating calculates, and determines that level is cut in the segmentation of described curved surface patch.
6, curved surface image processing apparatus according to claim 4 is characterized in that:
The described area portion of calculating calculates in the data of described reasonable Bezier reference mark, be present in the tape symbol area of the 2 dimension figures that the reasonable Bezier reference mark on the patch constituted by perspective transform,
Whether described test section uses this tape symbol area to detect is the curved surface patch that forms contour edge.
7, curved surface image processing apparatus according to claim 4 is characterized in that:
The sign symbol of the described tape symbol area of the described 2 dimension figures that described test section is also relatively calculated the first surface patch and to the sign symbol of the described tape symbol area of the described 2 dimension figures of calculating in abutting connection with the curved surface patch of described first surface patch, if distinct symbols, then detecting to this curved surface patch is the curved surface patch of formation contour edge.
8, curved surface image processing apparatus according to claim 5 is characterized in that:
The maximal value that grade determination portion is also determined the tape symbol area that the described area portion of calculating calculates is cut in described segmentation, and decides the described segmentation of the curved surface patch that forms described contour edge to cut level according to the maximal value of the described tape symbol area of determining.
9, curved surface image processing apparatus according to claim 4 is characterized in that:
The tape symbol area that described test section will be calculated by the described area portion of calculating, the 2 dimension figures that perspective transform constitutes are carried out at all reference mark of each the curved surface patch shape by definition being constituted described object is as judging whether it is the index that forms the curved surface patch of contour edge.
10, curved surface image processing apparatus according to claim 4 is characterized in that:
The summation of the area of distinguishing by its sign symbol also after calculating the tape symbol area that carries out each 2 dimension figure that perspective transform constitutes by all reference mark that definition constituted each curved surface patch shape of object, is calculated again by the described area portion of calculating,
Described test section detects the curved surface patch that for be not form contour edge if the some of summation of the described area of distinguishing by sign symbol of calculating in the described area portion of calculating is at 0 o'clock.
11, curved surface image processing apparatus according to claim 5 is characterized in that:
The tape symbol area that carries out each 2 dimension figure that perspective transform constitutes by all reference mark that definition constituted each curved surface patch shape of object is also calculated by the described area portion of calculating,
The absolute value sum of described tape symbol area value of 2 dimension figures of the described curved surface patch that grade determination portion calculates according to the described area portion of calculating is cut in described segmentation, determines to form the described segmentation of the curved surface patch of described contour edge and cuts level.
12, curved surface image processing apparatus according to claim 5 is characterized in that:
The 1st and the 2nd of grade determination portion constitutes object to definition each curved surface patch cut in described segmentation, independent respectively determine to segment cut level.
13, curved surface image processing apparatus according to claim 12 is characterized in that:
The described area portion of calculating is also with reference to being undertaken by all reference mark that definition constituted each curved surface patch shape of object in the 2 dimension figures that perspective transform constitutes, in abutting connection with the 1st direction of principal axis and the 2nd axial described 2 dimension figures, calculate the tape symbol area of the described 2 dimension figures of reference respectively
The ratio of maximal value with the minimum value of the described tape symbol area that grade determination portion correspondence calculates is cut in described segmentation, determine that the 1st axial segmentation cuts level, and with reference to tieing up figures in abutting connection with the 2nd axial described 2, calculate the tape symbol area of the described 2 dimension figures of reference respectively, the maximal value of the described tape symbol area that correspondence is calculated and the ratio of minimum value determine that the 2nd axial segmentation cuts level.
14, curved surface image processing apparatus according to claim 5 is characterized in that:
Described curved surface cutting unit also possesses initial thin cutting part, cuts grade determination portion in described segmentation and determines to constitute before the segmentation of each curved surface patch of object cuts level, and the segmentation of implementing more than 1 grade is cut.
15, curved surface image processing apparatus according to claim 4 is characterized in that:
Described curved surface cutting unit also possesses maximum segmentation and cuts a grade determination portion, determines that in advance level is cut in the maximum segmentation of each curved surface patch of formation object.
16, curved surface image processing apparatus according to claim 15 is characterized in that:
Described maximum segmentation is cut grade determination portion and is constituted in the reference mark of each curved surface patch shape of object according to definition, is present in the plane of expanding at the described reference mark on the described curved surface patch and is not present in distance between the described reference mark on the described curved surface patch, is present in the ratio of the catercorner length at the described reference mark on the described curved surface patch with binding, determines that level is cut in the maximum segmentation of described each curved surface patch.
17, curved surface image processing apparatus according to claim 15 is characterized in that:
The line segment length that grade determination portion is calculated in the reference mark of each the curved surface patch shape that links definition formation object, is present in the described reference mark on the described curved surface patch is cut in described maximum segmentation, to being present in the described reference mark between the described reference mark on the described curved surface patch, calculate between the adjacent described reference mark distance and, the described distance that correspondence is calculated and with the length ratio of described line segment, determine that level is cut in the maximum segmentation of described each curved surface patch.
18, according to each the described curved surface image processing apparatus in the claim 4~17, it is characterized in that:
The described curved surface patch that constitutes described object is reasonable bezier surface.
19, curved surface image processing apparatus according to claim 5 is characterized in that:
Described segmentation is cut the definite described segmentation of grade determination portion and is cut level, to cut with the operation that divides algorithm to constitute each curved surface patch of object again along the each segmentation of the 1st and the 2nd direction of principal axis and be made as 1 grade, or will carry out the operation that 1 segmentation cuts along described the 1st or described the 2nd either direction and be made as 1 grade, it is the number of operations that described segmentation is cut that level is cut in described segmentation.
20, curved surface image processing apparatus according to claim 1 is characterized in that:
Described curved surface image processing apparatus also possesses normal and calculates the unit, with the described reasonable Bezier reference mark data of described reasonable bezier surface, calculates the normal at each reference mark,
Described normal is calculated the unit and is possessed: selection portion, calculating from the time, select and two the adjacent reference mark of first reference mark that become the normal calculating object as the normal at 4 reference mark, first reference mark to the at four angles of described curved surface patch; With
Calculate portion, calculate the vector between described first reference mark and described adjacent two reference mark respectively, calculate the apposition of two described vectors of being calculated, and calculate the apposition after the normalization, as the normal at described first reference mark.
21, curved surface image processing apparatus according to claim 20 is characterized in that:
Described selection portion is being calculated from as the normal at 4 reference mark, first reference mark to the at four angles of described curved surface patch the time, from at least one becomes under the situation of the back coordinate identical with described first reference mark of shrinking back in abutting connection with four reference mark, second reference mark to the at described first reference mark, select and first reference mark adjacency and two reference mark different that become the normal calculating object with the described first reference mark coordinate
The described portion of calculating calculates the vector between two reference mark that described first reference mark and described selection portion select respectively, calculates the apposition of two described vectors, and calculates the apposition after the normalization, as the normal at described first reference mark.
22, curved surface image processing apparatus according to claim 20 is characterized in that:
Described selection portion is being calculated from as the normal at 4 reference mark, first reference mark to the at four angles of described curved surface patch the time, under the situation of shrinking back, also select and this reference mark adjacency and unflinching reference mark in abutting connection with the reference mark that becomes first reference mark of normal calculating object.
23, curved surface image processing apparatus according to claim 20 is characterized in that:
Described selection portion is also selected other reference mark under two normal vector angulations that the described portion of calculating calculates are situation below the predetermined angular.
24, curved surface image processing apparatus according to claim 20 is characterized in that:
Described selection portion not chosen distance described first reference mark that becomes the normal calculating object is the following reference mark of predetermined distance.
25, curved surface image processing apparatus according to claim 20 is characterized in that:
Described selection portion is when the normal at the reference mark at four angles of calculating described bezier surface, relatively become in the reference mark at 4 angles the normal calculating object first reference mark and from the coordinate at four reference mark, the 2nd reference mark to the of this first reference mark adjacency, under the different situation of these coordinates, two reference mark (P01, P10) of one of the reference mark at contiguous 4 angles of selection (P00)
The described portion of calculating calculates respectively in abutting connection with two reference mark (P01, P10) of described first reference mark (P00) and the vector between described first reference mark (P00), calculate the apposition of two described vectors, and calculate apposition after the normalization, as the normal at described reference mark
Described selection portion under the situation identical of described first reference mark (P00) with at least one coordinate in two reference mark (P01, P10) adjacent with it, near the reference mark of not shrinking back selecting,
The described portion of calculating calculate vector between described first reference mark and near the reference mark, and described first reference mark and described two reference mark (P01, P10) in vector between the reference mark of not shrinking back, and calculate the apposition of two described vectors of having calculated, calculate the apposition after the normalization, as the normal at described reference mark.
26, a kind of curved surface image processing method is used as the NURBS data of the shape data of 3 dimensional objects, describes described 3 dimensional objects on picture, it is characterized in that: comprise
The data conversion step will be carried out parameter transformation by the described NURBS data that nurbs curve and nurbs surface form, and be transformed to the reasonable Bezier reference mark data that form reasonable Bezier and reasonable bezier surface;
The curved surface segmentation procedure, the reasonable bezier surface patch segmentation that the described reasonable Bezier reference mark data of this data conversion step conversion are constituted is slit into a plurality of curved surface patches; With
Describe step, describe described 3 dimensional objects with described curved surface patch;
Described NURBS data are made of control point range and knot vector,
In the described data conversion step, possess:
The node inserting step is used the node insertion algorithm, carries out described knot vector is inserted the computing of described control point range; With
The reference mark set-up procedure, in the reference mark that comprises from the control point range that the computing of this node inserting step generates the useless reference mark of deletion.
27, curved surface image processing method according to claim 26 is characterized in that:
In described dividing processing step, also comprise: area is calculated step, and the tape symbol area of figures is tieed up in calculating with the described reasonable Bezier reference mark data of each curved surface patch shape of the described object of definition formation, by 2 of perspective transform formation; With
Detect step,, detect described curved surface patch and whether be the curved surface patch that forms as the contour edge of described object outline portion according to the value of described tape symbol area.
28, according to the described curved surface image processing method of claim, it is characterized in that:
In the described dividing processing step, also comprise segmentation and cut a grade determination portion, whether according to detecting in the described detection step is that result and the described area that forms the curved surface patch of described contour edge calculated the value of the described tape symbol area of described curved surface patch on screen of calculating in the step, determines that level is cut in the segmentation of described curved surface patch.
29, curved surface image processing method according to claim 26 is characterized in that:
Also comprise normal and calculate step, use the described reasonable Bezier reference mark data of described reasonable bezier surface, calculate the normal at each reference mark,
Calculate in the step at described normal, comprise: select step,, select and two the adjacent reference mark of first reference mark that become the normal calculating object calculating from the time as the normal at 4 reference mark, first reference mark to the at four angles of described curved surface patch; With
Calculate step, calculate the vector between described first reference mark and described adjacent two reference mark respectively, calculate the apposition of two described vectors of being calculated, and calculate the apposition after the normalization, as the normal at described first reference mark.
CNB2003101143697A 2002-11-12 2003-11-12 Curve image processor and its processing method Expired - Fee Related CN100341031C (en)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
JP328052/2002 2002-11-12
JP2002328052 2002-11-12
JP329442/2002 2002-11-13
JP329441/2002 2002-11-13
JP2002329442 2002-11-13
JP329443/2002 2002-11-13
JP2002329443 2002-11-13
JP2002329441 2002-11-13
JP2003380341A JP4464657B2 (en) 2002-11-12 2003-11-10 Curved image processing apparatus and curved image processing method

Publications (2)

Publication Number Publication Date
CN1499447A CN1499447A (en) 2004-05-26
CN100341031C true CN100341031C (en) 2007-10-03

Family

ID=32719582

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2003101143697A Expired - Fee Related CN100341031C (en) 2002-11-12 2003-11-12 Curve image processor and its processing method

Country Status (2)

Country Link
JP (1) JP4464657B2 (en)
CN (1) CN100341031C (en)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7038697B2 (en) * 2003-02-25 2006-05-02 Microsoft Corporation Color gradient paths
US7646384B2 (en) * 2005-03-31 2010-01-12 Siemens Product Lifecycle Management Software Inc. System and method to determine a simplified representation of a model
CN101441781B (en) * 2007-11-23 2011-02-02 鸿富锦精密工业(深圳)有限公司 Curved surface overturning method
US8643644B2 (en) * 2008-03-20 2014-02-04 Qualcomm Incorporated Multi-stage tessellation for graphics rendering
CN101867703B (en) * 2009-04-16 2012-10-03 辉达公司 System and method for image correction
CN101692257B (en) * 2009-09-25 2012-05-16 华东理工大学 Method for registering complex curved surface
JP4955075B2 (en) * 2010-01-20 2012-06-20 本田技研工業株式会社 Design support system and design support program
CN102609987B (en) * 2012-01-09 2014-12-17 北京电子科技学院 Method and system for drawing curved surface by calculating all real roots and multiple numbers of zero-dimensional trigonometric polynomial system
US9558573B2 (en) * 2012-12-17 2017-01-31 Nvidia Corporation Optimizing triangle topology for path rendering
KR102292923B1 (en) 2014-12-15 2021-08-24 삼성전자주식회사 3d rendering method and apparatus
CN105376555A (en) * 2015-12-11 2016-03-02 重庆环漫科技有限公司 Stereo fusion playing method
CN105631817A (en) * 2015-12-23 2016-06-01 王蕾 Subdivision rational surface (forward) depixeling technology
CN105676290B (en) * 2016-04-03 2017-10-13 北京工业大学 Geological data 3 D displaying method based on surface subdivision
JP6782108B2 (en) * 2016-07-19 2020-11-11 大成建設株式会社 Visible rate calculation device
EP3510483B1 (en) * 2016-09-23 2023-12-20 Huawei Technologies Co., Ltd. Binary image differential patching
CN108428230B (en) * 2018-03-16 2020-06-16 青岛海信医疗设备股份有限公司 Method, device, storage medium and equipment for processing curved surface in three-dimensional virtual organ
CN108399942A (en) * 2018-03-16 2018-08-14 青岛海信医疗设备股份有限公司 Display methods, device, storage medium and the equipment of three-dimensional organ
CN108763668B (en) * 2018-05-15 2022-03-01 杭州电子科技大学 Gear model region parameterization method based on subdivision technology and boundary replacement
KR102115945B1 (en) * 2019-11-26 2020-05-27 성균관대학교 산학협력단 Geometry extraction method from noise barrier tunnels using quad meshes, computer-readable recording medium on which the method is stored, and computer program stored on the medium
CN111443864B (en) * 2020-04-14 2023-03-07 重庆赋比兴科技有限公司 iOS-based curve drawing method
CN113345065B (en) * 2021-08-04 2021-11-12 康达洲际医疗器械有限公司 Curved surface image construction method and system based on directional line segments
CN116984266B (en) * 2023-09-26 2024-01-16 中江立江电子有限公司 Connector sorting device and sorting method
CN117726710B (en) * 2024-02-18 2024-06-04 粤港澳大湾区数字经济研究院(福田) Curve dispersion-based drawing method and related device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1173000A (en) * 1996-05-10 1998-02-11 索尼计算机娱乐公司 Improvements in methods and apparatus for recording and information processing and recording medium therefor
CN1272933A (en) * 1998-04-09 2000-11-08 索尼电脑娱乐公司 Image processing apparatus and image processing method, program providing medium, and data providing medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1173000A (en) * 1996-05-10 1998-02-11 索尼计算机娱乐公司 Improvements in methods and apparatus for recording and information processing and recording medium therefor
CN1272933A (en) * 1998-04-09 2000-11-08 索尼电脑娱乐公司 Image processing apparatus and image processing method, program providing medium, and data providing medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Real -Time Rendering of Trimmed Surfaces" Alyn Rockwood,Kurt Heaton,Tom Davis:,Computer Graphics,Vol.Vol.3,No.No.23 1989 *

Also Published As

Publication number Publication date
JP4464657B2 (en) 2010-05-19
JP2004178576A (en) 2004-06-24
CN1499447A (en) 2004-05-26

Similar Documents

Publication Publication Date Title
CN100341031C (en) Curve image processor and its processing method
CN1293518C (en) Method and apparatus for triangle rasterization with clipping and wire-frame mode support
CN1136516C (en) Apparatus of treating colour pictures and pattern extracting device
CN1193284C (en) Method and apparatus for dividing gesture
CN101046883A (en) Graphics-rendering apparatus
CN1126025C (en) Window display
CN1238819C (en) 3-D character data generating device and 3-D graphics data generating device
CN1910577A (en) Image file list display device
CN1790338A (en) Layout processing method, layout processing apparatus, and layout processing program
CN1763743A (en) System and method for automatic label placement on charts
CN1849608A (en) Method and program for generating volume data from boundary representation data
CN1668996A (en) Dynamical methods for solving large-scale discrete and continuous optimization problems
CN1816825A (en) Signal processing device, signal processing method, program, and recording medium
CN1058480A (en) The method and apparatus of adaptive phong shading
CN1645241A (en) Imaging apparatus, method and device for processing images
CN1480903A (en) Specificity information assignment, object extraction and 3-D model generation method and appts thereof
CN1520565A (en) Routing method and appts.
CN1795468A (en) A method for tracking depths in a scanline based raster image processor
CN1940912A (en) Document production system, document production method, program, and storage medium
CN1926575A (en) Image similarity calculation system, image search system, image similarity calculation method, and image similarity calculation program
CN1530855A (en) Placement system, program and method
CN101038625A (en) Image processing apparatus and method
CN1526098A (en) Method and system for output of data related to two- or three-dimensional geometrical entities
CN1813267A (en) Signal processing device, signal processing method, program, and recording medium
CN1083954A (en) The input-output unit and the method thereof of lteral data, lexicon-illustration data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20071003

Termination date: 20101112