In het euclidisch vlak wordt een punt voorgesteld door een tuple \((x, y)\).
Een cirkel wordt bepaald door zijn middelpunt \(M = (x_m,y_m)\) en de straal \(r\).
Als \(P(x,y)\) een punt is, dan bereken je de afstand tussen \(P\) en \(M\):
![]() |
\(d(P,M)=\sqrt{(x-x_m)^2+(y-y_m)^2}\) |
Als \(d(P,M)<straal\) dan ligt P in de cirkel.
Schrijf de functie binnen_cirkel(m, r, p)
die controleert of het punt \(p=(x, y)\) in de cirkel ligt bepaald door \((m, r)\). Een punt op de cirkelrand ligt ook in de cirkel.
De functie geeft een tuple terug met als eerste waarde True
of False
en als tweede waarde de afstand van het punt tot het middelpunt van de cirkel.
Opmerking: zowel de straal als de coördinaten zijn komma-getallen.
Een cirkel met middelpunt \((x_m,y_m)\) en straal \(r\) kan ook beschreven worden door één tuple \(((x_m,y_m), r)\).
Schrijf een tweede versie van de functie binnen_cirkel_2(cirkel, p)
waarbij de eerste parameter cirkel
doorgegeven wordt als tuple \(((x_m,y_m), r))\) . De tweede parameter is terug een tuple die een punt \(p=(x, y)\) beschrijft. Deze functie geeft ook een tuple terug met als eerste waarde True
of False
en als tweede waarde de afstand van het punt tot het middelpunt van de cirkel.
>>> binnen_cirkel((1, 1), 4, (4, 5))
(False, 5.0)
>>> binnen_cirkel((1, 1), 10, (4, 5))
(True, 5.0)
>>> binnen_cirkel((1, 1), 5, (4, 5))
(True, 5.0)
>>> binnen_cirkel((1, 1.2), 10.5, (4.1, 5))
(True, 4.904079934095691)
>>> binnen_cirkel_2(((1, 1), 4), (4, 5))
(False, 5.0)
>>> binnen_cirkel_2(((1, 1), 10), (4, 5))
(True, 5.0)
>>> binnen_cirkel_2(((1, 1), 5), (4, 5))
(True, 5.0)
>>> binnen_cirkel_2(((1, 1.2), 10.5), (4.1, 5))
(True, 4.904079934095691)