Matematikk og fysikk RF3100



Like dokumenter
Matematikk og fysikk RF3100

Matematikk og fysikk RF3100

Matematikk og fysikk RF3100

Norges Informasjonstekonlogiske Høgskole

Matematikk og fysikk RF3100

EKSAMEN RF3100 Matematikk og fysikk

Matematikk og fysikk RF3100

RF3100 Matematikk og fysikk Leksjon 6

Fysikkmotorer. Andreas Nakkerud. 9. mars Åpen Sone for Eksperimentell Informatikk

Kapittel 4. Algebra. Mål for kapittel 4: Kompetansemål. Mål for opplæringen er at eleven skal kunne

TDT4105 IT Grunnkurs Høst 2014

Prosjekt 2 - Introduksjon til Vitenskapelige Beregninger

Simulerings-eksperiment - Fysikk/Matematikk

Oppgave 1A.8: En forenklet kode for stjernedannelse

Kapittel 4. Algebra. Mål for Kapittel 4, Algebra. Kompetansemål. Mål for opplæringen er at eleven skal kunne

MA0002 Brukerkurs i matematikk B Vår 2013

Kanter, kanter, mange mangekanter

2 Om statiske variable/konstanter og statiske metoder.

Steg 1: Streken. Steg 2: En hoppende helt. Sjekkliste. Sjekkliste. Introduksjon. Hei der! Hoppehelt

Løpende strekmann Erfaren Videregående Python PDF

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen

Litt mer om kjeglesnitt og Keplers lover om planetbanene

RF3100 Matematikk og fysikk Regneoppgaver 7 Løsningsforslag.

RF5100 Lineær algebra Løsningsforslag til prøveeksamen

Oppgave 1A.8: En forenklet kode for stjernedannelse

Krefter, Newtons lover, dreiemoment

Prosjektoppgave i FYS-MEK 1110

Tryll bort heksa. Introduksjon. Sjekkliste Følg instruksjonene på lista. Huk av etter hvert. Test. Lagre 2/8

Bursdag i Antarktis Nybegynner Scratch PDF

Løsningsforslag til eksamen FY0001 Brukerkurs i fysikk Juni 2011

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett.

Keplers lover. Statikk og likevekt

Forelesningsnotat, lørdagsverksted i fysikk

UNIVERSITETET I OSLO

Steg 1: Canvas-elementet

med canvas Canvas Grafikk Læreplansmål Gløer Olav Langslet Sandvika VGS

HØGSKOLEN I BERGEN Avdeling for Ingeniørutdanning

UNIVERSITETET I OSLO

Argumenter fra kommandolinjen

Kap 02 Posisjon / Hastighet / Akselerasjon 2D - Bevegelse langs en rett linje

Løsningsforslag Eksamen i Fys-mek1110 våren 2008

Spesiell relativitetsteori

Fysikkolympiaden 1. runde 27. oktober 7. november 2008

Kommentarer til eksempelinnleveringene

Løsningsforslag til øving 4: Coulombs lov. Elektrisk felt. Magnetfelt.

FYS-MEK 1110 Løsningsforslag Eksamen Vår 2014

Spøkelsesjakten. Steg 1: Lag et flyvende spøkelse. Sjekkliste. Introduksjon

Donkey Kong. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle

Eksamen. Fag: AA6524/AA6526 Matematikk 3MX. Eksamensdato: 6. desember Vidaregåande kurs II / Videregående kurs II

Eksamensoppgavehefte 2. MAT1012 Matematikk 2: Mer lineær algebra

Fysikk 3FY AA6227. Elever og privatister. 26. mai Videregående kurs II Studieretning for allmenne, økonomiske og administrative fag

Sprettball Erfaren ComputerCraft PDF

UNIVERSITETET I OSLO

Drosjesentralen. I-120: Obligatorisk oppgave 2, 2000

Repetisjon

EKSAMEN Styring av romfartøy Fagkode: STE 6122

datatyper Hva er programmering? Variabler og Informasjonsteknologi 2 Kompetansesemål

Sprettende ball Introduksjon Processing PDF

Del 2: Alle hjelpemidler er tillatt, med unntak av Internett og andre verktøy som tillater kommunikasjon.

FY0001 Brukerkurs i fysikk

Løsningsforslag til eksamen FY0001 Brukerkurs i fysikk Fredag 29. mai 2009

Hvor i All Verden? Del 3 Erfaren Scratch PDF

Løsningsforslag til prøve i fysikk

Løsningsforslag Obligatorisk oppgave 1 i FO340E

Programmering i Java med eksempler

UNIVERSITETET I OSLO

Løsningsforslag AA6526 Matematikk 3MX Privatister 3. mai eksamensoppgaver.org

FYS-MEK 1110 OBLIGATORISK INNLEVERING 1 ROBERT JACOBSEN ( GRUPPE 1 )

Kinematikk i to og tre dimensjoner

FYSIKK-OLYMPIADEN Andre runde: 3/2 2011

MAT-INF 1100: Obligatorisk oppgave 2

UNIVERSITETET I OSLO

Løsningsforslag Eksamen eksempeloppgave R1 - REA Desember 2007

Hvor i All Verden? Del 1. Introduksjon. Steg 1: Styr et helikopter. Skrevet av: Geir Arne Hjelle

Mandag Institutt for fysikk, NTNU TFY4160/FY1002: Bølgefysikk Høsten 2006, uke 36

Oblig 3 i FYS mars 2009

Obligatorisk innlevering 2 - MA 109

AST En kosmisk reise Forelesning 3: Fra middelalderen via Kopernikus til Galilei og Newton

PG 4200 Algoritmer og datastrukturer Innlevering 2

AST1010 En kosmisk reise. De viktigste punktene i dag: Mekanikk 1/19/2017. Forelesning 3: Mekanikk og termodynamikk

ERGO Fysikk. 3FY. AA (Reform 94) - 8. Relativitetsteori Tid - Fagstoff. Innholdsfortegnelse

Del 1. Oppgave 1. a) Løs ulikheten 2x+ 4 4x+ b) Løs ulikheten. 1) Løs likningen f( x ) = 4 grafisk og ved regning.

Fjæra i a) kobles sammen med massen m = 100 [kg] og et dempeledd med dempningskoeffisient b til en harmonisk oscillator.

FAG: Fysikk FYS118 LÆRER: Fysikk : Per Henrik Hogstad (fellesdel) Kjetil Hals (linjedel)

Eksempeloppgåve/ Eksempeloppgave Desember 2007

UNIVERSITETET I OSLO

TDT4165 PROGRAMMING LANGUAGES. Exercise 02 Togvogn-skifting

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett.

ADDISJON FRA A TIL Å

Enkel introduksjon til kvantemekanikken

Klask-en-Muldvarp. Steg 1: Gjøre klart spillbrettet. Sjekkliste. Introduksjon

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

Straffespark Introduksjon Scratch Lærerveiledning

Hoppehelt. Introduksjon. Steg 1: Streken. Sjekkliste. Skrevet av: Geir Arne Hjelle

Kinematikk i to og tre dimensjoner

Eksamen REA3028 Matematikk S2. Nynorsk/Bokmål

Grønne menn på Mars?

Løsningsforslag Eksamen R1 - REA

Løsningsforslag for Eksamen i Matematikk 3MX - Privatister - AA eksamensoppgaver.org

PG 4200 Algoritmer og datastrukturer Innlevering 1. Frist: 2.februar kl 21.00

Transkript:

DUMMY Matematikk og fysikk RF3100 Løsningsforslag 16. mars 2015 Tidsfrist: 23. mars 2015 klokken 14.00 Oppgave 1 Her skal vi se på hvordan man kan sikte seg inn på stridsvogner i bevegelse. Ved t = 0 befinner vi oss i punktet P = (2, 3), mens den fiendtlige stridsvognen befinner seg i punktet F = (4, 6), med momentan hastighetsvektor v = [2, 2]. I denne oppgaven vil vi regne med at den fiendtlige stridsvognen har konstant hastighetsvektor. I en praktisk situasjon vil ofte det være en gal antagelse, men vi regner i alle fall på den måten. En annen forenkling vi gjør er å regne som om alle objektene er punkter. I virkeligheten vil objektene ha en viss utbredelse, og regneresultaten er således bare veiledende. I denne oppgaven er lengdeenheten og tidsenheten uspesifisert, men man kan se for seg at tiden måles i sekunder, mens avstander måles i meter. a) Hvor befinner den fiendtlige stridsvognen seg ved tid t = 1/2? Hva er avstanden mellom punktet P (altså vår posisjon ved t = 0) og den fiendtlige stridsvognens posisjon ved t = 1/2? La F betegne den aktuelle posisjonen. Da er OF = 1 OF + 2 v = [4, 6] + 1 [2, 2] = [5, 7] 2 Den fiendtlige stridsvognen befinner seg da altså i punktet F = (5, 7). Avstanden mellom de aktuelle punktene er AF = [5 2, 7 3] = [3, 4] = 3 2 + 4 3 = 25 = 5

b) Ved t = 0 fyrer vi av et prosjektil med tanke på å treffe den andre stridsvognen ved t = 1/2. Hvilken hastighetsvektor må dette prosjektilet ha dersom vi forutsetter at prosjektilet beveger seg med konstant hastighetsvektor? Hvor stor er farten (altså lengden til hastighetsvektoren)? Prosjektilet skal gjennomgå forflytning fra P til F i løpet av 1/2 tidsenhet. Dermed må hastighetsvektoren for prosjektilet, Farten v = [6, 8] = 10. v prosjektil = 2 P F = 2[3, 4] = [6, 8]. c) Anta at vi kun kan fyre av prosjektiler med fart v = 4 (lengdeenheter/tidsenhet). Dette gir ett mulig tidspunkt t 1 der vi kan treffe fienden dersom vi fyrer av prosjektilet ved t = 0. Bestem dette tidspunktet. Tips: Her bør man ta utgangspunkt i at t 1 er tidspunktet der Tilbakelagt distanse for prosjektilet = Fiendens avstand fra punktet P. La x(t) være forflytningsvektoren fra punktet P til fiendens posisjon ved tid t. Da er x(t) = x(0) + [2, 2]t = [2, 3] + [2, 2]t = [2 + 2t, 3 + 2t] Det betyr fienden ved tid t befinner seg i avstand x(t) = (2 + 2t) 2 + (3 + 2t) 2 = 4 + 8t + 4t 2 + 9 + 12t + 4t 2 = 8t 2 + 20t + 13 fra punktet P. Ved tid t kan prosjektilet ha tilbakelagt en distanse på 3t. Vi kan få treff når prosjektilets tilbakelagte distanse er lik fiendens avstand fra punkt P, d.v.s når 8t2 + 20t + 13 = 4t. Hvis vi kvadrerer (oppøyer i 2) på begge sider av likhetstegnet, får vi ligningen 8t 2 + 20t + 13 = 16t 2,

d.v.s Dette gir oss løsningene t = 20 ± 40 2 + 4 16 13 2 8 8t 2 20t 13 = 0. = 5 4 ± 25 13 2 = 5 ± 51 4 { 3.035 0.5 Den eneste aktuelle løsningen her er t 1 3.035, siden negative tidspunkter ikke er aktuelle. d) Regn ut hastighetsvektoren v prosjektil som prosjektilet må ha for å treffe den fiendtlige stridsvognen på det aktuelle tidspunktet. Ved det aktuelle tidspunktet (t 3.035) befinner den fiendtlige stridsvognen seg i punktet OQ [ ] OP + 3.035v 10.07 12.07, og P Q = [ ] 8.07 OQ OP. 9.07 v prosjektil er parallell med P Q, og har samme retning. Det betyr at det finnes et tall a slik at v prosjektil = a P Q. Vi vet at farten v prosjektil = 4. Det medfører at og a = 4 P Q 0.330, v prosjektil = a [ ] 8.07 P Q 0.330 9.07 [ ] 2.67 2.99 Oppgave 2 Filen PlanetSimulation.java inneholder et nesten komplett dataprogram for enkel simulering av planetbevegelser: Klassen PlanetSimulation definerer brukergresnesnitt og animasjon sammen med PlanetPanel. Den abstrakte klassen Planet definerer en del fellestrekk for planeter_

Grafisk fremstilling av planeter (draw). Fysikk (acceleration). Timing for simuleringen (Timer-objektet simulationtimer). Klassen Vector2 lar oss håndtere vektorer. Klassen CircularMotion demonstrerer at animasjonen fungerer. Noen halvferdige implementasjoner av fysikken EulerPlanet EulerPlanetAlternativeI EulerPlanetAlternativeII SVPlanet Oppgaven går ut på å gjøre ferdig update-metoden i de fire sistnevnte klassene. Det innebærer å kalle acceleration-metoden i Planetklassen for å regne ut gravitasjonskraften som virker på planeten. Deretter må man oppdatere planetens tilstand utifra kraften som virker og det tidssteget som gjelder for simuleringen, altså verdien av variabelen step. Legg merke til at timingen for animasjone er uavhengig av timingen for simuleringen, og at timingen for ulike simuleringer kan gjøres uavhengig av hverandre. Det gjør det mulig å eksperimentere med ulike tidssteg i simuleringene. Fysikken Simuleringen bygger på Newtons 2. lov: f = ma og Newtons gravitasjonslov: f = GmM r 3 r. Her står G for Newtons gravitasjonskonstant, m for planetens masse, M for solens masse og r for forflytningsvektoren fra solen til planeten. For enkelhets skyld, og for at animasjonen skal se grei ut, lar vi M = 1 og G = 900 i vår simulering (Dette er mer eller mindre tydelig definert i klassen Planet). I tillegg lar vi solen ligge i ro i origo O. Det betyr at hvis planeten befinner seg i posisjon (x, y), blir kraften Dermed er akselerasjonvektoren Gm f = ( [ x, y] x 2 + y 2 ) 3 a = f m = G ( [ x, y], x 2 + y 2 ) 3 slik det også fremgår av Planet.acceleration. Eulers metode, samt dens slekt og venner Når vi bruker Eulers metode er det planetens posisjon og hastighet (pos og vel) som definerer planetens tilstand, og når vi oppdaterer fra tidssteg i til i + 1, gjøres det slik:

Posisjon(i+1) = Posisjon(i) + Steglengde*Hastighet(i) Hastighet(i+1) = Hastighet(i) + Steglengde*Kraft(i). Vi regner ut tilstanden i tidssteg i + 1 utelukkende utifra tilstanden i tidssteg i. Det er nærliggende å variere dette skjemaet: Man kan oppdatere hastigheten før man oppdaterer posisjonen, d.v.s.: Posisjon(i+1) = Posisjon(i) + Steg*Hastighet(i+1). Man kan bruke oppdatert posisjon når man regner ut kraften, d.v.s.: Hastighet(i+1) = Hastighet(i) + Steg*Kraft(i+1). I korte trekk: Det finnes mange muligheter for å stokke om rekkefølgen i utregningene, og man kan spørre seg om det har noen betydning. Størmer-Verlet-metoden Nå bruker vi et annet sett med tilstandsvariabler, nemlig nåværende posisjon og forhenværende posisjon. Tilstanden oppdateres slik: Posisjon(i+1) = 2 Posisjon(i) - Posisjon(i-1) + Steglengde 2 *Kraft(i) Tilstanden i steg i er da representert av (Posisjon(i), Posisjon(i-1)), mens tilstanden i steg i + 1 er representert av (Posisjon(i+1),Posisjon(i)). I den foreliggende implementasjonen har jeg foreslått å bruke en array av 2 Vector2-objekter til å holde orden på tilstanden. Metoden update viser hvordan man får tak i nåværende, forrige og neste posisjon. Legg merke til at previous og next faktisk er den samme vektoren, så dersom man oppdaterer next, vil previous bli skrevet over. Det er uproblematisk, i og med at vi kun ønsker å ta vare på to posisjoner. Om innlevering av svar på denne oppgaven Arbeidet leveres i én java-fil, som heter PlanetSimulation.java. Selv om det kan være fristende å omorganisere koden ber jeg om at dere ikke gjør det. Det letter rettearbeidet. Kommentarene til det dere observerer kan skrives sammen med besvarelsen av oppgave 1. a) Gjør ferdig EulerPlanet og SVPlanet. Kommenter kort hvordan de to simuleringene oppfører seg over tid.

b) Lag to varianter av Eulers metode i EulerPlanetAlternativeI og EulerPlanetAlternativeII, og undersøk hvordan disse oppfører seg i forhold til de to andre. c) (Ekstra) Man kan variere steglengden i simuleringene ved endre verdien av rate. Dette kan enkelt gjøres i konstruktøren. For eksempel vil new EulerPlanet(10); new SVPlanet(1000); gi en Euler-simulering som oppdateres hvert tiende millisekund, og en Størmer- Verlet-simulering som oppdateres hvert sekund. I det første tilfellet blir steglengden mye kortere enn i det andre tilfellet, og det har stor betydning for nøyaktigheten. Dersom man vil sammenligne kvaliteten på de ulike simuleringsmetodene kan man kjøre en av dem med veldig kort steglengde, og bruke denne som en slags gullstandard. De fire metodene kan så kjøres med større steglengde, og vurderes utifra følgende kriterium: Kvaliteten på en simulering er god dersom den holder seg i nærheten av gullstandarden. Undersøk hvordan simuleringene oppfører seg ved ulike steglengder og gjør deg opp en mening om hvilken simuleringsmetode du foretrekker. (Obs: Her finnes det selvsagt ikke noe fasitsvar).