Institut for Matematik og Datalogi Syddansk Universitet Indhold Obligatorisk Projekt MM512 Kurver og Flader 4. kvartal 2007 1 Vejledning 1 2 Indledning 2 3 Plankurver og deres evolut 2 4 Gaußforskydningen af en flade 3 A Maple 4 A.1 Lister, følger og funktioner.................... 4 A.2 Plots.................................. 6 A.3 Problemer.............................. 6 1 Vejledning Projektet er obligatorisk og skal være bestået inden man få lov til at gå op til eksamen. Projektet er tænkt hovedsaglig som en opgave i brug af Maple. Du finder noget hjælp med maple syntaks ogs. i en appendix. Besvarelser skal afleveres elektronisk i form af en maple worksheet uden output; i xmaple brug menupunktet Edit->Remove Output. Tjek før aflevering at din worksheet kan kompiles i maple ved brug af menu punktet Edit->Execute->Worksheet. Hvis du ikke har en konto hos IMADA, skal du henvende dig til Anders Fredslund <sysop@imada.sdu.dk>. Afleveringsfristen er fredag den 11. maj, 2007, kl. 12:00. Aflevering sker til Andrew Swann pr. email <swann@imada.sdu.dk>. 1
Projekt MM512, 2007 2 2 Indledning Givet en kurve eller er en flade kan man danne nye kurver eller flader ved at bruge krumningen og normal retningen. For kurver kikke vi på deres evolut. For flader bruger via forskydning via Gaußkrumningen. Den sidste er et første skridt mod den såkaldte Ricci flow som blev brugt for nyligt i beviset for Poincaré formodningen af Perelman. 3 Plankurver og deres evolut Lad γ : I R 2 være en kurve parameteriseret via buelængde s. Som sædvanlig skriver vi t = γ = (γ 1, γ 2 ) for tangenten, n s = ( γ 2, γ 1 ) for normalen, og κ s for krumningen med fortegn. Antag at κ s (s) = 0 for alle s I. For s I betragt ε(s) = γ(s) + 1 κ s (s) n s(s). (3.1) Den følgende maple funktion beregne κ s kappasbue := proc(gg) local t, ns, gg2, s; t := diff(gg(s),s); ns := [-t[2],t[1]]; gg2 := diff(t,s); return(unapply(gg2[1]*ns[1]+gg2[2]*ns[2],s)); end proc; Den forventer at γ er givet som gg:= s->[gg1(s),gg2(s)]; Opgave 1. Brug maple til at vise at cirklen med centrum ε(s) og radius 1/ κ s (s) er tangent til γ i γ(s) og har denne samme krumning som γ i punktet. Denne cirkel kaldes krumningscirklen for γ i γ(s). Kurven ε : I R 2 givet ved (3.1) kaldes evolutten til γ. Opgave 2. Lad γ : I R 2, t γ(t), være en regulær kurve, ikke nødvendigvis af fart 1. Bestem en opskrift for evolutten ε(t) til γ(t) og implementér den i maple. Opgave 3. Får maple til at tegne forskellige kurver og deres evolut. Inkludér resultater for
Projekt MM512, 2007 3 1. en cycloid γ(t) = (t + sin t, 1 cos t) på et interval hvor kurven er regulær; 2. en ellipse; 3. en plan kurve af dit eget valg. Hvad bemærker du i det første tilfælde? I det andet tilfælde, er evolutten regulær? Opgave 4. Lav en maple animation af en punkt der bevæger sig langs en plan kurve og den tilsvarende punkt på evolutten. Indtegne evt. krumningscirklen. 4 Gaußforskydningen af en flade Lad σ : U R 3 være en regulær parameteriseret flade. Denne har normalvektor N σ og koefficienter E, F, G for den første fundamental form og L, M, N for den anden fundamental form. Opgave 5. Definér funktioner i maple som bestemmer E, F, G, N σ, L, M og N. Får maple til at bekræfte de kendte formler for sfæren, og at σ u σ v 2 = EG F 2 generelt. Gaußkrumningen K for σ er givet ved K = LN M2 EG F 2. Opgave 6. Definér en funktion i maple som giver K, helst uden brug for at udregne kvadratrodden i N σ. Beregn K for en omdrejningsflader med frembringekurve ( exp(u), 0, 1 exp(2u) cosh 1( exp( u)) ), u < 0. Vi definerer Gaußforskydningen Γ t i tid t af σ ved Γ t : U R 3 Γ t (u, v) = σ(u, v) + tk(u, v)n σ (u, v). (4.1) Opgave 7. Får maple til at tegne σ samt en Gaußforskydning Γ t for et passende 0 < t < 1 så Γ t er regulær for følgende flader: 1. en sfære;
Projekt MM512, 2007 4 2. omdrejningsfladen med frembringekurve ( ) cos(u)(1 + sin(2u) 2 ), 0, u, π 2 < u < π 2 ; 3. en flade af dit eget valg. Hvis du har tid kan du lave en animation for t [0, 1] af Γ t. A Maple A.1 Lister, følger og funktioner Liste er af formen ll := [ 1, -3.5, (x+1)/2, x*y ]; Enkelte indgange fås ved ll[3]; op(3,ll); giver begge x/2+1/2. En følge er en liste uden parentes ff := 2, 5, x^2; Disse kan generes via seq seq(i^2,i=1..10); giver 1, 4, 9, 16, 25, 36, 49, 64, 81, 100 Følger konverteres til lister nyll := [ff]; og lister til følger nyff := op(ll); Funktioner bestemmes via -> g := t -> [ cos(t), sin(t-1), 3*t ]; h := (u,v) -> [ u^3, v^3, u*v ]; Evalueringen er som sædvanlig g(3.5); g(t); h(u,v); h(3*t,t^2);
Projekt MM512, 2007 5 Et udtryk kan laves om til en funktion via unapply e := t^2-3*t + c*log(t); f := unapply(e,t); giver f := t -> t^2-3*t + c*ln(t) Liste kan differentieres direkte diff(ll,x); giver [0, 0, 1/2, y]. Det kan ganges med simpel tal, men ll/x; given [1, -3.5, x/2 + 1/2, x y]/x, og man først få ved [1/x, -3.5/x, 1/2+1/2/x, y] expand(ll/x); Mere indviklede operationer på lister kræver map map(x->x^2,ll); giver [1, 12.25, (1/2*x+1/2)^2, x^2*y^2] Mere indviklede funktioner fås vi proc. Den følgende beregne u 2 : NORMsq := proc(u :: list) local i, n, out; n := nops(u); out := 0; for i from 1 to n do out := out + u[i]^2; end do; return(out); end proc; F.eks. NORMsq([1,-1,2]); giver 6 som forventet.
Projekt MM512, 2007 6 A.2 Plots Pakken der hjælpe mest med at plotte er plots with(plots): I 2 dimensioner plotte man en kurve ved alpha := t -> [cos(2*t),sin(3*t)]; plot([op(alpha(t)),t=0..2*pi]); I 3 dimensioner plotte man en flade ved sigma := (u,v) -> [(3+cos(u))*cos(v),(3+cos(u))*sin(v),sin(u)]; plot3d(sigma(u,v),u=0..2*pi,v=0..2*pi); For at beholde proportionerne på akserne tilføjer man scaling=constrained plot3d(sigma(u,v),u=0..2*pi,v=0..2*pi,scaling=constrained); Forksellige plots kan kombineres i ét billed eller i en animation ved hjælp af display with(plots): for i from 10 to 100 do q := i/10; c i := plot([q+cos(t)/q,sin(t)/sqrt(q),t=0..2*pi]); end do: display([seq(c i,i=10..100)],insequence=false); display([seq(c i,i=10..100)],insequence=true); A.3 Problemer 1. Sæt printlevel til f.eks. printlevel:=10 for at se mellem trin i maple beregninger. 2. Prøv at tilføje assuming real hvis komplekse tal dukker op uventet. 3. Nogle udtryk skal evalueres med eval før deres værdi er tilgænglig. God fornøjelse! Andrew Swann