Öppet tema

VECKANS ÖVNING – PLOTTA TRIGONOMETRI

Denna vecka ska vi se hur det är att plotta i python. Vi vill undersöka de mönster som uppstår när man gör följande:

  • Rita en cirkel
  • Fördela x antal punkter, tex 20st, med jämna mellanrum längs med cirkeln
  • Numrera punkterna, tex från 0 till 19
  • Rita linjer mellan 1-2, 2-4, 3-6, 4-8 och så vidare ända upp till 17-10, 18-11 och 19-12.
    Med andra ord drar vi linjer mellan punkterna n och m*n, där m är en multiplikator (i detta fall 2). Och om vi får värden som överstiger x börjar vi om att räkna från 0.
  1. Vi kommer att behöva använda cos, sin och pi i våra beräkningar. Importera därför math-biblioteket.
  2. Vi kommer vilja dela in vår cirkel i fler än 20 sektorer för att få högre upplösning. Skapa en variabel för antal sektorer och sätt den till runt 200.
  3. I vårt program kommer vi kunna välja hur stora ‘hopp’ vi ska göra, alltså vilket tal m vi ska multiplicera vår punkt med. Vi behöver en variabel för detta.
  4. Punkterna på en enhetscirkel kan beskrivas med polära koordinater genom en enda vinkel. Vi är intresserade av hur stor vinkeln är mellan varje punkt. Detta kan beräknas med 2*math.pi / antalet sektorer. Spara detta i en variabel.
  5. Nu behöver vi en funktion som returnerar y-koordinaten på enhetscirkeln givet en vinkel i radianer, likt den funktion som redan är definierad för x.
  6. Inne i vår for-loop vill vi skapa två tomma listor.
    Den ena listan kommer sedan fyllas med x-koordinaterna för vår start- respektive slutpunkt, och den andra listan kommer fyllas med y-koordinaterna för vår start- respektive slutpunkt.
  7. Koden för att lägga till startpunkternas x- och y-koordinater är redan på plats. Nu behöver vi två rader som lägger till x- resp y-koordinaterna för slutpunkten i våra två listor.

Kör programmet!
Har du lyckats kanske du får någon av dessa mönster nedan?
***TIPS***
Testa att ändra värdet på din ‘multiplier’ och antal cirkelsektorer, för att se alla de olika mönster som genereras. Om du vill byta färg på linjerna kan man skriva plt.plot(x, y, ‘r’) för röd. b för blå osv.

SEE ALL Add a note
YOU
Add your Comment