计算空间中两线段之间的距离

本文详细介绍了计算空间中两线段之间距离的理论推导,包括空间直线和线段的参数方程,并提供了数值解法的程序实现。通过在纤维气凝胶模型中的应用和验证,确保了方法的正确性和实用性。
摘要由CSDN通过智能技术生成

最近在建立气凝胶的有限元模型中需要计算每两根纤维(线段)之间的距离,最初参考的两篇文章确实提供了关于一些数值方法的计算思路(文章1 && 文章2),但忽略了线段距离问题的理论推导,导致无法用参数 t t t 正确描述两目标线段!所求得的结果错误。本文从理论推导和程序实现两方面来说明求空间线段之间距离的方法。

理论推导

空间直线的参数方程

如果一个非零向量平行于一条已知直线,这个向量就叫做这条直线的方向向量
由于过空间一点可作而且只能作一条直线平行于一已知直线,所以当直线 L L L上一点 M 0 ( x 0 , y 0 , z 0 ) M_{0}\left(x_{0},y_{0},z_{0}\right) M0(x0,y0,z0)和它的一方向向量 s = ( m , n , p ) \boldsymbol{s}=\left(m,n,p\right) s=(m,n,p)为已知时,直线 L L L的位置就完全确定了。下面我们来建立这直线的方程。图1
设点 M ( x , y , z ) M\left(x,y,z\right) M(x,y,z)是直线 L L L上的任意一点,那么向量 M 0 M → \overrightarrow{M_{0}M} M0M L L L的方向向量 s \boldsymbol{s} s平行(如上图所示)。所以两向量的对应坐标成比例,由于 M 0 M → = ( x − x 0 , y − y 0 , z − z 0 ) , s = ( m , n , p ) \overrightarrow{M_{0}M}=\left(x-x_{0},y-y_{0},z-z_{0}\right),\boldsymbol{s}=\left(m,n,p\right) M0M =(xx0,yy0,zz0)s=(m,n,p),从而有
x − x 0 m = y − y 0 n = z − z 0 p \frac{x-x_{0}}{m}=\frac{y-y_{0}}{n}=\frac{z-z_{0}}{p} mx

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值