Books
in black and white
Main menu
Home About us Share a book
Books
Biology Business Chemistry Computers Culture Economics Fiction Games Guide History Management Mathematical Medicine Mental Fitnes Physics Psychology Scince Sport Technics
Ads

Curves and surfaces in computer aided geometric design - Yamaguchi F.

Yamaguchi F. Curves and surfaces in computer aided geometric design - Tokyo, 1988. - 390 p.
Download (direct link): curvesandsurfacesincomputer1988.djvu
Previous << 1 .. 54 55 56 57 58 59 < 60 > 61 62 63 64 65 66 .. 90 >> Next

Qi =
2n . 2n
R cos-----i R sin-------i
m m
2n 2n
3 cos-----i 3 sin---------i
m m
2 + cos-
2n
m
2n
2 +cos-----
m
(i = 0, 1, m 1).
(6.23)
Next, let us find the deviation from a true circle. In Fig. 6.11, the midpoint P\i of the curve segment generated by the 4 points Qm-U Qo> Qi and Q2 is found by setting t = \ in formula (6.14):
6.1 Uniform Cubic -Spline Curves
245
so that the deviation E(%) from a true circle is:
71
1 cos m
x 100.
(6.25)
2n
2 2 +cos
m
From formula (6.25) we find that a square gives a deviation of 2.8% from a true circle; an equilateral 12-sided polygon gives a deviation of 0.02%. An example of generation of a semicircle is shown in Fig. 6.12.
Let us consider the problem of producing a cusp using uniform cubic B-spline curves. In Fig. 6.13, the sequence of vertices Q0, Qu Q2, Q3, (?4 determines a curve P1P2P3. Next, if two vertices are made to coincide so that the vertex sequence becomes Q0, Qu Q2, Q2, Q3, ?>4, the curve becomes PlPAP5P3, increasing the curvature in the vicinity of Q2. If three vertices are overlapped at point Q2, the vertex sequence that defines the curve becomes Q0, Q\> Qi> Qi, Qi, > 04- The curve becomes PXP^Q2P5P3, and the slope becomes discontinuous at point Q2, making that point a cusp. In this case there are straight line segments, P4Q2 and Q2P5, on both sides of the cusp. By suitably controlling the arrangement of the 3 points centered on Q2, a sharp cusp can be produced.
Fig. 6.12. Example of generation of a circular arc (half circle) as a -spline curve (M = 4)
Q
Fig. 6.13. Formation of a cusp by -spline curves (M = 4)
246 6. The -Spline Approximation
6.1.3 Determination of a Point on a Curve by Finite Difference Operations27
The finite difference matrix needed to calculate a point on a uniform cubic B-spline curve is found as follows (refer to Sect. 1.2.4).
In formula (6.14), abbreviating NlA(t) = Nt(t) we obtain:
Pl(t) = N0(t)Qi_1+N1(t)Ql + N2(t)Ql + l+N3(t)Ql+2. (6.26)
The 1-st, 2-nd and 3-rd finite differences of Pt(t) at t = 0 are ^(O), 2{(0) and ^/^(), and the finite differences of Nt(t) are ANt(0), A2Nt(0) and A3Nt(0). Then we have:
/,,()=0()1_1+1()1+2()1+1+()1+2
APl(0) = ANo(0)Ql_1+AN,(0)Ql + AN2(0)Ql + l+AN3(0)Ql + 2 A2Pl(0) = A2No(0)Ql^+A2Nl(0)Ql + A2N2(0)Ql + l + A2N3(0)Qi+2 A3Pl(0) = A3No(0)Ql_l+A3Nl(0)Ql + A3N2(0)Ql + l+A3N3(0)Ql + 2
(6.27)
where:
N0( 0) = |, Nt( 0) = y, N2( 0)=|, N3(0) = 0, zlJVo(0) = AN^^-S^-S2,
II I
AN2(0)=-jS3+^S2+jS, AN3(0) = j5\
A 2N0 (0) = <53 + <52, zl 2Ar1 (0) = 3<53 2<52
zl2jV2(0)= 3 <5 | <5 2 ? A2N3(0) = 53,
A3No(0)=-S3, A3N1(0) = 3S3, A3N2(0) = 3<53, A3No(0) = 53
Then we can find the finite difference matrix to be:
' (0) '
^(0)

~^A2p>( )
- )
N0( 0)
N,( 0)
N2( 0)
iV3(0)
1 s ANo(0) jzliVi(O) 1 AN2( 0) 1 ~d AN3( 0)
1 A 2N0 (0) 1 A2N2( 0) 1 A2N3( 0)
1 A3No(0) 1 A3N2( 0) 1 A3N3( 0)
6.1 Uniform Cubic -Spline Curves
247
2
"
1 ,2 1 * 1 1 *2 *
8 -\8-------------- 88
6 2 2 2
-<5+1
-1
38 2 3
--52+-5+ 2 2 2
3 <5 +1
-3
1 1
Qt-1 Qi
Qi + 1 Qi + 2
(6.28)
Using the matrix in Eq. (6.28), a point on the curve can be found at high-speed without multiplications.
In Eq. (6.28), if a certain Qi+j(j= 1,0,1,2) varies, the finite difference matrix for Qi+j has to be recalculated, but it is wasteful to repeat the full calculation of (6.28). It is more efficient to calculate the change due to only the change AQi+j
of Qi+j-
" W) - ' PM " ' NJ+ !(0)
) 0)
]^2й + Jh2n,+1(0)
^3/((0) Jr^() Jh3jW)
(6.29)
(j=-1,0,1, 2)
6.1.4 Inverse Transformation of a Curve27*
Consider the inverse transformation problem, of finding the curve defining vectors Qj (j = 0, 1, ..., n) given the knot point vectors Pi{i= 1, 2, ..., n 1) of a
248
6. The -Spline Approximation
uniform cubic 5-spline curve (Fig. 6.1). In the case of a closed curve, the problem is one of finding Qj(j= 1,0, n,n+1) given Pt(i = 0, 1, ..., n) (Fig. 6.14).
For both open and closed curves, the following system of simultaneous equation holds:
1 2 1 (i = 1,2,..., n 1 (open curve) \
7ft-,+Ta+7flt,^ (630)
Since there are two fewer equations than unknowns, the following conditions are applied for open curves and closed curves, respectively:
for open curve generation:
Qo = Q,, Qn = Qn i (6.31)
for closed curve generation:
Q-r = Qn, Qn+l = Qo (6.32)
Conditions (6.31) are that the curvature is 0 at both ends of the open curve. This condition simplifies the inverse transformation algorithm to the same form as that for a closed curve. Conditions (6.32) are those for joining the starting and end points with continuity up to the curvature vector to form a closed curve.
By adding conditions (6.31) and (6.32) for their respective cases, the number of equations is made equal to the number of unknowns, and the simultaneous Eqs. (6.30) can be solved. Note that equations satisfy the convergence condition of the Gauss-Seidel method and that there is a special relationship among the coefficients. Denote the approximation to Qx obtained on the k-th iteration by (2f. After Q$, ..., have been found on the /-th iteration, the following equation holds:
Previous << 1 .. 54 55 56 57 58 59 < 60 > 61 62 63 64 65 66 .. 90 >> Next