Er zijn twee manieren om een punt in een vlak voor te stellen: cartesische coördinaten en poolcoördinaten. In het eerste coördinatensysteem wordt elk punt voorgesteld door een \(x\)- en een \(y\)-coördinaat. In het tweede coördinatensysteem wordt elk punt voorgesteld door een straal \(r\) (de afstand tot de oorsprong) en een hoek \(\theta\) (de hoek tussen de verbinding met de oorsprong en de positieve -as). Het verband tussen deze twee coördinatensystemen:
figuur | formules |
---|---|
![]() |
\(\begin{aligned}\left\{ \begin{array}{rcl}x&=&r\cos(\theta) \\y&=&r\sin(\theta) \end{array} \right.\end{aligned}\) en \(\begin{aligned}\left\{ \begin{array}{rcl}r&=&\sqrt{x^2+y^2} \\\theta&=&\arctan(\frac{y}{x})\end{array} \right.\end{aligned}\) |
Om deze oefening op te lossen heb je functies uit de module math nodig. Zoek de beschikbare functies op in de API1.
Je kan een lijst met functies ook in Python opvragen:
import math
help(math)
Tip: Bekijk het verschil tussen de functies atan
en atan2
. Je kan dit opzoeken in
module math2.
De invoer bestaat uit twee reële getallen, elk op een afzonderlijke regel, die respectievelijk de \(x\)- en \(y\)-coördinaat van een gegeven punt in het cartesisch coördinatensysteem voorstellen.
De uitvoer bestaat uit twee reële getallen, elk op een afzonderlijke regel, die respectievelijk de straal \(r\) en de hoek \(\theta\) van het gegeven punt in poolcoördinaten uitdrukken.
Ingegeven \((x, y) = (1, 0)\)
>>> main()
1.0
0.0
Ingegeven \((x, y) = (0, 3)\)
>>> main()
3.0
1.5707963267948966
main()
.>>>
) gebruikt voor de aanroep van main()
. De uitvoer van het programma staat op de volgende lijnen tegen de linkerkantlijn.Gebruik de gewone vermenigvuldiging. Bereken dus x*x
Gebruik een functie van de module math
. Je kan dit opzoeken in de API.
pow
. Is dat een betere oplossing voor het kwadraat?NEEN!! je gebruikt deze functie enkel als de exponent geen geheel getal is!!
atan
en atan2
?De functie atan
heeft maar één parameter, en berekent altijd een hoek in het eerste of vierde kwadrant.
De functie atan2
heeft twee parameters en kan dus de hoek berekenen in de vier kwadranten.
atan2
krijg ik de fout "delen door 0". Hoe los ik dit op?In de opgave staat een link naar de documentatie bij module math. Daar vind je een voorbeeldje voor de functie atan2
.
Heb je de twee parameters correct doorgegeven?