Naturlagar i cberrmen VT 2006 Lektion 5 Numerisk kollision av stela kroppar Martin Servin Institutionen för fsik Umeå universitet -Look what happens to the ERTHLING when I remove his coffein an make some ranom changes in his computer coe! -Ha-ha-ha. Ooh, look! He broke it! Haha-ha-ha-ha-ha-ha ha-ha-ha Dagens föreläsning Repetition av stela kroppar Stelkroppskollision Olika metoer och problem Stelkroppskollision me impulsmetoen Lab 3 och 4 Stelkroppskollision me fäermoell Repetition: stela kroppar Egenskaper: translation och rotation q r, v, a q, w, a (R, w, a i 3D) r w v Rörelsemängsmoment L= mv ( v ) + Iω v = [ v, v ] r = [, ] ω
Repetition: rörelselagar för stela kroppar (2D) Masscentrums rörelse m a= F p tot p a = v = 0 tot = mv F 2 = -F v = Rörelsemängens bevarane Kraft och motkraft Iα = M L tot Rotationsrörelse ω α = = 0 E tot = 0 θ ω = Rörelsemängsmomentets bevarane L= mv ( v) + Iω Energins bevarane Introuktion till problemet stelkroppskollision ω v före v ω ω ω v efter v Givet {v,v,ω,ω } före och {m,m,i,i } Kompromisser: snabb beräkning noggrant resultat stabil för komplea sstem va är {v,v,ω,ω } efter? Olika metoer och problem Penaltmetoer - Fäerkrafter eller kraftfält mellan obekten för att förhinra penetration - Stva färar stva ekvationer (risk för numerisk instabilitet) - Hur väla fäerkoefficient (olika massor, hastigheter) Impulsmetoen - Utnttar konserveringslagarna - Enkel, snabba beräkningar - Svårt att få korrekt friktion - Problematisk å simulering involverar många föremål Tvångsbasera meto - Utgår från icke-penetrationstvång - Tekniskt komplicera - eräkningstung - Den ena (?) framkomliga vägen för simuleringar av sstem me många staplae föremål och friktion 2
Impulsmetoen Impulsöverföring å hörn skär in i sia Ögonblicklig uppatering av n hastighet och n rotationshastighet v( t2) = v( t) + n m ω ( t ) = ω ( t ) + r n I 2 v( t2) = v( t) n m ω ( t ) = ω ( t ) r n I 2 v är relativa hastigheten i kollisionspunkten P v P och v P är hastigheterna i kollisionspunkten P ( + e) v n = n ([ r n] r) n ([ r n] r) + + + m m I I r v = v v P P n v = v + ω r P v = v + ω r P P r n 2 Kollisionsetektion n 2. Jämför me a) Jämför alla hörn (ett i taget) i me kanterna i i. eräkna n-vektorerna (kortaste vektorn mellan hörn och sia) ii. eräkna avstånsvektorerna b) Om alla pekar inåt kollision! c) kortast läng anger kollisionssian, returnera n-vektor för impulsberäkningen 2. Om e kollision, ämför me (på samma sätt) n lgoritm för impulsmoellen Initialisering (parametrar och initialvären) Stegningsloop - kollisionsetektion - vi kollision: - beräkna och n (om inte en returneras från koll.-etekt.) - beräkna na hastigheter och rotationshastigheter från impulsen - beräkna övriga krafter och eventuella vriane moment (från gravitation, färar el. l.) - beräkna na hastigheter, rotationshastigheter, positioner och vriningsvinklar me numerisk stegmeto Hurra när rörelsemängsmomentet bevaras! 3
Friktion och impulsmoellen Friktionskraften F = µf t, t = n ( n v ) fr n Tangenten t anger rörelseriktningen i kollisionstan Impulsen moifieras till att också inkluera friktionsimpuls n n+µ t Men se upp friktion kan enast bromsa inte änra tecken på relativa hastigheten. Men et tar inte impulsmetoen hänsn till. Risk för ofsikalisk friktion om man inte är försiktig. r n P r F fr ω Utmaningar Stapling Friktion Kollisionsetektion för komplicerae geometrier Lab 3 - Golfspelet Golfbolls bana i 3D Luftmotstån och skruv Inelastisk stus Mata in startvären, stoppvillkor Etranivå: Kuperat unerlag Effekter av spinn och friktion vi stus Vin vtagane rotation pga luftmotstån nvänargränssnitt - golfspel Många kollierane bollar 4
5
Lab 4 - stelkroppskollision Stelkroppskollision i 2D Rektangulära obekt utan gravitation Impulsmeto eller fäermeto Demonstrera bevara energi och rörelsemängsmoment Etranivå: Släpp mot fast unerlag (gravitation) Friktion (ämpning, om fäer) Fler kroppar Sammansatta obekt (me färar eller tvång) 6
Fäermoellen Stelkroppskollision me fäermoell Stela kroppar i 2D Fäerpunkter längs obektens kanter Simuleringens elar: - efinition av obekt - kollisionsetektion - kraftberäkning - momentberäkning - lösning av rörelseekvationer Fäermoellen Definiera obekt Dnamiska parametrar {r, r 2,, r n } - fäerpunkter m - massa I - tröghetsmoment k - fäerkonstant - fäerläng Fäerpunkterna efinieras av eras lägesvektorer relativt obektets masscentrum (lokalt koorinatsstem). Grafiska parametrar T.e. hö h och bas b (för rektangel). Grafisk form och storlek behöver e sammanfalla me fäerpunkterna. h r i b Fäermoellen Obektets variabler Ett obekts tillstån ges av fölane variabler: - position v - hastighet θ - moturs vrining ω - moturs rotationshastighet Position och hastighet avser en för masscentrum. Vrining och rotation avser kring obektets masscentrum. θ ω v 7
Fäermoellen En ögonblicksbil Vilken position och hastighet i et globala koorinatsstemet har obektets övre vänstra hörn (r i =[r i, r i ] i lokala koorinater) vi ett givet ögonblick? Position: = + r i MC r = r cosθ r sinθ i i r = r sinsθ + r sinθ i i i r v i θ ω v MC Hastighet: v = v +? r i MC (? r) = ωr (? r) = ωr MC Fäermoellen Kollisionsetektion Jämför alla punkter i me alla punkter i θ Punkterna i och har globala koorinater i och i r r θ eräkna avstånet mellan i och : = i i i = i Om avstånet mellan i och är kortare än en fäerläng : i < så har vi kollision mellan punkt i och eräkning av kraft och vriane moment Kollision mellan punkt i och är etektera, vektorn i rikta från i till är beräkna Fäermoellen eräkna kraften på (F ) och i (F i ) i F = k ( i ) i F = F eräkna vriane momentet på (motsvarane för i) M = F s F r β = arccos s = r sin β F r Testa vinkelns tecken Fr F r > 0 β < 0 i Fr F r < 0 β > 0 i i F i F s β r F 8
Fäermoellen lgoritm Initialisering (parametrar och initialvären) Stegningsloop (Leap Frog) - kollisionsetektion - beräkna fäerkrafter - summera fäerkrafterna i vare punkt - beräkna vriane moment - summera total kraft och totalt vriane moment på obekt - beräkna na hastigheter och rotationshastigheter - beräkna na positioner och vriningsvinklar Hurra när rörelsemängsmomentet bevaras! Flera färar kan verka mot samma punkt. m a= F Iα = M a = v ω α = v = θ ω = 9