11C: Meetkunde

Les 11 kent drie delen A, B, C die in een willekeurige volgorde kunnen worden doorgewerkt.

In deze oefening zullen we vier functies realiseren die bij berekeningen in de meetkunde van pas komen:

  • een functie die de lengte uitrekent van de schuine zijde van een rechthoekige driehoek,
  • een functie die de omtrek van een rechthoekige driehoek,
  • een functie die de afstand tussen twee punten in het platte vlak uitrekent,
  • een functie die de omtrek uitrekent van een willekeurige driehoek.

Hypotenusa (schuine zijde)

Je ziet een  rechthoekige driehoekig in het plaatje rechts. Volgens de definitie  is een van de hoeken van de rechthoekige driehoek gelijk aan 90 graden (een rechte hoek). De driehoek heeft drie zijden. De zijde tegenover de rechte hoek heeft een speciale naam: de hypotenusa.

Zoals in de tekening te zien is laten we a en b de lengte zijn van de rechthoekszijden, en c de lengte van de hypotenusa. De beroemde Stelling van Pythagoras zegt nu dat:

\displaystyle{a^2+b^2=c^2}

In de eerste opgave moet je deze stelling in een functie omzetten die, wanneer a and b gegeven zijn, de lengte van de hypotenusa berekent.

Programmeeroefening: Hypotenusa
Definieer een functie hypotenuse(a, b) die de lengte van de hypotenusa c teruggeeft, wanneer de andere twee zijden lengte a en b hebben.Hint
Voer testcommando's zoals print(myfunction("test argument")) hieronder in.

Omtrek

Denk eraan dat de omtrek van een driehoek de som van de lengte van de zijden is. Dus in bovenstaande tekening is de omtrek a+b+c In je programma mag je aannemen dat een correcte versie van hypotenusa reeds is gedefinieerd (het is niet nodig om het vanuit de eerste box naar de tweede te kopiëren).

Programmeeroefening: De driehoeken zijn rechthoekig
Definieer een functie rightTrianglePerimeter(a, b) waarbij je gebruik maakt van hypotenuse(a, b), die de lengte van de omtrek van een rechthoekige driehoek, waarvan de rechthoekszijden lengte a and b zijn, de omtrek van de driehoek teruggeeft.
Voer testcommando's zoals print(myfunction("test argument")) hieronder in.

Afstand in het platte vlak

Punten in het platte vlak leggen we vast door twee zogenaamde coördinaten  (het Cartesisch coördinatensysteem), de x coördinaat en de y coördinaat. We willen graag een functie schrijven waarvan de invoer een tweetal punten is, en waarbij de uitvoer de afstand tussen die twee punten is. Nu blijkt dat de  hypotenuse functie ons helpt bij het uitvoeren van die taak!

Meer in detail, stel dat het eerste punt  coördinaten (x1, y1)  heeft waarbij  x1 en y1 reële getallen zijn, en stel dat het tweede punt coördinaten (x2, y2) heeft. Het sleutel idee is de rechthoekige driehoek te tekenen zoals in onderstaande tekening: de hypotenusa loopt van (x1, y1) naar (x2, y2) en de lengt ervan is gelijk aan de afstand tussen de twee punten.

Om de lengte van de hypotenusa te berekenen is het nodig de twee andere zijden van de driehoek. Dit kan door de definitie van van coördinaten te gebruiken (zie tekening): de horizontale verplaatsing is  a = x1-x2 en de verticale verplaatsing is  b = y1-y2.

Programmeeroefening: Afstand in het platte vlak
Neem aan dat hypotenuse(a, b) reeds is gedefinieerd. Definieer een functie distance2D(x1, y1, x2, y2) die de afstand tussen het punt  (x1, y1) en het punt (x2, y2) berekent.
Voer testcommando's zoals print(myfunction("test argument")) hieronder in.

Omtrek van een willekeurige driehoek

We gaan nu de laatste oefening van deze les maken. Bedenk dat de omtrek van een driehoek de som is van de lengten van de zijden; en merk op dat de lengte van een zijde gelijk is aan de afstand tussen de twee bijbehorende hoekpunten.

Programmeeroefening: Secure the Perimeter
Neem aan dat  distance2D(x1, y1, x2, y2) reeds is gedefinieerd. Definieer een functie trianglePerimeter(xA, yA, xB, yB, xC, yC) die de omtrek  berekent van een driehoek waarvan de hoekpunten zijn vastgelegd door  (xA, yA), (xB, yB) and (xC, yC).
Voer testcommando's zoals print(myfunction("test argument")) hieronder in.

Je bent nu klaar om naar de volgende les te gaan!