In deze oefening programmeren we de klasse Cirkel
. Per object van deze klasse
stockeer je de straal van de cirkel, en het middelpunt. Het gaat om een cirkel in het $$xy$$-vlak,
en daarom stellen we dit middelpunt voor via twee reële getallen (resp. $$x$$- en $$y$$-coördinaat
van dit middelpunt).
Programmeer het onderstaande:
__str__()
-methode die als gedaante oplevert : [straal spatie (x-waarde, spatie y-waarde)]
__repr__()
-methode
+
: deze wordt gevolgd door een tuple reële getallen $$(x_0, y_0)$$. De operator levert een nieuwe
cirkel, die ontstaat door de originele cirkel te verschuiven. In de $$x$$-richting verschuiven we over een afstand $$x_0$$,
en analoog verschuiven we in de $$y$$-richting over een afstand $$y_0$$
==
levert True
indien de drie gegevens (straal, $$x$$- en $$y$$-waarden van middelpunt)
gelijk zijn, en anders False
. Gebruik voor het testen op gelijkheid de functie np.allclose()
, zonder defaults aan
te passen.
"%f"
voor reële getallen.
c = Cirkel(1.0, 5.0, 10.0) print(c) -> [1.000000 (5.000000, 10.000000)] print(eval(repr(c)) == c) -> True print(c + (1.0, 2.0)) -> [1.000000 (6.000000, 12.000000)] print((2.0, 5.0) + c) -> [1.000000 (7.000000, 15.000000)] c += (3.0, 10.0) print(c) -> [1.000000 (8.000000, 20.000000)]