• Nie Znaleziono Wyników

Krzywe i powierzchnie B-sklejene

N/A
N/A
Protected

Academic year: 2021

Share "Krzywe i powierzchnie B-sklejene"

Copied!
21
0
0

Pełen tekst

(1)

Grafika Komputerowa

Krzywe B-sklejane

Alexander Denisjuk

denisjuk@pjwstk.edu.pl

Polsko-Japo ´nska Wy˙zsza Szkoła Technik Komputerowych

zamiejscowy o´srodek dydaktyczny w Gda ´nsku

ul. Brzegi 55

80-045 Gda ´nsk

(2)

Krzywe B-sklejane

Najnowsza wersja tego dokumentu dost ˛epna jest pod

adresem

(3)

Krzywa B-sklejana (B-spline)

p 0 p 1 p 2 p 3 p 4 p 5 p 6 p 7 p 8 (a) Degreetwo B-spline urve.

p 0 p 1 p 2 p 3 p 4 p 5 p 6 p 7 p 8 (b) Degree three B-spline urve.

Figure VIII.1: Degree two and degree three B-spline urves with uniformly spa ed knots and nine ontrol points. The degree three urve is smoother than the degree two urve, whereas, the degree two urve approa hes the ontrol points a little more losely. Compare with the degree eight Bezier urve of gure VII.9( ) onpage 167.

(4)

Krzywa B-sklejana trzeciego stopnia

p 0 p 1 p 2 p 3 p 4 p 5 p 6 q 3 q 4 q 5 q 6

FigureVIII.2: A degreethreeuniformB-spline urvewithseven ontrolpoints.

q(u) =

n

X

i

=0

N

i

(u)p

i

,

3 ≤ u ≤ n + 1

(5)

Funkcje wagowe

N 0 N 1 N 2 N 3 N 4 N 5 N 6 1 0 1 2 3 4 5 6 7 8 9 10 y u

Figure VIII.3: The blending fun tions for a uniform, degree three B-spline. Ea h fun tion N

i

has support (i;i+4).

N

i

(u) = N

0

(u − i)

Obci ˛ete wielomiany stopnia 3

N

i

C

2

P

i

N

i

(u) = 1

dla

u ∈ [3, n + 1]

N

i

(u) ≥ 0

(6)

Funkcje wagowe

R

0

(u) = N

0

(u),

R

1

(u) = N

0

(u + 1),

R

2

(u) = N

0

(u + 2),

R

3

(u) = N

0

(u + 3) u ∈ [0, 1]

R

0

(u) =

1

6

u

3

R

1

(u) =

1

6

(−3u

3

+ 3u

2

+ 3u + 1)

R

2

(u) =

1

6

(3u

3

6u

2

+ 4)

R

3

(u) =

1

6

(1 − u)

3

(7)

Funkcje wagowe

R

0

(0) = 0,

R

0

(0) = 0,

R

′′

0

(0) = 0,

R

0

(1) =

1

6

= R

1

(0),

R

0

(1) =

1

2

= R

1

(0),

R

′′

0

(1) = 1 = R

′′

1

(0),

R

1

(1) =

2

3

= R

2

(0),

R

1

(1) = 0 = R

2

(0),

R

′′

1

(1) = −2 = R

′′

2

(0),

R

2

(1) =

1

6

= R

3

(0),

R

2

(1) = −

1

2

= R

3

(0),

R

′′

2

(1) = 1 = R

′′

3

(0),

R

3

(1) = 0,

R

3

(1) = 0,

R

3

′′

(0) = 0.

(8)

Krzywa B-sklejana niejednorodna

0 1 2 3 4 5 6 7 8 9 10 11 12 u 1 Doubledknot Tripledknot N 0;4 N 1;4 N 2;4 N 3;4 N 4;4 N 5;4 N 6;4 N 7;4 N 8;4 N 9;4 N 10;4 N 11;4

Figure VIII.4: Example of orderfour (degree three) blendingfun tions with repeatedknots. Theknot ve toris [0;1;2;3;4;4;5;6;7;8;8;8;9;10;11;12℄ so thattheknot 4hasmultipli itytwoandtheknot8hasmultipli itythree.

w ˛ezły

u

0

u

1

≤ · · · ≤

u

l−1

u

l

w ˛ezły wielokrotne

u

i−1

u

i

= u

i

+1

u

i

+2

p 0 p 1 p 2 p 3 p 4 p 5 p 6 p 7 p 8 p 9 p 10 p 11

FigureVIII.5: ExampleofanorderfourB-spline reatedwith repeatedknots. This urve is reated with the knot ve tor and blending fun tions shown in gureVIII.4. Ithasdomain [3;9℄.

(9)

Krzywa B-sklejana stopnia

m − 1

(Cox de Boor)

Dane s ˛

a w ˛ezły

u

0

u

1

≤ · · · ≤

u

l−1

u

l

.

Dla

i = 0, 1, . . . , l − 1

wagi

N

i,

1

=

1 u

i

u < u

i

+1

0

N

i,k

+1

(u) =

u

i+k

u−u

i

−u

i

N

i,k

(u) +

u

i+k+1

−u

u

i+k+1

−u

i+1

N

i

+1,k

(u)

0/0 = 0

,

(a/0) · 0 = 0

N

i,m

jest obci ˛etym (w w ˛ezłach) wielomianem

stopnia

m − 1

supp N

i,m

= [u

i

, u

i+m

]

jest obci ˛etym (w w ˛ezłach)

wielomianem stopnia

m − 1

(10)

Przykład. W˛ezły jednorodne,

m = 2

N 0;2 N 1;2 N 2;2 N 3;2 N 4;2 N 5;2 N 6;2 N 7;2 N 8;2 1 0 1 2 3 4 5 6 7 8 9 10 y u

Figure VIII.6: The order two (pie ewise degree one) blending fun tions with uniformly spa ed knots, u

i

= i. Here ` = 10, and there are `+1 knots and ` 1 blending fun tions. The asso iated B-spline urve of equation (VIII.2) is de ned for 1u ` 1.

N

0,2

=

u

0 ≤ u ≤ 1,

2 − u

1 ≤ u ≤ 2,

0

(11)

Przykład. W˛ezły jednorodne,

m = 3

N 0;3 N 1;3 N 2;3 N 3;3 N 4;3 N 5;3 N 6;3 N 7;3 1 0 1 2 3 4 5 6 7 8 9 10 y u

Figure VIII.7: The order three (pie ewise degree two) blending fun tions with uniform knot positions u

i

=i. We still have `=10;there are `+1 knots and ` 2 blending fun tions. The asso iatedB-spline urve of equation (VIII.3) is de ned for 2u ` 2.

N

0,3

=

1

2

u

2

0 ≤ u < 1,

1

2

u(2 − u) +

1

2

(3 − u(u − 1)

1 ≤ u < 2,

1

2

(3 − u)

2

2 ≤ u < 3,

0

(12)

Przykład. W˛ezły jednorodne,

m = 4

N 0 N 1 N 2 N 3 N 4 N 5 N 6 1 0 1 2 3 4 5 6 7 8 9 10 y u

Figure VIII.3: The blending fun tions for a uniform, degree three B-spline. Ea h fun tion N

i

(13)

Przykład. Krzywe Béziera

w ˛ezły:

0, 0, 0, 0, 1, 1, 1, 1

N

3,1

(u) =

1, 0 ≤ u ≤ 1

0

N

i,

1

= 0

dla

i 6= 3

N

2,2

(u) = 1 − u

,

N

3,2

(u) = u

N

1,3

(u) = (1 − u)

2

,

N

2,3

(u) = 2u(1 − u)

,

N

3,3

(u) = u

2

N

0,4

(u) = (1 − u)

3

,

N

1,4

(u) = 3u(1 − u)

2

,

(14)

Niejednorodne wielokrotne w ˛ezły

w ˛ezły:

0, 0, 0, 0, 1, 2, 2

4

5

, 3

1

5

, 4, 5, 6, 7, 7, 8, 9, 10, 10, 10, 10

1 2 2:83:2 4 5 6 7 8 9 10 u 1 Doubledknot N 2;2 N 3;2 N 4;2 N 5;2 N 6;2 N 7;2 N 8;2 N 9;2 N 10;2 N 11;2 N 12;2 N 13;2 N 14;2

(a)Degreeoneblendingfun tions.

1 2 2:83:2 4 5 6 7 8 9 10 u 1 Doubledknot N 1;3 N 2;3 N 3;3 N 4;3 N 5;3 N 6;3 N 7;3 N 8;3 N 9;3 N 10;3 N 11;3 N 12;3 N 13;3 N 14;3

(b)Degreetwoblendingfun tions.

1 2 2:83:2 4 5 6 7 8 9 10 u 1 Doubledknot N 0;4 N 1;4 N 2;4 N 3;4 N 4;4 N 5;4 N 6;4 N 7;4 N 8;4 N 9;4 N 10;4 N 11;4 N 12;4 N 13;4 N 14;4

( )Degreethreeblendingfun tions.

FigureVIII.8:Degreeone,two,andthreeblendingfun tionsforanon-uniform

(15)

Wła ´sciwo ´sci

Twierdzenie 1. Niech dane b ˛ed ˛

a w ˛ezły

u

0

u

1

≤ · · · ≤

u

l

. Wtedy

funkcje wagowe

N

i,m

(u)

dla

0 ≤ i ≤ l − m

maj ˛

a nast ˛epuj ˛

ace

wła´sciwo´si:

supp N

i,m

= [u

i

, u

i

+m

]

dla

m ≥ 1

N

i,m

0

P

l−m

(16)

Wła ´sciwo ´sci

Twierdzenie 2. Niech dane b ˛ed ˛

a w ˛ezły

u

0

u

1

≤ · · · ≤

u

l

. Wtedy

funkcje wagowe

N

i,m

(u)

dla

0 ≤ i ≤ l − m

maj ˛

a nast ˛epuj ˛

ace

wła´sciwo´si:

supp N

i,m

= [u

i

, u

i

+m

]

dla

m ≥ 1

N

i,m

0

P

l−m

i=0

N

i,m

(u) = 1

dla

u

m−1

u ≤ u

l−m+1

q(u) =

n

X

i=0

N

i,m

(u)p

i

,

u

m−1

u ≤ u

l−m+1

= u

n

+1

q(u) =

j

X

i

=j−m+1

N

i,m

(u)p

i

,

u

j

u ≤ u

j

+1

(17)

Wła ´sciwo ´sci

Twierdzenie 3. Niech

q(u)

b ˛edzie krzyw ˛

a B-sklejan ˛

a stopnia

m − 1

i w ˛ezeł

u

i

ma krotno´s´c

µ

. Wtedy

q(u)

ma ci ˛

agłe pochodne do stopnia

(18)

Wymierne B-sklejane krzywe

(NURBS)

p

i

= (x : y : z : w)

,

q(u) =

X

i

N

i,m

(u)p

i

współrz ˛edna

w

pozwala na powi ˛ekszenie wagi punktu

kontrolnego

modelowanie krzywych sto˙zkowych

rzut perspektywiczny krzywej wymiernej jest zawsze

krzyw ˛

a wymiern ˛

a

punkty kontrolne mog ˛

a by´c umieszczone

w niesko ´nczono´sci

(19)

NURBS w openGL (GLU)

GLUnurbsObj

curve1 ;

curve1 = gluNewNurbsRenderer ( ) ;

gluBeginCurve ( curve1 ) ;

gluNurbsCurve ( curve1 , numKnots , knotData ,

s t r i d e , data , degParam , GL_MAP1_VERTEX_3 ) ;

gluEndCurve ( curve1 ) ;

(20)

NURBS w openGL (GLU)

G L f l o a t k n o t V e c t o r [ 8 ] =

{ 0 . 0 , 0 . 0 , 0 . 0 , 0 . 0 , 1 . 0 , 1 . 0 , 1 . 0 , 1 . 0 } ;

G L f l o a t c t r l P t s [ 4 ] [ 3 ] = { {

4 . 0 , 1 . 0 , 0 . 0 } ,

{

2 . 0 , 5 . 0 , 0 . 0 } , { 3 . 0 ,

4 . 0 , 0 . 0 } ,

{ 5 . 0 , 1 . 0 , 0 . 0 } } ;

GLUnurbsObj

cubicBezCurve ;

cubicBezCurve = gluNewNurbsRenderer ( ) ;

gluBeginCurve ( cubicBezCurve ) ;

gluNurbsCurve ( cubicBezCurve , 8 , k n o t V e c t o r ,

3 , & c t r l P t s [ 0 ] [ 0 ] , 4 , GL_MAP1_VERTEX_3 ) ;

gluEndCurve ( cubicBezCurve ) ;

(21)

NURBS Powierzchnie

g l u B e g i n S u r f a c e ( surfName ) ;

g l u N u r b s S u r f a c e ( surfName , nuKnots ,

u k n o t V e c t o r , nvKnots , vKnotVector ,

u S t r i d e , v S t r i d e , & c t r l P t s [ 0 ] [ 0 ] [ 0 ] ,

uDegParam , vDegParam , GL_MAP2_VERTEX_3 ) ;

gluEndSurface ( surfName ) ;

Obraz

Figure VIII.1: Degree two and degree three B-spline 
urves with uniformly
Figure VIII.2: A degree three uniform B-spline 
urve with seven 
ontrol points.
Figure VIII.3: The blending fun
tions for a uniform, degree three B-spline.
Figure VIII.5: Example of an order four B-spline 
reated with repeated knots.
+4

Cytaty

Powiązane dokumenty

elementy powinny by´c poprawnie zagnie˙zd˙zone powinien by´c jeden element korzeniowy.. wszystkie atrybuty powinny by´c w

RDF Schema Wprowadzenie RDF Semantic Web Składnia Kontenery Kolekcje RDFS DCMI RDFa Microdata JSON-LD ✔ Rozszerzenie RDF. ✔ Zawiera język do opisania zestawów predykatów

JQuery Wprowadzenie Dostęp Modyfikacjia Łańcuch 2 / 23 Najnowsza wersja tego dokumentu dostępna jest pod

je˙zeli serwer nie rozpoznał metody ˙z ˛ adania, on zwraca kod odpowiedzi 501 (Not implemented). je˙zeli serwer rozpoznał metod ˛e, ale one nie mo˙ze zosta´c zastosowana do

Polsko-Japo ´nska Wy˙zsza Szkoła Technik Komputerowych Wydział Informatyki w Gda

Polsko-Japo ´nska Wy˙zsza Szkoła Technik Komputerowych Wydział Informatyki w Gda

Polsko-Japo ´nska Wy˙zsza Szkoła Technik Komputerowych Wydział Informatyki w Gda

Polsko-Japo ´nska Wy˙zsza Szkoła Technik Komputerowych Wydział Informatyki w Gda