Drop hier links of afbeeldingen om ze aan de editor toe te voegen.

Gegeven 2 willekeurige punten in een 2D-vlak kan je hiermee 2 verschillende gelijkzijdige driehoeken construeren. Hieronder zijn A en B 2 willekeurige punten en C en D geconstrueerd op basis van deze 2 punten.

Gelijkzijdige driehoeken op basis van 2 punten.

Je kan duidelijk zien dat zowel \(\triangle ABC\) en \(\triangle ABD\) gelijkzijdig zijn.

De eerste optie (voor punt \(C\)) kan je berekenen via:

\[x = \dfrac{x_1 + x_2 + \sqrt{3}(y_1 - y_2)}{2} \qquad y = \dfrac{y_1 + y_2 - \sqrt{3}(x_1 - x_2)}{2}\]

De tweede optie (voor punt \(D\)) lijkt hier sterk op en gaat als volgt:

\[x = \dfrac{x_1 + x_2 - \sqrt{3}(y_1 - y_2)}{2} \qquad y = \dfrac{y_1 + y_2 + \sqrt{3}(x_1 - x_2)}{2}\]

Opgave

Schrijf een functie gelijkzijdigeDriehoeken(punt1, punt2) die gegeven twee tuples met een x- en y-coördinaat berekent wat de 2 mogelijke opties zijn om hiermee een gelijkzijdige driehoek te creëren. Rond elk coördinaat af op 2 cijfers na de komma. Retourneer het resultaat als een lijst met 2 tuples.

Voorbeelden

>>> gelijkzijdigeDriehoeken((4, 3), (-2, 2))
[(1.87, -2.7), (0.13, 7.7)]
>>> gelijkzijdigeDriehoeken((3.4812, -7.9245), (-1.6738, 9.2051))
[(-13.93, -3.82), (15.74, 5.1)]