Методическое пособие по курсу "Интерактивные графические системы". Найханов В.В - 28 стр.

UptoLike

s (u, v) = F (u)
ss
ss
ss
ss
00 01
10 11
01
01
00
00
00
00
F
T
(v). (2.17)
После простейших преобразований получим
s (u, v) = [1 - u,u]
ss
ss
v
v
00 01
10 11
0
1
α
α
()
()
. (2.18)
Аналогично можно определить, что
t (u, v) = [
α
0
(u),
i
m
=
1
(u)]
tt
tt
00 01
10 11
v
v1
. (2.19)
Из (2.18) и (2.19) найдем
s
u
(v) = s
0
α
0
(v) + s
1
α
1
(v) ; (2.20)
t
v
(u) = t
0
α
0
(u) + t
1
α
1
(u). (2.21)
Формулы (2.20) и (2.21) определяют закон изменения параметрических
длин. Параметрическая длина в направлении s меняется от s
0
(на границе v
= 0) до s
1
(на границе v = 1) по закону, определенному (2.20). Аналогично
для параметрической длины в направлении t (2.21).
Следуя Кунсу, построим поверхность r
1
(u, v) , интерполирующую две
граничные кривые r (0, v) и r (1, v) и имеющую заданные наклоны r
s
(0, v)
и r
s
(1, v) поперек границ порции.
Так как r
u
(i, v) = r
s
(i, v) s
u
(v) (из (2.9) t
u
(i, v) = 0), то
r
1
(u, v) = r (0, v)
α
0
(u) + r (1, v)
α
1
(u) +
+ [r
s
(0, v)
β
0
(u) + r
s
(1, v)
β
1
(u)] s
u
(v)
. (2.22)
Аналогично построим поверхность r
2
(u, v), интерполирующую
граничные кривые r (u, 0) и r (u, 1) с соответствующими наклонами r
t
(u, 0)
и r
t
(u, 1) поперек границ порции:
r
2
(u, v) = r (u, 0)α
0
(v) + r (u, 1)
α
1
(v) +
+ [r
t
(u, 0)β
0
(v) + r
t
(u, 1)
β
1
(v)] t
v
(u)
. (2.23)
Как и прежде,
r (u, v) = r
1
(u, v) + r
2
(u, v) - r
3
(u, v). (2.24)
Здесь r
3
(u, v) получено с помощью того же метода интерполяции (2.19) в
обоих направлениях при использовании информации об угловых точках.
Определим поперечные границы r
s
(i, v) и r
t
(u, j):
r
s
(i, v) = r
s
(i, 0)
α
0
(v) + r
s
(i, 1)
α
1
(v) +
+ [r
st
(i, 0)
β
0
(v) + r
st
(i, 1)
β
1
(v)] t
i
; (2.25)
r
t
(u, j) = r
t
(0, j)
α
0
(u) + r
t
(1, j)
α
1
(u) +
+ [r
st
(0, j)
β
0
(u) + r
st
(1, j)
β
1
(u)] s
j
. (2.26)
                              ⎡s           s01    0       0⎤
                              ⎢ 00                         ⎥
                              ⎢                            ⎥
                              ⎢ s10        s11    0       0⎥
             s (u, v) = F (u) ⎢                            ⎥ FT(v).               (2.17)
                              ⎢ s0          s1     0      0⎥
                              ⎢                            ⎥
                              ⎢                            ⎥
                              ⎢⎣ s0         s1     0      0⎥
                                                           ⎦
     После простейших преобразований получим
                               ⎡s     s01 ⎤ ⎡α 0 ( v )⎤
                               ⎢
          s (u, v) = [1 - u,u] ⎢
                                   00
                                           ⎥ ⎢           ⎥.                       (2.18)
                                           ⎥ ⎢           ⎥
                               ⎢⎣ s10 s11 ⎥⎦ ⎢⎣α 1 ( v )⎥⎦
Аналогично можно определить, что
                                     m           ⎡t        t 01 ⎤   ⎡        ⎤
                                (u), ∑
                                                                        v
                                           (u)] ⎢⎢              ⎥
                                                     00
             t (u, v) = [ α 0                                       ⎢        ⎥.     (2.19)
                                    i =1
                                                                ⎥   ⎢        ⎥
                                                 ⎢⎣t 10    t 11 ⎥
                                                                ⎦   ⎢⎣1 − v ⎥⎦
Из (2.18) и (2.19) найдем
                       su (v) = s0 α 0 (v) + s1 α 1 (v) ;                (2.20)
                       tv (u) = t0 α 0 (u) + t1 α 1 (u).                  (2.21)
Формулы (2.20) и (2.21) определяют закон изменения параметрических
длин. Параметрическая длина в направлении s меняется от s0 (на границе v
= 0) до s1 (на границе v = 1) по закону, определенному (2.20). Аналогично
для параметрической длины в направлении t (2.21).
       Следуя Кунсу, построим поверхность r1 (u, v) , интерполирующую две
граничные кривые r (0, v) и r (1, v) и имеющую заданные наклоны rs (0, v)
и rs (1, v) поперек границ порции.
       Так как ru (i, v) = rs (i, v) su (v) (из (2.9) tu (i, v) = 0), то
       r1 (u, v) = r (0, v) α 0 (u) + r (1, v) α 1 (u) +
                   + [rs (0, v) β 0 (u) + rs (1, v) β 1 (u)] su(v) .      (2.22)
       Аналогично построим поверхность r2 (u, v), интерполирующую
граничные кривые r (u, 0) и r (u, 1) с соответствующими наклонами rt (u, 0)
и rt (u, 1) поперек границ порции:
       r2 (u, v) = r (u, 0) α 0 (v) + r (u, 1) α1 (v) +
                   + [rt (u, 0) β 0 (v) + rt (u, 1) β1 (v)] tv(u) .      (2.23)
       Как и прежде,
                r (u, v) = r1 (u, v) + r2 (u, v) - r3 (u, v).             (2.24)
Здесь r3 (u, v) получено с помощью того же метода интерполяции (2.19) в
обоих направлениях при использовании информации об угловых точках.
       Определим поперечные границы rs (i, v) и rt (u, j):
       rs (i, v) = rs (i, 0) α 0 (v) + rs (i, 1) α 1 (v) +
                  + [rst (i, 0) β 0 (v) + rst (i, 1) β 1 (v)] ti ;        (2.25)
       rt (u, j) = rt (0, j) α 0 (u) + rt (1, j) α 1 (u) +
                  + [rst (0, j) β 0 (u) + rst (1, j) β 1 (u)] sj .         (2.26)