2017-03-25 3 views
-1

Es gibt drei Punkte auf einer Linie, die Mittelpunkt von drei Kreisen sind. Der Anfangsradius jedes Kreises ist definiert und sie haben keine Überlappungen in ihrem Anfangszustand. Dann beginnen alle von ihnen zu wachsen und ihren Radius mit ähnlicher und gleicher Geschwindigkeit/Verhältnis zu erhöhen (zum Beispiel 1 cm/sec für alle von ihnen).Schnittpunkt von drei wachsenden Kreisen finden

Wie finde ich den Schnittpunkt dieser Kreise in der Zeit? Ich meine, herauszufinden, wenn diese drei Kreise sich in zwei Punkten treffen?

Initial state (measurements are not accurate)

final state where I want to find elapsed time

+0

Wie ist das eine Frage der Computerprogrammierung? Wenn Sie Ihre eigenen Bemühungen hinzufügen, um das Problem zu lösen, wäre dies besser für die Seite [Mathematics Stack Exchange] (http://math.stackexchange.com/) geeignet. –

+0

Ich stimme für das Schließen dieser Frage als Off-Topic ab, da sie zu einer anderen Site im Stack Exchange-Netzwerk gehört, nämlich [Mathematics Stack Exchange] (http://math.stackexchange.com/). –

+0

@RoryDaulton, Dies ist definitiv eine Programmierfrage. Ich versuche einen Algorithmus zu finden, um die verstrichene Zeit in C zu berechnen. Das muss also eine Programmierfrage sein. Nur weil es keine Semikolons enthält, bedeutet das nicht, dass es nicht mit der Programmierung zusammenhängt :) – Nixmd

Antwort

2

mittleren Kreis Lassen Sie uns immer bei 0 zentriert ist, nach links ein - bei -da, rechts ein - bei dc. Jeder Radius hängt von der Zeit ab: Ra(t) = ra + k * t. Also mit Formel (5) aus mathworld page können wir Gleichung schreiben für x-Koordinate von Kreuzungen (überprüfen Sie die Zeichen gründlich):

- (da^2 - (ra+k*t)^2 + (rb+k*t)^2)/da = (dc^2 - (rc+k*t)^2 + (rb+k*t)^2)/dc 

und lösen es für unbekannte t, dann überprüfen Sie, ob dieser Wert echte Kreuzung gibt.

+0

Danke @MBo, diese Methode rockt – Nixmd

Verwandte Themen