微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 ARKit Swift (AR Graph) 绘制具有 3 维点/轴的形状

如何解决使用 ARKit Swift (AR Graph) 绘制具有 3 维点/轴的形状

我正在尝试使用 ARKit 和 Swift 创建图形。我有 3 个轴(X、Y 和 Z)作为输入。尝试了几种方法来满足要求。

最初,尝试使用具有静态高度和宽度的彩色 SCNNode,尝试旋转/倾斜/倾斜但无法同时达到 3 点。一次只能匹配 2 个轴。这是我尝试过的代码部分。

let planeNode = SCNNode()
planeNode.geometry = SCNPlane(width: 30,height: 30) // Static height and width need to get dynamci value based on points
planeNode.geometry?.firstMaterial?.diffuse.contents = UIColor.purple
planeNode.opacity = 0.75
let xValue = 0.25
let yValue = 0.25
let zValue = 0.25
let maxXAxis = 0.5
let maxYAxis = 0.5
let maxZAxis = 0.5
planeNode.position = SCNVector3(xValue.halfValue(),yValue.halfValue(),zValue.halfValue())
// Rotate with only one angle
planeNode.eulerAngles = SCNVector3(0,Double(yValue).degreeForAxis(maxAxis: maxYAxis).degreesToradians,0)
extension Double {
    var degreesToradians: Double { return Double(self) * .pi/180}
    var radiansToDegress: Double { return self * 180 / .pi}
    
    func degreeForAxis(maxAxis: Double) -> Double {
        let totalValue = 90/maxAxis
        let halfPi = 1.5709 //Double.pi/2
        return totalValue*(self*halfPi)
    }
}

后来尝试使用 UIBezierPath 但这是二维的。无法制作自定义 Z 轴点,DataFrame.iloc

现在,使用 from this stackoverflow post 在点之间画线。在这里,我无法像在 UIBezierPath认形状中那样填充。

this GitHub repo

这是需求示例图片。使用 ARKit 可以绘制 3 维形状吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。