Matematik og Form Splines. NURBS

Relaterede dokumenter
Matematik, Struktur og Form Splines. NURBS

Geometriske grundbegreber 8. lektion

Matematik og FormLineære ligningssystemer

Lidt om plane kurver og geometrisk kontinuitet

Københavns Universitet, Det naturvidenskabelige Fakultet. Afleveringsopgave 3

Introduktion til Laplace transformen (Noter skrevet af Nikolaj Hess-Nielsen sidst revideret marts 2013)

Numeriske metoder i matlab

Konstruktion af Splines

Matematik og Form 3. Rækkereduktion til reduceret echelonfo. Rang og nullitet

Det teknisk-naturvidenskabelige basisår Matematik 1A, Efterår 2005, Hold 3 Prøveopgave C

Eksamen i Calculus. 14. juni f (x, y, z) = 1 + x 2 + y 2. x 2 + y 2 1 Hele rummet uden z aksen

UVB. Skoleår: Claus Vestergaard og Franka Gallas

Højere Teknisk Eksamen maj Matematik A. Forberedelsesmateriale til 5 timers skriftlig prøve NY ORDNING. Undervisningsministeriet

Om første og anden fundamentalform

DesignMat Uge 1 Gensyn med forårets stof

Matematik A STX 18. maj 2017 Vejledende løsning De første 6 opgaver løses uden hjælpemidler

Reeksamen i Calculus

Hvis man ønsker mere udfordring, kan man springe den første opgave af hvert emne over.

Chapter 3. Modulpakke 3: Egenværdier. 3.1 Indledning

Temaopgave: Parameterkurver Form: 6 timer med vejledning Januar 2010

Besvarelser til Calculus Ordinær Eksamen Juni 2019

Uddrag af studieordningen for Adgangskursus til Ingeniøruddannelserne

Løsninger til eksamensopgaver på A-niveau 2017

Tip til 1. runde af Georg Mohr-Konkurrencen Algebra

Årsplan i matematik 9 klasse. 2018/2019 Abdiaziz Farah

Undervisningsbeskrivelse

DesignMat Uge 5 Systemer af lineære differentialligninger II

Eksamen i Calculus. 14. juni f (x, y, z) = 1 + x 2 + y 2. Hele rummet uden z aksen

Undervisningsbeskrivelse

Eksamen i Calculus. 14. juni f (x, y, z) = 1 + x 2 + y 2. x 2 + y 2 1 Hele rummet uden z aksen

Undervisningsbeskrivelse

Vektorfunktioner. (Parameterkurver) x-klasserne Gammel Hellerup Gymnasium

Årsplan i matematik klasse

Anvendt Lineær Algebra

Den homogene ligning. Vi betragter den n te ordens, homogene, lineære differentialligning. d n y dt n. an 1 + any = 0 (1.2) dt. + a1 d n 1 y dt n 1

Matematik A. 5 timers skriftlig prøve. Højere Teknisk Eksamen i Grønland maj 2009 GLT091-MAA. Undervisningsministeriet

Projektopgave 1. Navn: Jonas Pedersen Klasse: 3.4 Skole: Roskilde Tekniske Gymnasium Dato: 5/ Vejleder: Jørn Christian Bendtsen Fag: Matematik

Undervisningsbeskrivelse

f(x)=2x-1 Serie 1

Matematik for økonomer 3. semester

Polynomier. Indhold. Georg Mohr-Konkurrencen. 1 Polynomier 2. 2 Polynomiumsdivision 4. 3 Algebraens fundamentalsætning og rødder 6

Undervisningsbeskrivelse

Undervisningsbeskrivelse

Undervisningsbeskrivelse

Undervisningsbeskrivelse Mat A

Undervisningsbeskrivelse

Årsplan 9. Klasse Matematik Skoleåret 2015/16

Undervisningsbeskrivelse

MATEMATIK A-NIVEAU. Kapitel 1

Epistel E2 Partiel differentiation

Funktion af flere variable

Læringsmål Faglige aktiviteter Emne Tema Materialer

Klasseundervisning, opgaveløsning ved tavle, samt som selvstændige

Sidefagssupplering. Kapitel 1

Reeksamen i Lineær Algebra. Første Studieår ved Det Tekniske Fakultet for IT og Design samt Det Ingeniør- og Naturvidenskabelige Fakultet

Undervisningsbeskrivelse

Hvis man ønsker mere udfordring, kan man springe de første 10 opgaver over. , og et punkt er givet ved: P (2, 1).

Algebra - Teori og problemløsning

Mere om differentiabilitet

Besvarelse af Eksamensopgaver Juni 2005 i Matematik H1

Løsninger til eksamensopgaver på A-niveau 2016

Eksaminationsgrundlag for selvstuderende Skolens eksaminationsgrundlag:

Opgave 1. Hvilket af følgende tal er størst? Opgave 2. Hvilket af følgende tal er mindst? Opgave 3. Hvilket af følgende tal er størst?

Besvarelser til Calculus Ordinær eksamen - Forår - 6. Juni 2016

Eksaminationsgrundlag for selvstuderende

Gradienter og tangentplaner

Årsplan i matematik 8 klasse. 2018/2019 Abdiaziz Farah

Vektorfunktioner Parameterfremstillinger Parameterkurver x-klasserne Gammel Hellerup Gymnasium

Undervisningsbeskrivelse

Lineær algebra: Spænd. Lineær (u)afhængighed

GEOMETRI-TØ, UGE 6. . x 1 x 1. = x 1 x 2. x 2. k f

qwertyuiopåasdfghjklæøzxcvbnmqw ertyuiopåasdfghjklæøzxcvbnmqwert yuiopåasdfghjklæøzxcvbnmqwertyui Polynomier opåasdfghjklæøzxcvbnmqwertyuiopå

Lineær Algebra - Beviser

Besvarelser til Calculus Ordinær Eksamen - 5. Januar 2018

Transkript:

Matematik og Form Splines. NURBS Institut for Matematiske Fag Aalborg Universitet 2012

Opgave: Find 3.grads polynomium p(t) = a 0 + a 1 t + a 2 t 2 + a 3 t 3 sål. at y b = p(0) = a 0 y s = p(1) = a 0 + a 1 + a 2 + a 3 h b = p (0) = a 1 h s = p (1) = a 1 + 2a 2 + 3a 3 fører til et lineært ligningssystem. Løsning a 0 = p(0) a 1 = p (0) a 2 = 3p(0) + 3p(1) 2p (0) p (1) a 3 = 2p(0) 2p(1) + p (0) + p (1)

Hermitekurve Dermed bestemmes polynomiet p(t) ved indsætning af a 0, a 1, a 2, a 3 : p(t) = p(0) + p (0)t + ( 3p(0) + 3p(1) 2p (0) p (1))t 2 +(2p(0) + 2p(1) + p (0) + p (1))t 3 = 1 (1 3t 2 + 2t 3 )p(0) + (3t 2 2t 3 )p(1) +(t 2t 2 + t 3 )p (0) + ( t 2 + t 3 )p (1) = F 1 (t)p(0) + F 2 (t)p(1) + F 3 (t)p (0) + F 4 (t)p (1) Hermitepolynomier F 1 (t) = 1 3t 2 + 2t 3 F 2 (t) = 3t 2 2t 3 F 3 (t) = t 2t 2 + t 3 F 4 (t) = t 2 + t 3 De samme polynomier for hver opgave! Det der ændrer sig (variable) er værdierne p(0), p(1), p (0), p (1). 1 Sortering!

Opgave: Find 3.grads parameterfremstilling med vektorfunktion p(t), vektorer a i p(t) = a 0 + a 1 t + a 2 t 2 + a 3 t 3 sål. at P b = p(0) = a 0 P s = p(1) = a 0 + a 1 + a 2 + a 3 h b = p (0) = a 1 h s = p (1) = a 1 +2a 2 + 3a 3 fører til et lineært ligningssystem Løsning a 0 = p(0) a 1 = p (0) a 2 = 3p(0) + 3p(1) 2p (0) p (1) a 3 = 2p(0) 2p(1) + p (0) + p (1)

Kubisk parameterfremstilling Dermed bestemmes den kubiske parameterfremstilling p(t) ved ved indsætning af a 0, a 1, a 2, a 3 : p(t) = p(0) + p (0)t + ( 3p(0) + 3p(1) 2p (0) p (1))t 2 +(2p(0) + 2p(1) + p (0) + p (1))t 3 = (1 3t 2 + 2t 3 )p(0) + (3t 2 2t 3 )p(1) +(t 2t 2 + t 3 )p (0) + ( t 2 + t 3 )p (1) = F 1 (t)p(0) + F 2 (t)p(1) + F 3 (t)p (0) + F 4 (t)p (1) Hermitepolynomier F 1 (t) = 1 3t 2 + 2t 3 F 2 (t) = 3t 2 2t 3 F 3 (t) = t 2t 2 + t 3 F 4 (t) = t 2 + t 3 De samme polynomier for hver opgave! Det der ændrer sig (variable) er: p(0), p(1), p (0), p (1).

Hermitekurver Kubiske parameterfremstillinger Hermitepolynomier F 1 (t) := 2t 3 3t 2 + 1 F 2 (t) := 2t 3 + 3t 2 F 3 (t) := t 3 2t 2 + t F 4 (t) := t 3 t 2 Hermitekurve p(t) = F 1 (t)p b + F 2 (t)p s + F 3 (t)v b + F 4 (t)v s 3.grads kurve med begyndelses- og slutpunkt P b, P s samt begyndelses- og sluthastighedsvektor v b, v s.

Bézierkurver af orden 3 Kubiske Bernsteinpolynomier B 0,3 (t) := (1 t) 3 = t 3 + 3t 2 3t + 1 B 1,3 (t) := 3(1 t) 2 t := 3t 3 6t 2 + 3t B 2,3 (t) := 3(1 t)t 2 = 3t 3 + 3t 2 B 3,3 (t) := t 3 B 0,3 + B 1,3 + B 2,3 + B 3,3 = 1 B(t) = B 0,3 (t)p 0 + B 1,3 (t)p 1 + B 2,3 (t)p 2 + B 3,3 (t)p 3 3. grads Bézierkurve til kontrolpunkterne P 0, P 1, P 2, P 3.

Hermitekurver og kubiske Bézierkurver 1 Sammenligning Hermitekurver er 3.grads kurver som bestemmes ved begyndelsespunkt P b og slutpunkt P s samt begyndelseshastighed v b og sluthastighed v s. Bézierkurver af grad 3 bestemmes ved fire kontrolpunkter: begyndelsespunkt P 0 og slutpunkt P 3 samt to håndtag (eller magneter) P 1 og P 2. Man kan specificere den samme 3.ordens-kurve både som Hermitekurve og som Bézierkurve.

Hermitekurver og kubiske Bézierkurver 2 Hastighedsvektorer og kontrolpunkter Hermitekurve: endepunkter P b, P s, endehastighedsvektorer v b, v s. Bézierkurve: kontrolpunkter P 0, P 1, P 2, P 3. Hvis de skal bestemme samme 3. grads kurve: F 1 (t)p b + F 2 (t)p s + F 3 (t)v b + F 4 (t)v s ( ) = B 0,3 (t)p 0 + B 1,3 (t)p 1 + B 2,3 (t)p 2 + B 3,3 (t)p 3. Indsæt t = 0, t = 1: P b = P 0, P s = P 3 (samme endepunkter). Indsæt t = 0, t = 1 i den afledede til ligning (*): v b = 3P 0 + 3P 1 = 3 P 0 P 1 v s = 3P 2 + 3P 3 = 3 P 2 P 3 Begynd.-hastighed Sluthastighed = 3 vektor mellem de to første kontrolpkter = 3 vektor mellem de to sidste kontrolpkter

Kubiske splines Mål: C 2 -parameterfremstilling 2 for en kurve gennem punkter P 0, P 1,..., P n. Den består af n kubiske parameterfremstillinger (Hermite) p 1 (t) gennem P 0 og P 1 p 2 (t) gennem P 1 og P 2 p n (t) gennem P n 1 og P n. C 2 svarer til : p i (1) = p i+1 (0) = v i p i (1) = p i+1 (0) Derudover ønskes: p 1 (0) = p n(1) = 0 (Krumning = 0 i P 0 og P 1.) 2 C 2 : 1. og 2. afledede kontinuert!

Oversættelse til lineær algebra Ide: Find hastighedsvektorer v 0, v 1,..., v n sål. at p 1 (0) = v 0, p i (1) = p i+1 (0) = v i, 0 i n 1, p n(1) = v n p 1 (0) = 0, p i (1) = p i+1 (0), 0 i n 1, p n(1) = 0 p 1 (0) = 0 2v 0 + v 1 = 3P 0 P 1 p i (1) = p i+1 (0) v i 1 + 4v i + v i+1 = 3P i 1 P i+1 p n(1) = 0 v n 1 + 2v n = 3P n 1 P n Lineært ligningssystem: (n + 1) ligninger i (n + 1) ubekendte v 0, v 1,..., v n 2 1 0 0 0 1 4 1 0 0 Koefficientmatriks A n+1 = 0 1 4 1 0 0 0 0 0 1 4 1 0 0 0 1 2

Beregning af hastighedsvektorerne Hastighedsvektorerne v 0, v 1,..., v n er løsningerne til: v 0 P 0 P 1 v 1 P 0 P 2 A n+1 = 3 højresiden v n 1 P n 2 P n v n P n 1 P n v 0 P 0 P 1 v 1 P 0 P 2 = 3A 1 n+1 v n 1 P n 2 P n v n P n 1 P n

Et simplet tilfælde: n = 3 2 1 0 A 3 = 1 4 1, 0 1 2 7 2 1 7 2 1 A 1 3 = 1 12 2 4 2, 3A 1 3 = 1 4 2 4 2. 1 2 7 1 2 7 1 v 0 4 v 1 P 0 P 1 2P 0 P 2 + P 1 P 2 ) = 1 2 ( P 0 P 1 + 2P 0 P 2 P 1 P 2 ) v 2 1 4 ( P 0 P 1 2P 0 P 2 + 7P = 1 P 2 ) 1 4 P 0 P 1 P 1 P 2 ) 3 1 2P 0 P 2 1 4 (5 P 1 P 2 P. 0 P 1 ) 3 7P 0 P 1 2P 0 P 2 + P 1 P 2 = 7OP 0 + 2OP 0 + 7OP 1 OP 1 2OP 2 + OP 2 = 5OP 0 + 6OP 1 OP 2 = 5P 0 P 1 P 1 P 2

Eksempel 3 punkter bestemmer 3 hastighedsvektorer P 0 : (4, 0), P 1 : (0, 4), P 2 : (4, 4); P 0 P 1 = [ 4, 4], P 0 P 2 = [0, 4], P 1 P 2 = [4, 0]; v 0 = 1 4 ([ 20, 20] [4, 0]) = [ 6, 5], v 1 = 1 2 [0, 4] = [0, 2], v 2 = 1 4 ([20, 0] [ 4, 4]) = [6, 1]. To Hermitekurver bestemmes Nu indsættes P 0, P 1, v 0, v 1 i parameterfremstilling p 1 (t) for Hermitekurve nr. 1: p 1 (t) = (1 3t 2 + 2t 3 )[4, 0] + (3t 2 2t 3 )[0, 4] + (t 2t 2 + t 3 )[ 6, 5] + ( t 2 + t 3 )[0, 2] = [4 6t + 2t 3, 5t t 3 ], t [0, 1]; og tilsvarende P 1, P 2, v 1, v 2 i parameterfremstilling p 2 (t) for Hermitekurve nr. 2: p 2 (t) = (1 3t 2 + 2t 3 )[0, 4] + (3t 2 2t 3 )[4, 4] + (t 2t 2 + t 3 )[ 0, 2] + ( t 2 + t 3 )[6, 1] = [6t 2 2t 3, 4 + 2t 3t 2 + t 3 ], t [0, 1].

Kurver med n + 1 kontrolpunkter n-te ordens Bézierkurver defineres ved ( hjælp ) af Bernstein-polynomier n B k,n (t) = t k k (1 t) n k af grad n. B n (t) = B 0,n (t)p 0 + + B i,n (t)p i + + B n,n (t)p n. B-splines defineres ved hjælp af stykkevis polynomiale funktioner af grad k - som er 0 på en del af intervallet. Sammenligning: Fordele og ulemper støttepunkter grad glathed lokal kontrol kubisk spline alle 3 C 2 Bézierkurve endepunkter n C B-spline endepunkter k C k 2 delvis a a Kontrolpunkt har indflydelse på område svarende til k + 1 punkter

NURBS Non-uniform rational B-splines Beskrivelse kontrolpunkter Q 0,..., Q n og kontrolpolygon grad k 1 knot vektor vægte NURB-Kurven (af orden k) er givet ved en (vektor-)parameterfremstilling r(t) = n i=0 N i,k (t)q i. Egenskaber NURB-kurven ligger altid i det konvekse hylster bestemt ved kontrolpunkterne n i=0 N i,k (t)= 1 for alle t: Hver af (tal-)basisfunktionerne N i,k (t) er dels et polynomium af grad k 1, dels konstant lige med 0. lokal kontrol: Hvert kontrolpunkt har kun indflydelse mellem fra en knude til og med de næste k styks.

NURBS Knotvektor, vægte Parametre Basisfunktionerne lever på et (tids-) interval med knots på. Knotvektoren er en (svagt) voksende følge knots som ligger på dette tidsinterval. Antal: antal kontrolpunkterne + orden (= k) uniform: Knots har ens afstand fra hinanden, ellers non-uniform. Knots kan være multiple og er det gerne i starten og slutningen eller for at frembringe knæk a. a eng.: kink Vægte Til hvert kontrolpunkt Q i kan man lade svare en vægt w i. Punkter med høj vægt tiltrækker kurven særlig meget. Parameterfremstilling r(t) = n i=0 w i N i,k (t)q i n i=0 w i N i,k (t). Derfor rational (=brøk)! En særlig grund: Kun med brøker af denne form kan man beskrive cirkler, ellipser mv. eksakt!

Rhino og Grasshopper Rhino PointsOn Kontrolpunkterne med Dir vandrende enhedstangentvektor Curvature vandrende krumningscirkel og beregning af krumningen CurvatureGraphOn Normalvektorfelt; længde = krumning. Antal normalvektorer kan indstilles. Grasshopper IntCrv Interpolationskurve (spline), som går gennem de afsatte punkter. V Point Set (læses ind i Pt). D kurvens grad (helst ulige!, gerne 3 eller 5). Crv NURBS kurve V og D som for IntCrV P (periodic): Martin Er Raussen kurven Matematik lukket og (yes) Form Splines. ellernurbs åben (no)