Schnittpunkt zwischen Kugel und Zylinder

Ich habe eine Kugel und einen Zylinder.

Ich habe den Mittelpunkt und den Radius von jedem von ihnen.

Die Sphäre:

Radius = R 1

Mitte = ( X 1 , j 1 , z 1 )

der Zylinder:

Radius = R 2

Höhe = H 2

Mitte = ( X 2 , j 2 , z 2 )

Woher weiß ich, ob es eine Kreuzung gibt?

Ich habe dieses hier gelesen: http://en.wikipedia.org/wiki/Sphere%E2%80%93 Cylinder_intersection

aber mein Zentrum ist es nicht ( X 1 , 0 , 0 ) Aber ( X 1 , j 1 , z 1 ) .

der Radius in meiner Kugel ist 1, und der Mittelpunkt ist ( X 1 , j 1 , z 1 )

Der Radius in meinem Zylinder ist 1, die Höhe ist 10 und der Mittelpunkt ist ( X 2 , j 2 , z 2 ) .

Ich dachte daran, meinen Mittelpunkt umzuwandeln ( X 1 , j 1 , z 1 ) hinein ( X 1 , 0 , 0 ) und dann wissen, ob es eine Kreuzung gibt oder nicht, gemäß der Referenz, die ich verlinkt habe.

jede Hilfe geschätzt!

Antworten (1)

Sie können die Punkte verschieben, um den Mittelpunkt der Kugel am Ursprung zu platzieren, indem Sie den Mittelpunkt der Kugel bilden ( 0 , 0 , 0 ) und die Mitte des Zylinders ( X 2 X 1 , j 2 j 1 , z 2 z 1 ) Dies ist eine Übersetzung des Raums. Wenn Sie Ihre Ergebnisse im ursprünglichen Koordinatensystem haben möchten, fügen Sie einfach hinzu ( X 1 , j 1 , z 1 ) zu ihnen.

danke, aber wenn ich den Mittelpunkt der Kugel von (x1,y1,z1) in (x1,0,0) ändere und dann der Mittelpunkt des Zylinders zu (x2,y2-y1,z2-z1) wird, wie hilft es mir? Der x-Punkt der Kugel ist immer noch x1. Wenn ich also vor und nach der Übersetzung x + R < r mache, bekomme ich dasselbe. Können Sie mir das bitte anhand eines Beispiels zeigen? radius_sphere=1. center_sphere=(3,-5,9). Radius_Zylinder=1. Center_Zylinder=(-5,-7,2), Höhe=10. Bitte zeigen Sie mir, wie ich herausfinden kann, ob es eine Kreuzung gibt oder nicht. Danke!
Der Artikel sieht vor X 1 / N e X 2 , der Unterschied ist A . Vorausgesetzt der Zylinder ist dabei z , so dass Positionen in dieser Richtung keine Rolle spielen, und es richtet den Versatz zwischen dem Mittelpunkt der Kugel und der Achse des Zylinders so aus, dass er entlang der verläuft X Achse. Es wird auch davon ausgegangen, dass der Zylinder unendlich lang ist. Für Ihren Fall, A = ( 3 ( 5 ) ) 2 + ( 5 ( 7 ) ) 2 = 68 . Da dieser größer ist als die Summe der Radien, gibt es keinen Schnittpunkt.