Shortest distance between two line segments

版本 1.1.0.0 (2.8 KB) 作者: Nick
Function computes the shortest distance between two line segments.
2.6K 次下载
更新时间 2014/6/4

查看许可证

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

引用格式

Nick (2024). Shortest distance between two line segments (https://www.mathworks.com/matlabcentral/fileexchange/32487-shortest-distance-between-two-line-segments), MATLAB Central File Exchange. 检索来源 .

MATLAB 版本兼容性
创建方式 R2010a
兼容任何版本
平台兼容性
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!
版本 已发布 发行说明
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