gpt4 book ai didi

ios - 如何提高 ARKit 测量两个 SCNNode 之间距离的准确性?

转载 作者:行者123 更新时间:2023-11-30 10:51:27 26 4
gpt4 key购买 nike

有人知道如何改进 ARKit 中的测量吗?

我当前的 AR 配置是:

    let configuration = ARWorldTrackingConfiguration()
configuration.maximumNumberOfTrackedImages = 10
configuration.environmentTexturing = .automatic

configuration.planeDetection = [.horizontal , .vertical]
configuration.isLightEstimationEnabled = true
configuration.worldAlignment = .gravity

我尝试计算两个 SCNNode 之间的距离。有什么方法可以改善这一点吗?我尝试计算 2m - 10m 之间的距离。有时偏差对我来说太高了(30厘米+)。

是否可以使用飞机来提高准确性?或者还有其他想法吗?

感谢您的帮助。

最佳答案

SCNNode 在向量中具有位置,请参阅 documentation

根据两个场景节点的这两个属性,您可以使用简单的物理原理计算它们之间的距离。例如,您可以计算 2D 世界中的距离和 3D 世界中的距离。可以使用这两个扩展来完成一个示例。

extension SCNVector3 {
static func distanceFrom(vector vector1: SCNVector3, toVector vector2: SCNVector3) -> Float {
let x0 = vector1.x
let x1 = vector2.x
let y0 = vector1.y
let y1 = vector2.y
let z0 = vector1.z
let z1 = vector2.z

return sqrtf(powf(x1-x0, 2) + powf(y1-y0, 2) + powf(z1-z0, 2))
}
}

然后在你的主类中你可以像这样调用静态函数

let scnNode1 = SCNNode() //Your test node
let scnNode2 = SCNNode() //Your test node
let distance = SCNVector3.distanceFrom(vector: scnNode1.position, toVector: scnNode2.position)

关于ios - 如何提高 ARKit 测量两个 SCNNode 之间距离的准确性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54435654/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com