Ich möchte den Abstand zwischen einem Bogen und einem Punkt in einem 3D-Raum berechnen. Ich fand alles ist der Abstand zwischen einem Kreis und einem Punkt link (die entweder falsch ist oder wo ich einen Fehler gemacht, als ich falsche Werte erhalten):Abstand zwischen Punkt und Bogen in 3D
P = np.array([1,0,1])
center = np.array([0,0,0])
radius = 1
n2 = np.array([0,0,1])
Delta = P-center
dist_tmp = np.sqrt((n2*Delta)**2 + (np.abs(np.cross(n2, Delta))-radius)**2)
dist = np.linalg.norm(dist_tmp)
Ich habe einen Kreis in der xy-Ebene mit Ursprung bei xyz = 0 und Radius = 1. Der Punkt von Interesse ist in der Entfernung 1 über dem Kreis. Das Ergebnis der Entfernung vom Code ist 1.73 .. und nicht 1.
- Was ist die richtige Gleichung für Punkt-Kreis-Abstand?
- Wie kann ich es auf Punkt-Bogen-Abstand erweitern?
Woher wissen Sie, dass Sie "falsche Werte bekommen"? I.e. Bitte teilen Sie uns die von Ihnen verwendeten Daten, das Ergebnis und das von Ihnen erwartete Ergebnis mit. Siehe [Erstellen eines minimalen, vollständigen und überprüfbaren Beispiels] (http://stackoverflow.com/help/mcve). Vergessen Sie nicht, uns die Datentypen 'P' und' center' und 'radius' mitzuteilen. –
Sorry, mein Schlechter. Das Beispiel/test-input sieht wie folgt aus. Ich habe einen Kreis in der x-y-Ebene mit Ursprung bei x-y-z = 0 und Radius = 1. Der Punkt von Interesse ist im Abstand 1 über dem Kreis. __ import numpy als np __ P = np.array ([1,0,1]) __ center = np.array ([0,0,0]) __ radius = 1 __ n2 = np. Array ([0,0,1]) __ Von dem ich eine Entfernung vom Kreis von 1 erwarten würde - die Ergebnisse sind 1,73. – user56574
Danke für die zusätzlichen Informationen für Ihre erste Frage. Ich habe darauf eine Antwort gegeben. Für Ihre zweite Frage, wie ist der Lichtbogen definiert? Natürlich ist es ein Teil des Kreises, aber wie sagt man welchen Teil? –