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

十五、多于三个点的最佳平面求职学习资料

D0b2wT.gif

本文介绍了十五、多于三个点的最佳平面求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

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

说明

在三维空间中,3 个点确定一个平面(3 个点不能共线)。但是有时,我们会得到多个点,进而反推出平面位置,比如知道了多边形的顶点,但是位置精确度不够高,需要根据所有点集找到最接近的平面时。

几何

最简单的算法就是,我们把这些点每三个当成一个三角形,逐个计算法线,最后把得到的法线加起来,平均一下,就得到了“最佳”法线。当然,这个计算还可以化简,化简过程我们不再推算,根据书本,化简后的公式如下:
十五、多于三个点的最佳平面

代码

“`swift
static func estimatePlane(from points:[simd_float3]) -> Plane? {
if points.count < 3 {
return nil
}
var normal = simd_float3.zero
var position = simd_float3.zero
// 从最后一个顶点开始,避免在循环中做 if 判断
var second = points.last!
for vector in points {
// 边向量乘积相加
normal.x += (second.z + vector.z) * (second.y – vector.y)
normal.y += (second.x + vector.x) * (second.z – vector.z)

说明

在三维空间中,3 个点确定一个平面(3 个点不能共线)。但是有时,我们会得到多个点,进而反推出平面位置,比如知道了多边形的顶点,但是位置精确度不够高,需要根据所有点集找到最接近的平面时。

几何

最简单的算法就是,我们把这些点每三个当成一个三角形,逐个计算法线,最后把得到的法线加起来,平均一下,就得到了“最佳”法线。当然,这个计算还可以化简,化简过程我们不再推算,根据书本,化简后的公式如下:
十五、多于三个点的最佳平面

代码

“`swift
static func estimatePlane(from points:[simd_float3]) -> Plane? {
if points.count < 3 {
return nil
}
var normal = simd_float3.zero
var position = simd_float3.zero
// 从最后一个顶点开始,避免在循环中做 if 判断
var second = points.last!
for vector in points {
// 边向量乘积相加
normal.x += (second.z + vector.z) * (second.y – vector.y)
normal.y += (second.x + vector.x) * (second.z – vector.z)

说明

在三维空间中,3 个点确定一个平面(3 个点不能共线)。但是有时,我们会得到多个点,进而反推出平面位置,比如知道了多边形的顶点,但是位置精确度不够高,需要根据所有点集找到最接近的平面时。

几何

最简单的算法就是,我们把这些点每三个当成一个三角形,逐个计算法线,最后把得到的法线加起来,平均一下,就得到了“最佳”法线。当然,这个计算还可以化简,化简过程我们不再推算,根据书本,化简后的公式如下:
十五、多于三个点的最佳平面

代码

“`swift
static func estimatePlane(from points:[simd_float3]) -> Plane? {
if points.count < 3 {
return nil
}
var normal = simd_float3.zero
var position = simd_float3.zero
// 从最后一个顶点开始,避免在循环中做 if 判断
var second = points.last!
for vector in points {
// 边向量乘积相加
normal.x += (second.z + vector.z) * (second.y – vector.y)
normal.y += (second.x + vector.x) * (second.z – vector.z)

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

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

评论 抢沙发

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

b2b链

联系我们联系我们