Shortest distance between two line segments

Versión 1.1.0.0 (2,8 KB) por Nick
Function computes the shortest distance between two line segments.
2,6K Descargas
Actualizado 4 jun 2014

Ver licencia

Computes the shortest distance between two line segments given start and end points for each. Adapts the algorithm found on Dan Sunday's website (http://softsurfer.com/Archive/algorithm_0106/algorithm_0106.htm#dist3D_Segment_to_Segment
).
Usage: Input the start and end x,y,z coordinates for two line segments.
p1, p2 are [x,y,z] coordinates of first line segment and p3,p4 are for
second line segment.

Output: scalar minimum distance between the two segments.

Example:
P1 = [0 0 0]; P2 = [1 0 0];
P3 = [0 1 0]; P4 = [1 1 0];
dist = DistBetween2Segment(P1, P2, P3, P4)
dist =

1

Citar como

Nick (2025). Shortest distance between two line segments (https://www.mathworks.com/matlabcentral/fileexchange/32487-shortest-distance-between-two-line-segments), MATLAB Central File Exchange. Recuperado .

Compatibilidad con la versión de MATLAB
Se creó con R2010a
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Versión Publicado Notas de la versión
1.1.0.0

I have updated the function to now give a variety of outputs. The default output is still the distance, however you can also output the vector connecting the two closest points and the coordinates of those points on the lines.

1.0.0.0