说明
点到线段的距离,计算方式也和射线类似,直接取最近点坐标,计算距离。
几何
同前面一样,为了性能考虑,我们也会给出一个距离平方的计算方法。
代码
///点到线段的距离
static func distanceBetween(point:simd_float3, segment:Segment) -> Float{
let position = nearestPointOnSegment(from: point, to: segment)
return distance(position, point)
}
///点到线段距离的平方
static func distanceSquaredBetween(point:simd_float3, segment:Segment) -> Float {
let position = nearestPointOnSegment(from: point, to: segment)
return distance_squared(position, point)
}