Een rechte in het $$(x, y)$$-vlak kan voorgesteld worden door de vergelijking:
$$ ax + by + c = 0 $$
Programmeer in de klasse Rechte het volgende:
__str__() levert een string-gedaante van de vorm $$\verb!ax+by+c=0!$$, hierbij worden de
parameters $$a$$, $$b$$ en $$c$$ in hun standaard gedaante weergegeven (gebruik dus %f). De voorstelling bevat
geen spaties.r(p) is:
r een object is van de klasse Rechte p een tuple bestaande uit twee reële getallen die een punt met coördinaat $$(x, y)$$ in het vlak voorstellen r + d waarbij r een object is van de klasse Rechte en d een reëel getal,
resulteert in een nieuw object van de klasse Rechte met identieke parameters a en b als de rechte r
en een waarde voor de parameter c gelijk aan c + dr - d in een nieuwe rechte met gelijke parameters a en b en een waarde voor
de parameter c gelijk aan c - d* wordt gebruikt om het snijpunt van twee rechten te vinden. De twee rechten $$R$$ en $$S$$ hebben als vergelijking
$$a_1 x + b_1 y + c_1 = 0$$ en $$a_2 x + b_2 y + c_2 = 0$$. Het resultaat van de oproep R*S wordt hieronder vastgelegd:
'?' (type string)a = Rechte(2, 4, 9) print(a) #2.000000x+4.000000y+9.000000=0 b = a + 2 print(b) #2.000000x+4.000000y+11.000000=0 c = a - 2 print(c) #2.000000x+4.000000y+7.000000=0 print(a((1.0, 2.0))) #19.0 print(a((-4.0, -0.25))) #0.0 r = Rechte(6, -3, 1) p = a*r print(p) #(-1.0333333333333334, -1.7333333333333334) print(a(p)) #0.0 print(r(p)) #-8.881784197001252e-16