fysikklab

Programvare

I labprosjektet skal dere analysere filmene av rulleforsøkene i Tracker og gjøre numeriske beregninger og skrive rapport i Jupyter Notebook.

Tracker

Tracker er et open-source verktøy for å gjøre videoanalyse. Det lar deg spore bevegelsen til et objekt i en video både manuelt og automatisk, og det lar deg analysere objektets posisjon, hastighet og akselerasjon. Programmet er gratis og kan lastes ned for både Windows, Mac OS X og Linux, men Windows-versjonen viser seg å være mer stabil enn Mac OS X-versjonen.

Videoinstruksjoner

Vi har laget noen korte instruksjonsvideoer som viser den grunnleggende funksjonaliteten i Tracker:

Testklippet som brukes i videoinstruksjonene kan lastes ned her [mp4].

Eksport til TRZ-fil

Innholdet i en Tracker-økt kan eksporteres til en TRZ-fil. I denne filen embeddes videofilen pluss analysen av filen (definerte akser, lengder, frame rate, tracking av bevegelse, osv). Utvikleren av Tracker har laget en kort instruksjonsvideo som forklarer eksportprosessen.

Et eksempel på en TRZ-fil kan lastes ned her.

Eksport til tekst-fil

I laben skal dere eksportere data (posisjon, fart etc.) fra Tracker til en tekstfil, for så å importere dataen fra tekstfilen inn i notebooken. Instrukser til hvordan dette bør gjøres finner dere her.

Videre instruksjoner

Skolelaboratoriet har utviklet videre instruksjoner for bruk av Tracker både på grunnleggende og videregående nivå. Disse ressursene finner du her.

Jupyter Notebook

Jupyter Notebook er et program for å lage notebooks. En notebook er en rapport som kan bestå av både kodesnutter og tekstbokser. Kodespråket som benyttes av Jupyter Notebook er Python, og LaTeX brukes for å skrive teksten i tekstboksene (markdown-bokser). Jupyter Notebook kan enten kjøres online via JupyterHub eller andre nettsider, eller lokalt på egen maskin. Hvis du ikke har benyttet deg av Jupyter Notebook tidligere, er det anbefalt å bruke JupyterHub.

Python

Numerikkdelen av prosjektet foregår hovedsakelig i Python. Dere trenger noen få pakker (biblioteker) til dette: matplotlib, numpy, pandas og scipy. Ved bruk av JupyterHub vil disse pakkene allerede være installert. Dersom dere velger å kjøre Jupyter Notebook lokalt på egen maskin, vil vi anbefale dere å installere Anaconda. Alle pakkene dere trenger er da installert fra starten av.

LaTeX

LaTeX er et program og et document markup language for å skrive rapporter og annen teknisk litteratur. LaTeX kan forenkle mange problemstillinger som blant annet layout, ligninger og mye mer. I utdelt notebook vil dere finne eksempler på bruk av LaTeX til å skrive matematikk (se etter dollar-tegnene), som kan være nyttig når dere selv skal rapportere resultater. Lite LaTeX kunnskaper trengs for å fullføre notebooken. Greie introduksjoner til LaTeX finner man her

Hvordan bruke JupyterHub

Jupyter Notebook kan kjøres online på JupyterHub og krever da ingen installasjon på egen maskin. Gjør følgende for å bruke JupyterHub:

Dele Jupyter Notebook i real-time

Dersom man ønsker at flere på gruppen skal kunne redigere en python-notebook samtidig, kan man bruke en av mange nettbaserte tjenester som f. eks. CoLab eller Deepnote. Det finnes flere alternativer her. Datalore og Deepnote er lett å sette opp, og du ser endringene andre gjør i real-time. Dersom man bruker studentmailen sin for å lage bruker hos deepnote kan man dele notebooken med så mange man vil. Ved bruk av privat e-post kan man kun være tre stykker. I datalore kan man kun være tre stykker som deler notebook. Colab er enkelt å sette opp, men du vil ikke se endringene til de andre i real-time. Dersom man redigerer notebooken helt samtidig i CoLab kan man ikke kombinere hverandre sine bidrag og må velge én av versjonene.

Kjøre Jupyter Notebook lokalt på egen maskin

Hvis du heller vil kjøre Jupyter Notebook lokalt på din egen maskin, anbefaler vi å laste ned Anaconda. Veiledning for hvordan Anaconda kan installeres og brukes finner dere her. Det står også litt informasjon om hvordan bruke Jupyter Notebook.

Tips for plotting og numerikk i Python

numfys.net inneholder mange gode, lett forståelige eksempler som kan være nyttige når dere arbeider med laben. Her finnes finnes gode eksempler for

  • Basic plotting
  • Introduksjon til Numpy og Matplotlib
  • Diverse teknikker for å løse differensialligninger
  • ... og mye mer