番外篇 - 座標系統

要玩AR,一定躲不了對虛擬世界的座標系統的處理,清楚了解座標系統,才有辦法繼續更深入AR。

原點

座標系統核心中心就是原點,如何定義原點,圓點的定義是手機在實體世界起動AR Session時的位置。可以透過ARSCNDebugOptions.showWorldOrigin來觀察虛擬世界的座標中心。

階層式座標

Root node定義出最底層的座標系統,添加到root node中每個子節點都會建立自己的座標系統,所以是一層一層的對應下去。

位置

Position: 這比較好理解,就是由SCNVector3定義的3維向量(x, y, z)

角度

EulerAngles: 這部分應該是比較困難的部分,角度也是由SCNVector3定義的3維向量(pitch, yaw, roll)。

每個維度是由弧度arrow-up-right定義,因為日常用的單位的是degree(角度),所以需要轉換成轉成程式用的單位arc(弧度)。

正負是根據旋轉方向而定,順時針(負),逆時針(正)。

例子

自己寫例子來測試自己是否夠瞭解。例子如下

向量運算

在AR裡面,尤其在物體移動或變形,需要進行大量的運算,我們會透過simd(Single Instruction Multiple Data.)arrow-up-right執行向量運算,讓運算速度大幅提升。`

舉個例子

Last updated