C# Unittest Methode Kreis Berechnungen?
Hey Leute, das ist eine fertige Unittest Methode, und ich muss dazu eine Richtige Methode schreiben.
public bool IsOverlappingWith(Circle otherCircle) {}
Circel = Meine Klasse
X, Y, Radius sind 👇Member Variablen
Und meine Frage lautet, was muss ich genau in meine Methode berechnen bzw. was zurück geben?
Abstand bei 45 Grad ist (false)
Berührung bei 45 Grad ist (true)
Überlagerung bei 45 Grad ist (true)
Was könnte damit gemeint sein, wenn ich mir zwei Kreise vorstelle?
1 Antwort
Mit den "45 Grad" ist die Position vom zwischen circle und otherCircle gemeint?
Wenn circle an Positon 0 steht und otherCircle X:45 und Y:45 hat, ist die direkte Gerade zwischen beiden Mittelpunkten genau 45° zu den X- und Y-Achsen.
Und der jeweils gewählte Radius pro Assert ist dann natürlich so gewählt, dass der UnitTests erfolgreich ist.
Und Berechnen musst Du:
Berechne die Distanz zwischen den Punkten beider Kreise. Wie das geht, kann dir Google verraten - simple Mathematik (Stichwort: Satz des Pythagoras).
Danach hast Du eigentlich schon die (fast) fertige Lösung:
Ist der Abstand größer als die Summe beider Radien => Keine Berührung
Ist der Abstand gleich der Summe beider Radien => Sie berühren sich
Ist der Abstand kleiner als die Summe beider Radien => Sie überlappen