µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ...

53
7.1 Εθνικό Εθνικό & & Καποδιστριακό Καποδιστριακό Πανεπιστήμιο Πανεπιστήμιο Αθηνών Αθηνών Τμήμα Τμήμα Πληροφορικής Πληροφορικής Εργα Εργα : 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣ ΣΚΕΠΣΙΣ ( ( ΕΠΕΑΚ ΕΠΕΑΚ - - ΥΠΕΠΘ ΥΠΕΠΘ ) ) Παραμετρικές Καμπύλες & Επιφάνειες Ανάγκη Μαθηματικής Περιγραφής Πολύπλοκων Καμπυλών για επεξεργασία με υπολογιστή: Αυτοκινητιστική & Αεροναυπηγική βιομηχανία από μέσα δεκαετίας 1960. ∆ιάδοση κατασκευαστικών μηχανών καθοδηγούμενων από Η/Υ. Λύση: παραμετρικές αναπαραστάσεις καμπυλών και επιφανειών P. de Casteljau, Citroën. P. Bézier, Renault. Καμπύλες Bézier: Ορισμός καμπύλης οποιουδήποτε βαθμού με απλό μαθηματικό τρόπο. Χρήση σημείων ελέγχου. Σχήμα εξαρτάται από σημεία ελέγχου.

Transcript of µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ...

Page 1: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.1ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Παραµετρικές Καµπύλες & Επιφάνειες

• Ανάγκη Μαθηµατικής Περιγραφής Πολύπλοκων Καµπυλών για επεξεργασία µευπολογιστή:

– Αυτοκινητιστική & Αεροναυπηγική βιοµηχανία από µέσα δεκαετίας 1960.– ∆ιάδοση κατασκευαστικών µηχανών καθοδηγούµενων από Η/Υ.

• Λύση: παραµετρικές αναπαραστάσεις καµπυλών και επιφανειών– P. de Casteljau, Citroën.– P. Bézier, Renault.

• Καµπύλες Bézier:– Ορισµός καµπύλης οποιουδήποτε βαθµού µε απλό µαθηµατικό τρόπο.– Χρήση σηµείων ελέγχου.– Σχήµα εξαρτάται από σηµεία ελέγχου.

Page 2: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.2ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Παράσταση Καµπυλών

• Καµπύλη: σύνολο σηµείων– Συνήθως δίνονται από µαθηµατικές εξισώσεις.

• Αλγεβρική παράσταση καµπυλών µε αλγεβρική εξίσωση:– Απλή µορφή y=f(x) π.χ. ευθεία y=mx+d.– Πεπλεγµένη µορφή g(x,y)=0 π.χ. ευθεία αx+by+c=0 .

• Κλίση επίπεδης καµπύλης: η παράγωγος του y ως προς x . dxdy

Page 3: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.3ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Παραµετρική Παράσταση Καµπυλών

• Παραµετρική παράσταση: συντεταγµένες δίνονται µε ξεχωριστές εξισώσεις µε τηβοήθεια της ανεξάρτητης παραµέτρου t :

x=x(t)y=y(t)

– ή περιορίζεται– Για κάθε τιµή του t παίρνουµε ένα σηµείο της καµπύλης:

• Π.χ. η ευθεία που διέρχεται από και έχει παραµετρικήεξίσωση:

µε

ή σε συνεπτυγµένη µορφή:µε

( )∞+∞−∈ ,t [ ]. bat ,∈( ) ( )

( )

=

tytx

tP

=

1

11 y

xP

=

2

22 y

xP

( ) ( ) ( )∞+∞−∈⋅+⋅−= ,1 21 tPtPttP

( ) ( )( ) ( ) 21

21

1

1

tyytty

txxttx

+−=

+−=( )∞+∞−∈ ,t

Page 4: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.4ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Παραµετρική Παράσταση Καµπυλών

• Ευθύγραµµο τµήµα :µε

– Για t=0 παίρνουµε και για t=1 παίρνουµε• Καθώς µεταβάλλεται η t, κινούµαστε πάνω στην ευθεία που ορίζεται από τα και

• Αλγεβρική µορφή µπορεί να εξαχθεί από παραµετρική, αν απαλείψουµε t.

• Η κλίση δίνεται πάλι από

21PP( ) ( ) [ ]1,01 21 ∈⋅+⋅−= tPtPttP

1P . 2P

1P . 2P

( )( ) . txty

dtdxdtdy

dxdy

′′

==//

•t0 1

1P( )tP

2P

Page 5: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.5ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Παραµετρική Παράσταση Καµπυλών

• Πλεονεκτήµατα παραµετρικής παράστασης:– Περιγραφή κλειστών ή πλειότιµων καµπύλων.– Συντεταγµένες ανεξάρτητες µεταξύ τους άµεση εφαρµογή συσχετισµένων

µετασχηµατισµών.– Εύκολη επέκταση σε περισσότερες διαστάσεις.– Ανεξάρτητη από σύστηµα συντεταγµένων.

Page 6: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.6ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Καµπύλες Bézier• H παραµετρική εξίσωση του ευθύγραµµου τµήµατος παρεµβάλει γραµµικά τα και

– Κυρτός συνδυασµός των και ((1- t) + t=1).• Τετραγωνικές καµπύλες Bézier µεταξύ

– Εστω γραµµικές παρεµβολές µεταξύ και .

– Η γραµµική παρεµβολή των και µε τον ίδιο λόγο (t), δίνει τετραγωνικήσυνάρτηση των αρχικών σηµείων:

– Τα αρχικά σηµεία ονοµάζονται σηµεία ελέγχου.

0P 1P( ) ( ) [ ]1,0,1 10 µε ∈+−= tPtPttP

0P 1P: 210 ,, PPP

10, PP 21, PP ( ) ( )( ) ( ) 21

11

101

0

1

1

PtPttP

PtPttP

+−=

+−=

[ ]. 1,0, ∈t

( )tP10 ( )tP1

1

( ) ( ) ( ) ( )( ) ( )

( )∑=

−−

=

+−+−=

+−=

2

0

2

22

102

11

10

20

12

1211

ii

ii Ptti

PtPttPttPttPttP

210 ,, PPP

Page 7: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.7ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Καµπύλες Bézier Βαθµού n

• Τρία διαδοχικά επίπεδα γραµµικής παρεµβολής τεσσάρων σηµείων ελέγχου µαςδίνουν καµπύλη Bézier βαθµού 3 .

• Γενικά, µε (n+1) σηµεία ελέγχου µπορούµε να κατασκευάσουµεκαµπύλη Bézier βαθµού n, .

( )tP3

( )tPnnPPP …10,

( ) ( ) [ ]1,0,10

µε ∈−

= −

=∑ tPtt

in

tP iinin

i

n

Page 8: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.8ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Υπολογισµός Σηµείου Καµπύλης Bézier - De Casteljau

• Παραπάνω ορισµός είναι υπολογιστικά ασύµφορος.• Αντίθετα τα βήµατα γραµµικής παρεµβολής συµφέρουν.• Αλγόριθµος De Casteljau: εύρεση σηµείου καµπύλης Bézier για παραµετρική

τιµή t :– Θέτουµε .– Επαναληπτική σχέση:

– είναι το ζητούµενο σηµείο.– Αυτός ο υπολογισµός καλείται και Τρίγωνο De Casteljau.

( ) niPtP ii …1,0,0 ==

( ) ( ) ( ) ( ),1 11

1 tPttPttP ri

ri

ri

−+

− ⋅+⋅−=rni

nr−=

=,,1,0,,2,1

……

( ) ( )tPtP nn ≡0

( )

033

12

022

21

11

011

33

02

01

010

00

PP

PPP

PPPP

tPPPPPP t

→≡

→→≡

≡→→→≡ −

t

Page 9: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.9ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Υπολογισµός Σηµείου Καµπύλης Bézier - De Casteljau

• Αλγόριθµος De Casteljau: ψευδοκώδικας

point deCasteljauPoint (int n, point[] control_pts, float t)for (i=0; i<=n; i++)deCas_pts[i]=control_pts[i];

for (r=1; r<=n; r++)for (i=0; i<=n-r; i++)

deCas_pts[i]=(1-t)*deCas_pts[i]+t*deCas_pts[i+1];

return deCas_pts[0];

• Για να σχεδιάσουµε ολόκληρη την καµπύλη, υπολογίζουµε ένα-ένα τα σηµείαγια t = 0(∆t)1 και τα ενώνουµε µε ευθύγραµµα τµήµατα.

Page 10: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.10ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Πολυώνυµα Bernstein

• Οι συντελεστές των στην εξίσωση της καµπύλης Bézier είναι τα πολυώνυµαBernstein:

• Πολυώνυµα Bernstein βαθµού 2:

• Πολυώνυµα Bernstein βαθµού 3:

• Καµπύλη Bézier βαθµού n µε χρήση πολυωνύµων Bernstein:

iP

( ) ( ) nittin

tB inini ,,2,1,0,1 …=−

= −

( ) ( )( ) ( )( ) 22

2

21

220

12

1

ttB

tttB

ttB

=

−=

−=

( ) ( )( ) ( )( ) ( )( ) 33

3

232

231

330

13

13

1

ttB

tttB

tttB

ttB

=

−=

−=

−=

( ) ( )∑=

=n

ii

ni

n PtBtP0

Page 11: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.11ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Πολυώνυµα Bernstein - Χρήσιµες Ιδιότητες

• Αποτελούν βάση του διανυσµατικού χώρου των πολυωνύµων βαθµού n. Οποιοδήποτε πολυώνυµο f(t) βαθµού n γράφεται:

όπου ci κατάλληλοι συντελεστές– Αρα κάθε πολυωνυµική καµπύλη βαθµού n µπορεί να γραφεί σε µορφή

καµπύλης Bézier.• Για κάθε n ισχύει:

• Τα πολυώνυµα Bernstein είναι συµµετρικά ως προς t και (1- t):

( ) ( )∑=

=n

ii

ni ctBtf

0

( ) ( )∑=

=≥n

i

ni

ni tBtB

010 και

( ) ( )tBtB njn

nj −= − 1

Page 12: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.12ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Ιδιότητες Καµπυλών Bézier

• Προκύπτουν από εξίσωση ορισµού και ιδιότητες πολυωνύµων Bernstein.• Ιδιότητα κυρτής περιβάλλουσας:

– Καµπύλη Bézier είναι συσχετισµένος κυρτός συνδυασµός των σηµείωνελέγχου.

– Αρα βρίσκεται µέσα στην κυρτή περιβάλλουσα των σηµείων.– Χρήσιµη ιδιότητα για έλεγχο σχήµατος καθώς και έλεγχο τοµής µε άλλα

σχήµατα.• Αναλλοίωτη κάτω από συσχετισµένους µετασχηµατισµούς:

– Αφού είναι γραµµικός συνδυασµός των σηµείων ελέγχου της.– Αρα για να µετασχηµατίσουµε µια καµπύλη Bézier αρκεί να

µετασχηµατίσουµε τα σηµεία ελέγχου της.• Αναλλοίωτη σε συσχετισµένους µετασχηµατισµούς της παραµέτρου:

––

[ ] [ ]baut ,1,0 ∈→∈( ) tabau −+=

( ) ( ) ( )tPabautP

abubtP r

ir

ir

i1

11 −

+−

−−

+−−

=

Page 13: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.13ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Ιδιότητες Καµπυλών Bézier

• Συµµετρία: αν χρησιµοποιήσουµε τα σηµεία ελέγχου µε αντίστροφη σειράη καµπύλη δεν αλλάζει:

– Αντιστρέφεται η φορά σχεδίασης.• Γραµµική ακρίβεια: αν όλα τα σηµεία ελέγχου είναι συνευθειακά, η καµπύλη

Bézier γίνεται ευθύγραµµο τµήµα.• Παρεµβολή ακραίων σηµείων: η καµπύλη περνά από τα ακραία σηµεία και

για t = 0 και t = 1.• Εφαπτόµενα διανύσµατα στα άκρα: είναι παράλληλα προς τις ακραίες πλευρές

του πολυγώνου ελέγχου:

– Αν η καµπύλη ορίζεται σε τυχαίο διάστηµα :

01, PPP nn …−

0P nP

( ) ( )

( ) ( )1

01

1

0

−−=

−=

nnn

n

PPnPdtd

PPnPdtd

[ ]bau ,∈

( ) ( ) ( )

( ) ( ) ( )1

01

11

10

−−−

==

−−

==

nnnn

nn

PPnab

Pdudt

dtdbP

dud

PPnab

Pdudt

dtdaP

dud

( ) ( ) ( ). abauttabau −−=⇔−+= /καθώς

Page 14: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.14ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Ιδιότητες Καµπυλών Bézier

• ∆εύτερες παράγωγοι στα άκρα:

– Αν η καµπύλη ορίζεται σε τυχαίο διάστηµα :

• Ψευδο - τοπικός έλεγχος:– ∆εν υπάρχει τοπικός έλεγχος αφού τα , που είναι τα βάρη των

σηµείων ελέγχου, ορίζονται σε όλο το διάστηµα της καµπύλης.– Οµως το , και συνεπώς το , επηρεάζει µέγιστα το τµήµα της

καµπύλης γύρω από

( ) ( ) ( )

( ) ( ) ( )212

2

0122

2

211

210

−− +−−=

+−−=

nnnn

n

PPPnnPdtd

PPPnnPdtd

[ ]bau ,∈

( )( )

( ) ( )

( )( )

( ) ( )2122

2

01222

2

211

211

−− +−−−

=

+−−−

=

nnnn

n

PPPnnab

bPdud

PPPnnab

aPdud

( )tBni

( )tBni iP

.nit /=

Page 15: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.15ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Οµαλή Συνένωση Καµπυλών Bézier

• Αύξηση “ευελιξίας” καµπύλης Bézier:– Με αύξηση βαθµού (αστάθεια, αύξηση πολυπλοκότητας).– Με οµαλή συνένωση καµπυλών µικρού βαθµού (συνήθως 3 ή 4).

• Οι πολυωνυµικές καµπύλες F(t) µε και G(t) µε ενώνονται µεσυνέχεια στο t1 αν οι παράγωγοι r τάξης είναι ίσες στο t1:

–– Για πολυώνυµο βαθµού k η k-οστή παράγωγος είναι σταθερά και οι

µεγαλύτερες είναι 0.– Αρα, για πολυώνυµα βαθµού k µας ενδιαφέρει µέχρι

• Εστω καµπύλες Bézier και µε σηµεία ελέγχουκαι αντίστοιχα. Εστω ότι επιθυµούµε ένωση µε

––

( πρέπει να ανήκει στην ευθεία των και και να βρίσκεται στηναπόσταση που ορίζεται)

– (καθορισµός )

[ ]10, ttt ∈ [ ]21, ttt ∈rC

( )( ) ( )( )11 tGtF rr =rmCC mr <≤⇒ 0 για

.1−kC( ) [ ]1 ,0 , ∈ttPn ( ) [ ]2 ,1 , ∈ttQm

nPP 0…

mQQ 0… :2C

00 QPC n=⇒

( ) ( ) ( )110111

−− −=−⇔−=−⇒ nnnnn PPmnPQQQmPPnC

1Q 1−nP 0QPn =

( ) ( ) ( ) ( )012212 2121 QQQmmPPPnnC nnn +−−=+−−⇒ −− 2Q

Page 16: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.16ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Οµαλή Συνένωση Καµπυλών Bézier

• Παρατηρήσεις:– Αν n=m, η εξίσωση της C1 γίνεται

(δηλ. η απόσταση )– Αν n=m=3, η εξίσωση της C2 γίνεται (= έστω).

Ισχύει: και

– Κάθε επιπλέον βαθµός συνέχειας που απαιτούµε καθορίζει τη θέση ενόςσηµείου ελέγχου της δεύτερης καµπύλης (περιορισµός).

» Για n=m=3 µε C2 η Q έχει ελεύθερο µόνο το

11 −−=− nnn PPPQ

11 −= nnn PPPQ

2112 22 PPQQ −=− D. 211122 QQQDPPPD ==

. 3Q

Page 17: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.17ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Καµπύλες B-Spline

• Spline: καµπύλη που προκύπτει από ένωση επιµέρους καµπυλών µεκατάλληλες συνθήκες συνέχειας:

– Αν επιµέρους καµπύλες είναι βαθµού k, µπορεί να απαιτηθεί ως Ck-1.– Βαθµός B-Spline = βαθµός επιµέρους καµπυλών.

• B-Spline: ορισµός µε n+1 σηµεία ελέγχου– Πλήθος σηµείων ελέγχου είναι ανεξάρτητο από βαθµό k.– Εξαρτάται από πλήθος τµηµάτων καµπύλης– Ορισµός τµηµάτων σε παραµετρικά υποδιαστήµατα που ενώνονται

στο– Κόµβοι: τιµές ti της παραµέτρου στα όρια των υποδιαστηµάτων.– Είναι απαραίτητοι και κόµβοι εκτός διαστήµατος

– Πλήθος κόµβων εξαρτάται από βαθµό k και από πλήθος σηµείων ελέγχου.

:0 nPP …

[ ]1, +ii tt [ ]. maxmin , tt

[ ]. maxmin , tt

lastmaxminfirst tttt ≤≤≤≤≤≤ ………

Page 18: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.18ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Γραµµικές Καµπύλες B-Spline

• Αποτελούνται από ευθύγραµµα τµήµατα µε συνέχεια C0.

• Το τµήµα Qi(t) στο υποδιάστηµα [ti , ti+1] έχει άκρα τα και

– Αντίστοιχη γραµµικής παρεµβολής για– Οχι εύχρηστη (γενική).

1−iP :iP

[ ]11

11

1 ,,)( ++

−+

+ ∈−−

+−−

= iiiii

ii

ii

ii tttP

ttttP

tttttQ

ii PP 1− [ ]. 1, +∈ ii ttt

Page 19: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.19ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Γραµµικές Καµπύλες B-Spline

• Σηµείο επηρεάζει 2 τµήµατα, τα και

• Αν θέσουµε

τότε η επίδραση του στην καµπύλη είναι (ο εκθέτης δηλώνει βαθµόκαµπύλης).

iP iQ 1+iQ

[ ]

[ ]21112

1

12

21

11

11

1

, ,)(

, ,)(

+++++

+

++

++

++

−+

+

∈−

−+

−−

=

∈−−

+−−

=

iiiii

ii

ii

ii

iiiii

ii

ii

ii

tttPtt

ttPtttttQ

tttPtt

ttPtttttQ

και

iP ( ) ii PtN ⋅1

( )

[ )

[ )

άδιαφορετικ

,

,

∈−−

∈−−

= ++++

+

++

,0

,

,

2112

2

11

1ii

ii

i

iiii

i

i ttttttt

ttttt

tt

tN

Page 20: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.20ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Γραµµικές Καµπύλες B-Spline

• Αθροίζοντας τις επιδράσεις όλων των σηµείων παίρνουµε τηνεξίσωση της γραµµικής B-Spline:

• Πόσοι κόµβοι για n+1 σηµεία ελέγχου (δηλ. n τµήµατα καµπύλης);– ενώνει τα και για– Αρα το διάστηµα ορισµού είναι– Οµως από ορισµούς παρατηρούµε ότι χρειάζονται δύο επιπλέον

ακραίοι κόµβοι t0 και tn+2 .• Ετσι τα και επηρεάζουν και αυτά 2 τµήµατα καµπύλης.• Η τιµή των ακραίων αυτών κόµβων δεν έχει σηµασία.

nPPP ,,, 10 …

( ) ( )∑=

⋅=n

iii PtNtQ

0

1

( ) nitQi …1 | = 1−iP iP [ ]. , 1+∈ ii ttt[ ]. , 11 +ntt

( )tNi1

0P nP

Page 21: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.21ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Τετραγωνικές Καµπύλες B-Spline

• Εστω το τµήµα 2ου βαθµού Qi(t) που ορίζεται στο [ti , ti+1]:– Ορίζεται από 3 σηµεία ελέγχου: µε 2 βήµατα γραµµικής

παρεµβολής.– Το πρώτο βήµα παρεµβάλλει τα και στα διαστήµατα [ti-1 , ti+1]

και [ti , ti+2] αντίστοιχα (και όχι στο [ti , ti+1] όπως στις Bézier).

– Το δεύτερο βήµα παρεµβάλλει τα σηµεία της πρώτης γραµµικής παρεµβολήςκαι στο διάστηµα [ti , ti+1].

– Με αντικατάσταση των και στην Qi παίρνουµε έκφραση συναρτήσει τωνσηµείων ελέγχου (ορίζεται στο [ti , ti+1]).

iii PPP , , 12 −−

12 , −− ii PP ii PP ,1−

[ ]

[ ]22

12

21

11111

12

11

111

, ,)(

, ,)(

++

−+

+

+−−−+

−−

−+

+−

∈−

−+

−−

=

∈−−

+−−

=

iiiii

ii

ii

ii

iiiii

ii

ii

ii

tttPtt

ttPtttttQ

tttPtt

ttPtttttQ

( )tQi1

1− ( )tQi1

( ) ( ) [ ]11

1

11

1

1 , ,)( ++

−+

+ ∈−−

+−−

= iiiii

ii

ii

ii ttttQ

tttttQ

tttttQ

11−iQ 1

iQ

iii

i

ii

ii

ii

i

ii

i

ii

i

ii

i

iii

i

ii

ii

Ptt

tttt

ttPtttt

tttt

tttt

tttt

Ptttt

tttttQ

−−

−−

+

−−

−−

+−−

−−

+

−−

−−

=

++−

+

+

+−+

+

+

−−+

+

+

+

211

2

2

111

1

1

1

211

1

1

1)(

Page 22: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.22ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Τετραγωνικές Καµπύλες B-Spline

• Αν εξετάσουµε 2 διαδοχικά τµήµατα B-Spline Qi(t) µε και Qi+1(t) µεστην κοινή τιµή παραµέτρου t=ti+1 παρατηρούµε ότι:

δηλαδή έχουµε συνέχεια C0 και C1.• Θα δώσουµε έκφραση ολόκληρης της τετραγωνικής B-Spline συναρτήσει των

σηµείων ελέγχου της:– Το επηρεάζει τα τµήµατα Qi(t), Qi+1(t) και Qi+2(t) .

[ ]1 , +∈ ii ttt[ ]21 , ++∈ ii ttt

)()()()(

111

111

+++

+++

′=′

=

iiii

iiii

tQtQtQtQ

iP

[ ]

[ ]

[ ]32221213

3

23

32

211113

3

12

1

212

2111

121

12

,,)(

,,)(

,,)(

++++++++

+

++

++

++++++

+

++

+

+++

+−++

+++

−−

∈++−−

−−

=

∈+

−−

−−

+−

−−−

+=

∈−

−−−

++=

iiiiiiiii

i

ii

ii

iiiiiii

i

ii

i

ii

i

ii

iiii

iiiii

i

ii

iiiiii

tttPcPbPtttt

tttttQ

tttPcPtttt

tttt

tttt

ttttPatQ

tttPtt

tttt

ttPbPatQ

Page 23: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.23ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Τετραγωνικές Καµπύλες B-Spline

– Ορίζουµε:

– Οπότε η B-Spline µε σηµεία ελέγχου τα γράφεται:

• Πρώτα σηµεία ελέγχου είναι τα . Αρα πρώτο τµήµα καµπύλης είναι το Q2(t)µε κόµβους t1, t2, t3, t4.

• Αντίστοιχα τελευταίο τµήµα είναι το Qn(t) που απαιτεί τα και τουςκόµβους tn-1, tn, tn+1, tn+2 .

• Γενικά µια τετραγωνική B-Spline µε (n+1) σηµεία ελέγχου χρειάζεται (n+2) κόµβους :

– Για ικανοποίηση των παραπάνω σχέσεων χρειάζονται και 2 πλασµατικοί κόµβοιt0 και tn+3 που δεν επηρεάζουν την καµπύλη.

– ∆ιάστηµα ορισµού της καµπύλης είναι το [t2, tn+1].

( )

[ )

[ )

[ )

∈−−

−−

∈−−

−−

+−

−−−

∈−−

−−

=

++++

+

++

+

++++

+

++

+

+++

+

+++

άδιαφορετικ

,0

,,

,,

,,

3213

3

23

3

2113

3

12

1

212

2

111

2

iiii

i

ii

i

iiii

i

ii

i

ii

i

ii

i

iiii

i

ii

i

i

ttttttt

tttt

ttttttt

tttt

tttt

tttt

ttttt

tttt

tt

tN

nPP …0 ( ) ( )∑=

⋅=n

iii PtNtQ

0

2

210 ,, PPP

nnn PPP ,, 12 −−

nPP …021 +ntt …

Page 24: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.24ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Καµπύλες Β-Spline βαθµού k

• Εύκολα αποδεικνύεται ότι:

• Γενικεύοντας, οι συναρτήσεις B-Spline βαθµού k ορίζονται αναδροµικά:

θέτοντας σαν συνθήκη διακοπής της αναδροµής τις B-Spline βαθµού 0:

( ) ( ) ( )tNtttttN

tttttN i

ii

ii

iii

11

13

31

2

12+

++

+

+ −−

+−

−=

( ) ( ) ( ),11

11

111 tNtttttN

tttttN r

iiri

riri

iri

ri

−+

+++

++−

+ −−

+−

−=

rknikr

−+=

=

, ,1 ,0,,2,1

……

( ) [ ) ∈

= +

άδιαφορετικ

,1,,0 10 ii

ittt

tN kni += ,,1,0 … µε αντιµετάθεση του 0 και 1

Page 25: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.25ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Καµπύλες Β-Spline βαθµού k

• Το είναι πολυώνυµο βαθµού r ως προς t :– Εχει “τοπική στήριξη” στο διάστηµα [ti, ti+r+1) δηλ. είναι µηδενικό εκτός

αυτού του διαστήµατος.– ∆ιαδοχικά ενώνονται µε συνέχεια Cr-1 στα σηµεία που

η παράµετρος t παίρνει τις τιµές των κόµβων.– Π.χ. γραµµικές B-Spline (k=1) για n=4:

– Π.χ. τετραγωνικές B-Spline (k=2) για n=4:

( )tN ri

( ) [ ]rknitN ri −+= …0

Page 26: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.26ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Καµπύλες Β-Spline βαθµού k

• Η κατασκευή ενός τµήµατος της B-Spline βαθµού k γίνεται µε k επίπεδαγραµµικής παρεµβολής:

– Το πρώτο επίπεδο χρησιµοποιεί k+1σηµεία ελέγχου• Παρεµβολή των σηµείων αυτών κατά ζεύγη µας δίνει ευθύγραµµα τµήµατα, ένασηµείο των οποίων ορίζεται ως

– Κάθε επόµενο επίπεδο r=2, 3, … k χρησιµοποιεί σηµεία του προηγούµενου επιπέδουγια την κατασκευή του µε διάστηµα ορισµού [tj , tj+k-r+1].

– Μετά από k βήµατα καταλήγουµε στο βαθµού k και ορισµένο στοδιάστηµα

– ∆ιαδοχικά Qi(t) ενώνονται µε συνέχεια Ck-1.• Μία καµπύλη B-Spline βαθµού k µε (n+1) σηµεία ελέγχου γράφεται:

– Αποτελείται από (n-k+1) πολυωνυµικά τµήµατα βαθµού k (Qi(t), i=k…n) καθέναορισµένο στο διάστηµα [ti , ti+1].

– Συνολικό πεδίο ορισµού είναι το [tk , tn+1].– Συνολικά απαιτούνται (n+k) κόµβοι t1…tn+k (συν δύο πλασµατικοί στα άκρα t0 , tn+k+1).

• Πρέπει να ισχύουν και

( ) [ ]1,, +∈ iii ttttQ

. iki PP …−

( ) [ ]. ορισµού διάστηµα µε kjjj , tt ikijtQ ++−= …1,1

( ) irkijtQ rj …+−=,

( )tQQ ik

i =[ ]. 1, +ii tt

nPP …0

( ) ( )∑=

⋅=n

ii

ki PtNtQ

0

1+≤ ii tt . kii tt +<

Page 27: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.27ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Καµπύλες Β-Spline βαθµού k

• Υπολογισµός σηµείων B-Spline - Αλγόριθµος de Boor:– Επαναληπτική µέθοδος αντίστοιχη de Casteljau για Bézier– Βασίζεται στα βήµατα γραµµικής παρεµβολής.

• Εστω ότι θέλουµε το σηµείο για B-Spline βαθµού k µε σηµείαελέγχου

– Θέτουµε:

και

– Οπότε το ζητούµενο σηµείο είναι το• Π.χ. τρίγωνο de Boor για k=3.

( ) [ ]1,, +∈ ii ttttQ nPP …0

( ) ikikijPtQ jj , ,1 , ,0 …+−−==

( ) ( ) ( ),1

1

11

1

1 tQtt

tttQ

tttt

tQ rj

jjrk

jrj

jjrk

jrkrj

++−

−−

++−

++−

−+

−=

irkirkij

kr

,,1,

,,2,1

++−+−=

=

( ) ( ) . tQtQ ki=

( )tQQQQQPQQQP

QQPQP

iiiii

iiii

iii

ii

=====

−−−−

−−−

−−

3210

21

11

011

12

022

033

Page 28: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.28ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Καµπύλες Β-Spline βαθµού k

• Αλγόριθµος de Boor:– Υλοποίηση µε 1∆ πίνακα k+1 στοιχείων.– Αντίθετα από de Casteljau, τα βάρη συνδυασµού σηµείων δεν είναι σταθερά.

• Ψευδοκώδικας υπολογισµού µε δείκτες πίνακα από 0 (θέτουµεm=j-i+k, οπότε m: 0…k-r).

– Για σχεδιασµό ολόκληρης B-Spline, αρκεί η εύρεση διαδοχικών σηµείων µεκάποιο βήµα ∆t.

for (j=i-k; j<=i; j++)

m=j-i+k;

deBoor_pts[m]=control_pts[j];

for (r=1; r<=k; r++)

for (j=i; j>=i-k+r; j--)

m=j-i+k;

coeff=(t-knots[j])/(knots[k-r+1+j]-knots[j]);

deBoor_pts[m]=(1-coeff)*deBoor_pts[m-1]+coeff*deBoor_pts[m];

( ) [ ]1,, +∈ ii ttttQ

Page 29: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.29ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Ιδιότητες Κόµβων B-Spline• Εστω B-Spline βαθµού k µε τους k πρώτους κόµβους ίσους, t1=t2=…=tk,

(ο πρώτος κόµβος έχει “πολλαπλότητα” k):– Αποδεικνύεται τότε ότι δηλ. η B-Spline (που ορίζεται στο

[tk, tn+1]) παρεµβάλλει το . • Αντίθετα µε τις Bézier, οι Β-Spline δεν παρεµβάλλουν ακραία σηµεία, εκτός αν έχουµε κόµβους πολλαπλότητας k στην αρχή ή στο τέλος.

– Γενικότερα αν ti=ti+1 η Q(ti) χάνει µια τάξη συνέχειας.• Αν ένας κόµβος έχει πολλαπλότητα r η καµπύλη είναι Ck-r στοαντίστοιχο σηµείο.

• Π.χ. τετραγωνικές συναρτήσεις B-Spline µε ti=ti+1=6.

– Μέγιστη πολλαπλότητα είναι k αφού διαφορετικά θα έχουµε συνέχειαµικρότερη από C0. Αρα ti<ti+k .

( ) ( ) 01 PtQtQ k ==0P

Page 30: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.30ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Ιδιότητες Καµπυλών B-Spline

• Τοπικός Ελεγχος: το επηρεάζει µόνο το διάστηµα καµπύλης όπου ηείναι µη µηδενική.

– Η Bézier έχει µόνο ψευδο-τοπικό έλεγχο.• Ιδιότητα Κυρτής Περιβάλλουσας: η καµπύλη βρίσκεται µέσα στην κυρτή

περιβάλλουσα των σηµείων ελέγχου αφού είναι κυρτός συνδυασµός τους:– Η συνθήκη αυτή είναι πιο ισχυρή στις B-Spline: η καµπύλη βρίσκεται µέσα

στην κυρτή περιβάλλουσα των (k+1) σηµείων ελέγχου που ορίζουν κάθετµήµα της.

– Π.χ. για k=2 .

iP [ )1, ++kii tt ( )tN k

i

Page 31: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.31ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Ιδιότητες Καµπυλών B-Spline

• Αναλλοίωτη σε Συσχετισµένους Μετασχηµατισµούς: εφόσον η καµπύλη είναισυσχετισµένος συνδυασµός των σηµείων ελέγχου της.

– Αρα για να µετασχηµατίσουµε µια B-Spline αρκεί να µετασχηµατίσουµε τασηµεία ελέγχου της.

• Αναλλοίωτη σε Συσχετισµένους Μετασχηµατισµούς της Παραµέτρου της,

• Γραµµική Ακρίβεια: αν τα είναι συνευθειακά, τότε η B-Spline γίνεταιευθύγραµµο τµήµα.

• Παρεµβολή Ακραίων Σηµείων: µε πολλαπλότητα k στους ακραίους κόµβους.• Αποτελούν Γενίκευση των Καµπυλών Bézier.• Πρακτικά, συνήθως χρησιµοποιούνται B-Spline χαµηλού βαθµού π.χ. 3.

( ) tabau ⋅−+=

iP

Page 32: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.32ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Καµπύλες Παρεµβολής

• Καµπύλες παρεµβολής: διέρχονται από δοσµένα σηµεία– Συγκεκριµένα για δοσµένες τιµές της παραµέτρου έχουµε

– (Οι καµπύλες προσέγγισης δεν διέρχονται απαραίτητα από τα )• Παραδοσιακές µέθοδοι παρεµβολής: κατασκευή P(t) σαν πολυωνυµική καµπύλη

βαθµού n:– Είναι µοναδική.– Πρέπει να προσδιορισθούν οι (n+1) συντελεστές του αντίστοιχου πολυωνύµου.– Λύση συστήµατος εξισώσεων όχι πρακτική.– Αλγόριθµοι Aitken και Lagrange προτιµούνται.

• Μειονεκτήµατα ύπαρξης ενός υψηλόβαθµου πολυωνύµου:– Πολύπλοκοι και αριθµητικά ασταθείς υπολογισµοί.– Υψηλόβαθµη καµπύλη παρουσιάζει ταλαντώσεις (σχήµα).

nttt ,,, 10 …( ) niPtP ii ,,1,0, …==

iP

:,,, 10 nPPP …

Page 33: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.33ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Αλγόριθµος Aitken

• Αναδροµική µέθοδος κατασκευής πολυωνύµου βαθµού n από (n+1) σηµεία:– Για n=1 η παρεµβολή γίνεται µε ευθύγραµµο τµήµα.– Για n>1 χρησιµοποιούνται διαδοχικά βήµατα γραµµικής παρεµβολής.

Θέτουµε και

– Το είναι το σηµείο της καµπύλης για την τιµή τηςπαραµέτρου.

ii PP =0

( ) ( ) ( ),11

1 tPtt

tttPtttttP r

iiri

iri

iri

riri

−+

+

+

+

−−

+−−

=rn,,i

n,,r−=

=

,10,21

……

( )tP n0 [ ]nttt ,0∈

Page 34: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.34ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Αλγόριθµος Aitken• Απόδειξη ότι µε επαγωγή:

– Υποθέτουµε ότι ισχύει για n-1 σηµεία.– Για n σηµεία η δίνεται από τη σχέση:

– Από την υπόθεση, οι και παρεµβάλλουν τα (n-1) σηµείακαι αντίστοιχα. Αρα:

– Για τα υπόλοιπα ti, i=1,2, … , n-1 χρησιµοποιούµε την υπόθεση της επαγωγήςκαι το γεγονός ότι οι συντελεστές της

αθροίζουν στη µονάδα.

( ) ( ) ( )tPtttttP

tttttP n

n

n

n

nn 11

0

010

00

−−

−−

+−−

=

( ) iin PtP =0

( )tP n0

( ) ( ) ( ) ( )( ) ( ) ( ) ( ) nn

nn

nn

nn

n

nnnn

PtPtPtPtP

PtPtPtPtP

==⋅+⋅=

==⋅+⋅=−−−

−−−

11

11

100

001

001

101

000

10

01

( ) ( )tPtP nn 11

10

−− 10 −nPP …

nPP …1

( ) ( ) 1 1 , 11

10 −=== −− niPtPtP ii

ni

n …

( ) ( ) ( )

iin

ii

n

in

in

n

ii

n

n

ini

n

PPttttP

tttt

tPtttttP

tttttP

=−−

+−−

=

−−

+−−

= −−

0

0

0

11

0

010

00

( )tP n0

Page 35: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.35ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Ιδιότητες Παρεµβολής Aitken

• Αναλλοίωτη κάτω από συσχετισµένους µετασχηµατισµούς:– Αφού όλα τα βήµατα του αλγορίθµου είναι γραµµικές παρεµβολές

(συσχετισµένες απεικονίσεις).• Απουσία ιδιότητας κυρτής περιβάλλουσας:

– Η παράµετρος t δεν ανήκει πάντα στο διάστηµα [ti, ti+r] άρα οι συντελεστέςµπορεί να είναι και αρνητικοί (βλέπε προηγούµενο σχήµα).

– Η καµπύλη δεν βρίσκεται συνολικά µέσα στην κυρτή περιβάλλουσα τωνσηµείων παρεµβολής.

– Αυτό ισχύει γενικά για λείες καµπύλες παρεµβολής.• Γραµµική ακρίβεια:

– Αν τα είναι συνευθειακά η καµπύλη παρεµβολής είναι ευθύγραµµοτµήµα.

iP

Page 36: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.36ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Πολυώνυµα Lagrange

• Απ’ ευθείας υπολογισµός πολυωνύµου παρεµβολής βαθµού n για (n+1) σηµεία:– Τα πολυώνυµα Lagrange

χρησιµοποιούνται για την κατασκευή της καµπύλης παρεµβολής:– Τα πολυώνυµα Lagrange ικανοποιούν τη σχέση

– ∆ηλαδή το µηδενίζεται σε όλους τους κόµβους εκτός από τον ti για τονοποίο παίρνει τιµή 1.

– Τα πολυώνυµα Lagrange αθροίζουν στην µονάδα βαρυκεντρικόςσυνδυασµός σηµείων άρα αναλλοίωτη κάτω από συσχετισµένους µετ/µούς.

– Τα πολυώνυµα Lagrange δεν είναι παντού θετικά, άρα δεν ισχύει η ιδιότητατης κυρτής περιβάλλουσας.

( ) nitttttL

n

ijj ji

ini , ,1 ,0 ,

0…=

−−

= ∏≠=

( ) ( ) in

i

ni PtLtP

0∑=

=( ) jij

ni δtL ,=

≠=

=jiji

δ ji ,0,1

,όπου δi,j το δέλτα του Kronecker

niL

Page 37: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.37ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Παρεµβολή κατά Τµήµατα

• Aitken και Lagrange κατασκευάζουν πολυώνυµα βαθµού n για (n+1) σηµείαπαρεµβολής:

– Υπολογιστικά ακριβό.– Ταλαντώσεις.

• Μέθοδοι κατά - τµήµατα - παρεµβολής χρησιµοποιούν ακολουθία χαµηλόβαθµωνπαρεµβολών:

– Υπολογιστικά φθηνό.– Μεγάλος έλεγχος µορφής καµπύλης (π.χ. εφαπτόµενης σε κάθε σηµείο).

• Κατά - τµήµατα - παρεµβολή, εξετάζουµε τριτοβάθµιες:– Hermite.– B-Spline.

Page 38: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.38ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Παρεµβολή Hermite

• Κυβική παρεµβολή Hermite: τριτοβάθµια καµπύλη P(t) µεταξύ και µεεφαπτοµενικά διανύσµατα στα άκρα m0 και m1 :

– 4 άγνωστοι (κυβική) και 4 δεδοµένα, άρα λύνεται.• Κάθε τριτοβάθµια καµπύλη µπορεί να εκφραστεί µε τη βοήθεια των

πολυωνύµων Bernstein, στη µορφή Bézier. Αρα:

– όπου τα σηµεία ελέγχου που πρέπει να βρούµε.• Η καµπύλη Bézier διέρχεται από τα ακραία σηµεία της, άρα:

10 PP

( ) ( )( ) ( ) 11

00

1100

mPPPmPPP

=′==′=

( ) ( ) ii

i QtBtP ∑=

=3

0

3

( )( ) 13

00

10

PPQPPQ

==

==

30, …=iQi

Page 39: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.39ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Παρεµβολή Hermite

• Γνωρίζουµε ότι για τα εφαπτόµενα στα άκρα διανύσµατα της καµπύλης Bézierισχύει:

• Η ζητούµενη καµπύλη είναι:

ή αναδιατάσσοντάς την συναρτήσει των στοιχείων ορισµού της

όπου χρησιµοποιήσαµε τα πολυώνυµα Hermite 3ου βαθµού

( ) ( )

( ) ( ) 112231

001010

3131

3130

mPQQQPm

mPQQQPm

−=⇔−=′=

+=⇔−=′=

( ) ( ) ( ) ( ) 13

112

002

03

3113

31131 PtmPttmPttPttP +

−−+

+−+−=

( ) ( ) ( ) ( ) ( ) 1331

320

310

30 PtHmtHmtHPtHtP ++=

( )( )( )( ) 233

3

2332

2331

2330

32

2

132

tttH

tttH

ttttH

tttH

+−=

−=

+−=

+−=

Page 40: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.40ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Παρεµβολή Hermite

• Αλλαγή παραµετρικού διαστήµατος από σε– Συσχετισµένη αλλαγή παραµέτρου σε– Οι Hermite, αντίθετα από τις Bézier, δεν παραµένουν αναλλοίωτες επειδή

συµµετέχει η εφαπτοµένη στον ορισµό τους.– Για να παραµένει αναλλοίωτη µια καµπύλη Hermite, αποδεικνύεται ότι

πρέπει να διαιρέσουµε τα m0 και m1 µε το (b-a):

• Η Hermite παίρνει τη µορφή:

όπου χρησιµοποιούµε τα µετασχηµατισµένα πολυώνυµα Hermite 3ου βαθµού:

[ ] [ ]:,1,0 baut ∈∈( ) .1 btatu ⋅+⋅−=

( ) ( )

( ) ( )abQQbPm

abQQaPm

−−

=′=

−−

=′=

231

010

3

3

( ) ( ) ( ) ( ) ( ) 1331

320

310

30 ˆˆˆˆ PuHmuHmuHPuHuP +++=

( ) ( )( ) ( ) ( )( ) ( ) ( )( ) ( )tHuH

tHabuH

tHabuH

tHuH

33

33

32

32

31

31

30

30

ˆ

ˆ

ˆ

ˆˆ

=

−=

−=

=

Page 41: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.41ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Κατά - Τµήµατα Παρεµβολή Hermite

• Εστω παρεµβολή µεταξύ µε αντίστοιχα εφαπτόµενα διανύσµαταm0, m1, … ,mn και τιµές παραµέτρου t0, t1, … ,tn :

– Αν η ζητούµενη καµπύλη, θα ισχύει:

– Για κάθε τµήµα παρεµβολής έχουµε παρεµβολή µεταξύ καιµε ακραία εφαπτοµενικά διανύσµατα mi και mi+1 άρα η τριτοβάθµια

καµπύλη παρεµβολής Hermite είναι:

όπου

µε t =(u − ti)/(ti+1−ti) την τοπική παράµετρο.

nPPP ,,, 10 …

( ) [ ]nttuuP ,, 0∈

( ) ( ) nimtPPtP iiii και ,,1,0, …==′=( ) [ ]1,, +∈ iii ttuuP iP

1+iP

( ) ( ) ( ) ( ) ( ) ( ) [ ]11331

32

31

30 ,,ˆˆˆˆ

+++ ∈+++=≡ iiiiiii ttuPuHmuHmuHPuHuPuP

( ) ( )( ) ( ) ( )( ) ( ) ( )( ) ( )tHuH

tHttuH

tHttuH

tHuH

ii

ii

33

33

321

32

311

31

30

30

ˆ

ˆ

ˆ

ˆ

=

−=

−=

=

+

+

Page 42: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.42ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Κατά - Τµήµατα Παρεµβολή Hermite

• Εφαπτόµενα διανύσµατα δεν δίνονται πάντα στην πράξη:– Ανάγκη χρήσης “λογικών” εφαπτόµενων διανυσµάτων και δυνατότητα

µεταβολής τους από χρήστη.• Μέθοδος FMILL θέτει mi στο παράλληλο στην ευθεία που ορίζεται από τα

και

– Εξασφαλίζει C1 συνέχεια στις ενώσεις.– ∆εν µπορεί να υπολογίσει τα m0 και mn.– H καµπύλη που δηµιουργείται ονοµάζεται Catmull - Rom spline.

iP:11 +− ii PP

1,,2,1,11 −=−= −+ niPPm iii …

Page 43: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.43ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Κατά - Τµήµατα Παρεµβολή B-Spline

• Ζητείται τριτοβάθµια B-Spline καµπύλη Q(t) που να παρεµβάλλει τα σηµείαστις αντίστοιχες τιµές της παραµέτρου t0 … tn :

– Αν τα είναι διαφορετικά µεταξύ τους, το ίδιο πρέπει να ισχύει και για τα ti(αύξουσα σειρά).

– Για να περνά η Q(t) από τα και πρέπει να έχουµε πολλαπλότητα 3στους ακραίους κόµβους: t-2 = t-1(= t0) και (tn =) tn+1 = tn+2.

– Πρέπει να προσδιοριστούν τα σηµεία ελέγχου της Q(t) δηλ. τα

• Η τριτοβάθµια B-Spline µε n+1 σηµεία ελέγχου έχει n+3κόµβους t1 … tn+3 .

• Αρα αφού έχουµε τους n+5 κόµβους t-2 … tn+2 , απαιτούνται τα n+3παραπάνω σηµεία ελέγχου.

• Από την εξίσωση ορισµού B-Spline έχουµε:

(για τα ακραία σηµεία η σχέση απλοποιείται κατευθείαν αφού γνωρίζουµε ότικαι ).

– Τελικά έχουµε n+1 εξισώσεις µε n+3 αγνώστους (τα ).– Προσθέτουµε 2 ακόµα περιορισµούς στα 2 ακραία άγνωστα σηµεία

(τα και ) και λύνουµε το σύστηµα.

nPP …0

( ) niPtQ ii …0, ==

( ). 1,,2,3, −−−= niQi …

iP

nPP 0

nQQ …0

( ) ( )∑−

−=⋅==

1

3

3n

jijijj QtNtQP

nn PQPQ == −− 103

iQ

22 −− nQQ

Page 44: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.44ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Παραµετροποίηση Καµπύλων Παρεµβολής

• Ως τώρα υποθέσαµε ότι δίνονται τα σηµεία παρεµβολής και οι κόµβοι ti :– Συνήθως ο χρήστης απαιτεί µια οµαλή καµπύλη που να περνά από τα και

δεν ενδιαφέρεται για τα ti.• Μια απλή λύση είναι η χρήση ισαπέχοντων κόµβων.• Αν λάβουµε όµως υπ’ όψη τη γεωµετρία των σηµείων παίρνουµε καλύτερα

αποτελέσµατα.– Π.χ. παραµετροποίηση µήκους χορδής (απόσταση µεταξύ ti εξαρτάται από

απόσταση µεταξύ ).

ii

ii

ii

iiPP

PPtt

tt−−

=−−

+

++

+

++

1

12

1

12

iPiP

iP

Page 45: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.45ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Παραµετρικές Επιφάνειες

• Παραµετρική µορφή επιφάνειας:– Περιλαµβάνει 2 παραµέτρους:

– Η µία παράµετρος διαγράφει µία καµπύλη ενώ η δεύτερη µετακινεί αυτή τηνκαµπύλη στο χώρο.

– Η καµπύλη που αντιστοιχεί σε σταθερό u ή t ονοµάζεται ισοπαραµετρικήκαµπύλη (ισοϋψείς).

( )( )( )

===

utzzutyyutxx

,,,

Page 46: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.46ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Επιφάνειες Bézier Τανυστικό Γινόµενο

• Εστω αρχική καµπύλη βαθµού m ως προς t µε (m+1) σηµεία ελέγχου

• Εστω ότι το κάθε διαγράφει καµπύλη βαθµού n ως προς u µε σηµεία ελέγχου

• Τότε κάθε σηµείο της αρχικής καµπύλης διαγράφει καµπύλη βαθµού n καιπαράγεται η επιφάνεια Bézier τανυστικό γινόµενο:

– Η εξίσωση της επιφάνειας λαµβάνεται µε αντικατάσταση του από τοστην εξίσωση της αρχικής καµπύλης:

– Η αρχική καµπύλη είναι η ισοπαραµετρική καµπύλη για u=0 µε σηµείαελέγχου τα

:0, miPi …=

( ) ( ) [ ]∑=

∈=m

ii

mi

m tPtBtP0

1,0,

iP:0, njPij …=

iP

( ) ( ) [ ]∑=

∈=n

jij

nj

ni uPuBuP

01,0,

( ) ( ) ( )

( ) ( ) [ ] [ ]1,0,1,0,

,

0 0

0 0

,

∈∈=

=

∑ ∑

∑ ∑

= =

= =

utPuBtB

PuBtButP

m

i

n

jij

nj

mi

m

i

n

jij

nj

mi

nm

miPP ii …0,0 ==

( )uPni

Page 47: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.47ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Επιφάνειες Bézier Τανυστικό Γινόµενο

• Οι καµπύλες Bézier που χρησιµοποιήθηκαν για τον ορισµό της επιφάνειαςέχουν συνολικά (m+1)×(n+1) σηµεία ελέγχου

– Αυτά ονοµάζονται σηµεία ελέγχου της επιφάνειας Bézier:

• Οι ισοπαραµετρικές καµπύλες για u=0, u=1, t=0 και t=1 ονοµάζονται συνοριακέςκαµπύλες της επιφάνειας.

• Παράδειγµα επιφάνειας Bézier βαθµών 2 και 3.

:0,0, njmiPij …… ==

mnmm

n

n

PPP

PPPPPP

……

10

11110

00100t

u

Page 48: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.48ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Υπολογισµός Σηµείου Επιφάνειας Bézier

• Αλγόριθµος de Casteljau για υπολογισµό– Εφαρµογή de Casteljau σε κάθε γραµµή του πίνακα σηµείων ελέγχου για το

δεδοµένο u δίνει (m+1) σηµεία.– Εφαρµογή de Casteljau στα (m+1) νέα σηµεία για το δεδοµένο t δίνει το

σηµείο της επιφάνειας.point deCasteljauSurfacePoint(int m, int n,

point[][] control_pts float t, float u)

point[] temp_pts;

point[] bez_pts;

for (i=0; i<=m; i++)

for (j=0; j<=n; j++)

temp_pts[j]=control_pts[i][j];

bez_pts[i]=deCasteljauPoint(n, temp_pts, u);

return deCasteljauPoint(m, bez_pts, t);

( )utP nm ,,

Page 49: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.49ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Ιδιότητες Επιφανειών Bézier

• Προκύπτουν από τις αντίστοιχες ιδιότητες των καµπύλων Bézier.• Ιδιότητα κυρτής περιβάλλουσας.

– Αφού είναι κυρτός συνδυασµός των σηµείων ελέγχου της.

• Αναλλοίωτη κάτω από συσχετισµένους µετασχηµατισµούς.• Αναλλοίωτη κάτω από συσχετισµένους µετασχηµατισµούς παραµέτρων.• Συνοριακές καµπύλες: λαµβάνονται από τις ακραίες γραµµές και στήλες του

πίνακα των σηµείων ελέγχου.– Τα 4 γωνιακά σηµεία ελέγχου βρίσκονται πάνω στην επιφάνεια.

• Υπάρχουν συναρτήσεις παραγώγων και κανονικού διανύσµατος για κάθε σηµείο(t, u) της επιφάνειας.

• Ψευδο-τοπικός έλεγχος: µέγιστη επιροή στις τιµές (t, u)=(i/m, j/n) τωνπαραµέτρων.

ijP

( ) ( )∑ ∑= =

=m

i

n

j

nj

mi uBtB

0 01

Page 50: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.50ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Επιφάνειες B-Spline Τανυστικό Γινόµενο• Επιφάνειες Bézier έχουν ανάλογες ιδιότητες (άρα και µειονεκτήµατα) µε καµπύλες

Bézier.• Επιφάνειες B-Spline τανυστικό γινόµενο βαθµού k ως προς t και l ως προς u ορίζονται

ανάλογα µε επιφάνειες Bézier:– Συνενώνονται µε Ck-1 ως προς t και Cl-1 ως προς u.– Χρήση πίνακα (m+1)×(n+1) σηµείων ελέγχου (τα m και n

είναι ανεξάρτητα από τα k και l).

– Ακολουθίες (m+k) κόµβων ως προς t και (n+l) κόµβων ως προς u (ανεξάρτητεςµεταξύ τους) t1, t2, … , tm+k u1, u2, … , un+l

– Ανάγκη πλασµατικών κόµβων t0, tm+k+1, u0, un+l+1 για ορισµούς.– Πεδίο ορισµού [tk,tm+1]×[ul,un+1].

– Στοιχεία ελέγχου επιφάνειας B-Spline:

• Υπολογισµός σηµείου επιφάνειας Qm,n(t,u) µε διπλή εφαρµογή αλγορίθµου de Boor.

njmiPij …… 0,0, ==

( ) ( ) ( )∑ ∑= =

=m

i

n

jij

lj

ki

nm PuNtNutQ0 0

, ,

km

mnmmm

n

n

lnn

t

PPPt

PPPtPPP

uuu

+

+

……

……

10

111101

00100

1

Page 51: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.51ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Ιδιότητες Επιφανειών B-Spline

• Ιδιότητες κόµβων: αντίστοιχες µε καµπύλες B-Spline.– Π.χ. αν οι k πρώτοι κόµβοι ως προς t είναι ίσοι, η επιφάνεια παρεµβάλλει την

ισοπαραµετρική καµπύλη του t= t0= tk .• Παραµετροποίηση πολύ πιο δύσκολη από καµπύλες Β-Spline:

– Επειδή υπάρχουν µόνο 2 ακολουθίες κόµβων t και u.– Π.χ. για παραµετροποίηση µήκους χορδής, ποια από όλες τις καµπύλες θα

επιλέξουµε;– Μέσος όρος δεν δίνει καλά αποτελέσµατα αν διαδοχικές καµπύλες έχουν µεγάλη

διαφορά.• Τοπικός έλεγχος: επηρεάζει το τµήµα καµπύλης [ti,ti+k+1)×[uj,uj+l+1).• Ιδιότητα κυρτής περιβάλλουσας:

– Αφού η επιφάνεια Β-Spline είναι κυρτός συνδυασµός των σηµείων ελέγχου της.– Στις B-Spline η ιδιότητα αυτή είναι πιο ισχυρή: ένα σηµείο της επιφάνειας

βρίσκεται µέσα στην κυρτή περιβάλλουσα των (k+1)×(l+1) σηµείωνυπολογισµού του.

– Αρα η επιφάνεια βρίσκεται µέσα στην ένωση αυτών των κυρτώνπεριβαλλουσών.

• Αναλλοίωτη κάτω από συσχετισµένους µετασχηµατισµούς.• Αναλλοίωτη κάτω από συσχετισµένους µετασχηµατισµούς των παραµέτρων της.

ijP

Page 52: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.52ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Παρεµβολή µε Επιφάνειες B-Spline

• Εστω παρεµβολή πλέγµατος σηµείων του τρισδιάστατου χώρου µε δικυβικέςεπιφάνειες B-Spline τανυστικό γινόµενο:

– (m+1)×(n+1) σηµεία προς παρεµβολή µε τιςακολουθίες παραµέτρων ti, i=0 …m, uj, j=0 … n.

– Ζητείται B-Spline επιφάνεια Q(t,u):

• Παρεµβολή επιτυγχάνεται µε γενίκευση µεθόδου παρεµβολής B-Splineκαµπύλης.

njmiPij …… 0,0, ==

( ) ijji PutQ = ,njmi ,,1,0,,1,0

……

==

Page 53: µ – P. de Casteljau, Citroën. – P. Bézier, Renault. µ …graphics.di.uoa.gr/slidesTT/chap7.pdf7.9 Εθνικό& ΚαποδιστριακόΠανεπιστήµιοΑθηνών

7.53ΕθνικόΕθνικό & & ΚαποδιστριακόΚαποδιστριακό ΠανεπιστήµιοΠανεπιστήµιο ΑθηνώνΑθηνώνΤµήµαΤµήµα ΠληροφορικήςΠληροφορικής

ΕργαΕργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣΣΚΕΠΣΙΣ ((ΕΠΕΑΚΕΠΕΑΚ -- ΥΠΕΠΘΥΠΕΠΘ))

Επιφάνειες Τανυστικό Γινόµενο - Γενικά

• Εχουν απλή µαθηµατική µορφή και προκύπτουν εύκολα σαν γενίκευση τωναντίστοιχων καµπύλων.

• Κύριο µειονέκτηµα: ανάγκη τεραγωνικής διάταξης σηµείων ελέγχου.– Ειδικά για τις B-Spline πρέπει να έχουν και σχετικά οµοιόµορφη κατανοµή,

λόγω της µοναδικής παραµετροποίησης σε κάθε κατεύθυνση.