Finden Sie den Abstand zwischen zwei Kreisen
Ich versuche, herauszufinden, wie man den Abstand von zwei Kreisen relativ zu den Ecken Ihres quadratischen container-Boxen. Ich brauche etwas Hilfe mit der Mathematik hier.
Wie kann ich die Anzahl der Pixel für die Linie mit einem Fragezeichen gekennzeichnet?
Dankbar für die Hilfe, wie immer.
- was dows diese haben zu tun mit der Programmierung? sollte verschoben werden, math.stackexchange.com
- BTW das ist alles für eine Flash-Anwendung, an der ich arbeite.
- Ich immer noch nicht zu sehen, die Relevanz in Bezug auf die Programmierung. WENN Sie jedoch Fragen für die programmatische Algorithmus, dann passt es hier.
- Es ist Orientierung für die Umsetzung. Es ist nicht eine Debatte über die Mathematik, es ist eine Programmier-problem habe ich auch.
- Wir nutzen die Mathematik in der Programmierung, wenn er erwartete eine Antwort von einem Mathematiker, und kein Programmierer. Dann ja, er/Sie könnte am falschen Ort gewählt. Aber nichts falsch mit dem bitten über die Programmierung Mathematik auf ein Programmier-forum. Wenn nicht, dann empfehle ich dir sagen, aus allen diesen frechen Menschen sprechen über Basis-2 math-Operationen, weil es offensichtlich keine Bedeutung für die Programmierung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
tldr: Berechnen Sie den Abstand zwischen den einzelnen Kreisen Mittelpunkt, dann subtrahieren Sie den radius jedes Kreises ab.
Für die Zwecke der demonstration, übernehmen wir die folgenden:
r1 = 100
) Kreis in der (x, y) - Koordinaten(0, 0)
, undr2 = 50
) Kreis (x, y) - Koordinaten(150, -150)
.Gegeben, dass der Abstand zwischen Ihren Mittelpunkten ist:
Zu finden, der Abstand zwischen den Grenzen, subtrahieren wir die radius jeder Kreis aus dem Abstand zwischen Ihren Zentren.
Dies lässt uns mit der Gleichung:
Einsetzen der Werte in die obige gibt:
Haben Sie die Mitte der einzelnen Kreise? Wenn Sie das tun, berechnen Sie zuerst den Abstand von der Mitte der Kreise.
distanz2 = center12 + center22
Dann müssen Sie minus den radius der beiden Kreise. In deinem Fall wird es 150 (100 + 50)
Let ' s See... jeder radius ist die Hälfte jeder Seite Länge, und nach Abzug der Summe der Radien von dem Abstand zwischen der Mitte erhalten Sie den Betrag, den Sie übrig.
Hoffe, das hilft?
Den mathematisch vereinfachte version von Daniel ' s Antwort ist
wobei r1,r2 sind die beiden Radien, und s1,s2 sind die beiden quadratischen Seiten. Dies ist leicht zu sehen, durch den Blick auf jedes Quadrat einzeln und merken, dass der Abstand d1 von der Kreis/Quadrat-center, um die rechtwinklige Ecke ist sqrt(2) * r, und den gewünschten Abstand innerhalb von diesem Quadrat ist die d1 - der Kreis mit dem radius r.