Det skrå kast - dokumentation

Slides:



Advertisements
Lignende præsentationer
Lineær funktioner.
Advertisements

Lyd fra musikinstrumenter
Sådan laver Du et POWER POINT program.
Gryde med filter og taphane
At Dividere.
Søkortet, bredde- og længdegrader, positioner
Lidt om pladsholdere.
Mini-PC-kørekort – Modul 6
Videregående pc-vejledning
At Dividere Decimaltal.
Game Maker 7. Sådan ser Game Maker ud når det startes op.
Forsiden 1.Denne knap bruges når du vil taste dagens resultater ind. 2.Denne knap skal kun bruges hvis du allerede har gemt data og du finder ud af at.
Log direkte fra GSAK Der er en kæmpe fordel at logge direkte fra GSAK, for det første er det let, da men ikke skal åbne alle cachesiderne for at kunne.
Velkommen til vores færdige applikationsdesign til kurset CBC hos PDJA. Nederst på billede står fem kategorier, som indeholder materiale, features og værktøjer.
Herunder bevis for punkt-plan afstandsformlen
Tegning af en grafen 1) Hvis der skal tegnes i hånden: Lav et sildeben og sæt punkterne ind i et passende koordinatsystem. Brug her x-aksen til at vise.
Klik for næste billede eller vent 30 sek. Rando i skole!
SSQ12-C SSQ12-C Instruktioner De følgende spørgsmål drejer sig om din evne til – og oplevelse i forbindelse med – at høre og lytte i forskellige situationer.
Hvordan får jeg lagt First Class programmet ind på min egen computer ??? De følgende sider er en lille anvisning på, hvordan du selv kan installere programmet.
Klik på Aktivér redigering i meddelelseslinjen, Hvis videoerne i kurset ikke afspilles, skal du måske hente QuickTime eller blot skifte til PowerPoint.
Learnmark Horsens Patrik & Jakob HH1MB
Vejledning i blog-værktøjet WordPress Opdateret august 2009.
Vejledning i blog-værktøjet WordPress Opdateret oktober 2012.
Vejledning i blog-værktøjet WordPress Opdateret februar 2009.
Instruktion i Animation Shop
Formularer (Access, del 3)
Hvordan bruger jeg First Class konferencerne ?
Funktioner Graf og forskrift Venstreklik på musen for at komme videre
Lineære funktioner AM/ Maj 2006
Alle børn skal have mindst et fornavn og et efternavn … det skal computerens ”børn” også !! Computerens ”børn” kaldes alle for filer uanset hvilke programmer.
2. gradspolynomier og parabler
Tegning af en parabel I hånden.
Koordinatsystemet Y-aksen 2. aksen X-aksen 1. aksen.
Matematik i gymnasiet Graph.
Mit første spil Extreme Racing. Som det første, da jeg havde fået ideen til at lave et bilspil, lavede jeg bilen Jeg startede med at lave en rød kasse.
Reduktion AM 2009.
Klik for næste billede eller vent 30 sek.. Tiden går og det er snart længe siden at jeg kom til mine to-benede i Herlev. Jeg vokser og vokser, og lysten.
LINEÆR FUNKTIONER MATEMATIK A.
Konstant acceleration
Trigonometrisk Lommeregner
Oversigtsreference til Lync 2013 til Office 365 © 2012 Microsoft Corporation. Alle rettigheder forbeholdes. Med Lync kan du begynde at samarbejde uden.
2. gradsfunktioner.
Introduktion til Lync Windows Store-appen
Lion CMS Introduktion Sådan bruger du systemet. Trin 1 Tryk på login knappen Skriv dit brugernavn Skriv dit password Tryk på OK (Login) knappen Du er.
GP 4, 27/ Grundlæggende programmering Forår 2002 Forelæsning 4 onsdag 27/ kl. 9:15 – 12:00.
CV funktionen i PU:RE Her ses ens profilinformation i PURE, hvor man kan se sine publikationer, aktiviteter, presseklip og cv’er. Nye cv’er skal oprettes.
Regionalt d.13.juni Biblioteket flytter mennesker er et projekt som kombinere følgende ting: motion, at være social og teknologi. Det gøres i dette tilfælde.
Landinspektør Robert Jakobsen
Videnskabeligt projekt
Oprettelse Af Dreamviewer Site.
Målestok forhold Lars Alexander Clark.
Skabelon mailopsætning
emne erklæring SmartArt-grafik med billeder på rød baggrund
Mini-PC-kørekort – Modul 6
Koordinatsystem.
Præsentationens transcript:

Det skrå kast - dokumentation

Creating lines Disse to stykker af kildekoden tegner de horizontale og vertikale linjer og er altså en del af brugergrænsefladen

Creating axis labels Ovenstående kode tegner teksten teksten til de horizontale og vertikale streger og er ligeledes en del af brugergrænsefladen

Draw graph Ændres y1-=.5 til y1+=.5 vil grafens få en negativ hældning i stedet for en positiv, og altså gå nedad. Ved at ændre y1-=.5 til y1-=2 vil hældningen blive 4 gange så stejl I programvinduet er koordinatsættet (0,0) ikke i nederste venstre hjørne som i et traditionelt koordinatsystem, men derimod i øverste venstre hjørne, og y-aksen er omvendt af normalt, dvs. y-værdien stiger når man går nedad og falder når man går opad. X-aksen er stadig den samme, altså stiger når man går mod højre og falder mod venstre. #--5.Draw Graph-- delen tilhører både logik- og brugergrænseflade-laget. Funktionen w.create_line() er en del af brugergrænsefladen, da den tegner stregen der bliver vist på skærmen. Den resterende del er del af logik-laget. Her ændres der på de variabler der skal bruges til at tegne grafen.

Converting movement into position vx += 0.5 vy += 0.5 vx += 0 vy += -1 vx += -1 vy += 0.5 #--6.Converting movement into position-- delen tilhører datalaget. Der beregnes og gemmes nye værdier til x1, y1 og vy.

Gravity For at den røde linje skal se ud som om den påvirkes af tyngdekraften, skal værdien der lægges til vy være positiv. Hvis vi tilføjer eller trækker fra vx vil x-retningen også være påvirket af en acceleration, men denne har ikke noget med tyngdekraften at gøre. På billedet herunder regnes først de nye positionsvariabler ud i #--6 ved hjælp af hastighedsvektorerne. Herefter regnes de nye hastighedsvektorer ud i #--7. Hvis vi byttede om på rækkefølgen af disse to udregninger ville positionsvariablerne altså få nogle andre værdier. Grunden til at vx+= og vy+= programmeres under #--7.Gravity-- og ikke under #--5.Draw graf-- har at gøre med rækkefølgen af de forskellige udregninger.

Collision with floor Hvor meget præcisionen skal øges for at stregen ikke går igennem afhænger af hvor høj starthastigheden er, da denne også er med til at bestemme hvor store skridt der tages. Fx hvis vy = -10 fra start vil den være +10 når den når ned til gulvet igen. Vil vi finde den præcision hvor der højest rykkes 1 pixel nedad ad gangen ved vy = 10 kan vi opstille en lille ligning: 10 * x = 1, hvor x er præcisionen. Dette giver en præcision på 0,1 som vi også har valgt at bruge i vores program Med en præcision på 0.5 vil stregen altså rykke sig med 10 * 0.5 = 5 pixels nedad på skærmen. Dette er synligt under gulvstregen og altså ikke præcist nok til programmets formål.

Collision with floor Øger vi præcisionen ved at gøre trinene mindre, betyder det også at simulatoren skal køre længere tid for at beregne og afbillede samme kast. Vores timeMax variabel der bestemmer hvor mange gange vi kører vores sumulation loop skal altså forøges. Som standard er vores timeMax = 3000. Øger vi præcisionen 10 gange, fx fra 0.1 til 0.01 vil vores simulation loop altså skulle køre 30000 gange i stedet, medmindre vi ikke også ændrer vores timeMax, i hvilket tilfælde grafen blot ikke tegnes færdigt, som vist nederst til højre. Præcision på 0.1 og timeMax = 3000 Præcision på 0.01 og timeMax = 3000

Collision with wall #--9.Collision with wall-- hører mest til datalaget, da denne del af programmet har med beregning af hastighedsvektorenes nye værdi at gøre.

Air resistance #--10.Air resistance-- delen har med datalaget at gøre. Denne del af programmet ligger tæt på computeren, da den har at gøre med udregning af forskellige variablers værdier at gøre.

Sammenligning med fysikresultater Vinkel Længde 20° 233 30° 258 40° 253 45° 245 50° 207 Vores starthastighed målte vi til 5.892. Der ikke er nogen tydelig logisk sammenhæng mellem vinkel og længde i vores resultater, og vores simulator vil derfor ikke komme til at passe lige godt til alle vinkler. Som man kan se på billedet skyder programmet for kort ved 20°, mens der skydes for langt ved nogle af de større vinkler. Det er dog relativt tæt på. For at tilpasse programmet har vi ændret på påvirkningen fra tyngdekraften og vindmodstanden.

Omskrivning af program til funktion I korte træk har vi blot defineret funktionen fire_canon() i starten af koden, lige at have importeret math og Tkinter. Som parametre for denne funktion har vi sat variablerne angle og velocity. Vi brugte også disse to variabler tidligere, men da vi har dem som parametre i funktionen nu, skal vi ikke erklære dem igen. Herefter har vi bare rykket hele koden en tak ind, for at høre under fire_canon() funktionen. Resten af koden er stort set uændret.

Tilføjelse af en brugerflade ved hjælp af Tkinter En af de væsentligste ting ved tilføjelsen af vores brugerflade, er at grafen først skal tegnes når der klikkes på ‘go’-knappen. Til dette har vi defineret en ny funktion msetvar() som vi flyttede alle udregninger samt tegningen af selve grafen ind under. Vi satte så ‘go’-knappen til at kalde denne funktion. Vi fik så programmet til at bruge de indtastede værdier i felterne som variabler for vinkel og starthastighed. Flere detaljer samt screenshots på de næste par sider.

Tilføjelse af en brugerflade ved hjælp af Tkinter ment_angle og ment_velocity er begge string variabler til at gemme det der skrives i de to felter. mlabel_angle og mlabel_velocity er bare tekst. De to inputfelter laves med mentry_angle og mentry_velocity. Delen gemmer hvad der skrives i tekstfelterne i variablerne ment_angle og ment_velocity.

Tilføjelse af en brugerflade ved hjælp af Tkinter Linjen angle = float(ment_angle.get()) virker på følgende måde: Først hentes værdien gemt i ment_angle ved get() funktionen. Herefter laves den om til en float værdi, som til sidst gemmes i angle variablen. Resten af programmet er der ikke ændret ved.