区块链技术博客
www.b2bchain.cn

四、点到平面的距离求职学习资料

本文介绍了四、点到平面的距离求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

说明

在 3D 几何中,如果求一个点C到平面的距离?如下图,平面 P 定义为:过 A 点,垂直于向量 AB。也就是说:A 点在平面上,AB 则是平面的法线。
四、点到平面的距离

几何

利用几何知识,我们知道从点 C 向平面做垂线,这个线段长度就是点 C 到平面的距离。那么这个垂线的方向是什么,长度又是多少?很显然,垂线的方向就是平面的法线 AB 的方向(或者说相反方向),那么长度就是 AC 向量在法线 AB 上的投影长。
四、点到平面的距离
恰好,向量的点积就可以求投影长,前提是 AB 为单位长度的向量。如果 AB 不是单位长度向量呢?只要用normalize方向将其变成单位向量就可以了。

//当 AB 长度为 1 时,点积就代表了 AC 在 AB 上的投影长 dot(AC, AB) = ||AC||*||AB||*cos𝜃

从向量点积的角度讲,计算出的距离可能是负的,意味着点在平面的背面方向,如果只需要数值的话,对结果取绝对值就好了。

代码

“`swift
//定义平面
struct Plane {
var position = simd_float3.zero
var normal = simd_float3.zero
}

说明

在 3D 几何中,如果求一个点C到平面的距离?如下图,平面 P 定义为:过 A 点,垂直于向量 AB。也就是说:A 点在平面上,AB 则是平面的法线。
四、点到平面的距离

几何

利用几何知识,我们知道从点 C 向平面做垂线,这个线段长度就是点 C 到平面的距离。那么这个垂线的方向是什么,长度又是多少?很显然,垂线的方向就是平面的法线 AB 的方向(或者说相反方向),那么长度就是 AC 向量在法线 AB 上的投影长。
四、点到平面的距离
恰好,向量的点积就可以求投影长,前提是 AB 为单位长度的向量。如果 AB 不是单位长度向量呢?只要用normalize方向将其变成单位向量就可以了。

//当 AB 长度为 1 时,点积就代表了 AC 在 AB 上的投影长 dot(AC, AB) = ||AC||*||AB||*cos𝜃

从向量点积的角度讲,计算出的距离可能是负的,意味着点在平面的背面方向,如果只需要数值的话,对结果取绝对值就好了。

代码

“`swift
//定义平面
struct Plane {
var position = simd_float3.zero
var normal = simd_float3.zero
}

说明

在 3D 几何中,如果求一个点C到平面的距离?如下图,平面 P 定义为:过 A 点,垂直于向量 AB。也就是说:A 点在平面上,AB 则是平面的法线。
四、点到平面的距离

几何

利用几何知识,我们知道从点 C 向平面做垂线,这个线段长度就是点 C 到平面的距离。那么这个垂线的方向是什么,长度又是多少?很显然,垂线的方向就是平面的法线 AB 的方向(或者说相反方向),那么长度就是 AC 向量在法线 AB 上的投影长。
四、点到平面的距离
恰好,向量的点积就可以求投影长,前提是 AB 为单位长度的向量。如果 AB 不是单位长度向量呢?只要用normalize方向将其变成单位向量就可以了。

//当 AB 长度为 1 时,点积就代表了 AC 在 AB 上的投影长 dot(AC, AB) = ||AC||*||AB||*cos𝜃

从向量点积的角度讲,计算出的距离可能是负的,意味着点在平面的背面方向,如果只需要数值的话,对结果取绝对值就好了。

代码

“`swift
//定义平面
struct Plane {
var position = simd_float3.zero
var normal = simd_float3.zero
}

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 四、点到平面的距离求职学习资料
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们