1. 程式人生 > >unity(Vuforia)座標系問題

unity(Vuforia)座標系問題

1,在場景中的左手座標系,xyz 對應RGB紅綠藍的顏色。

2,用兩個碼A,B時,如果需要把A的座標轉化到B下,則應

  把Vuforia的世界座標選在相機時

Matrix4x4 extinsic_A = A.transform.localToWorldMatrix;
Matrix4x4 extinsic_B = B.transform.localToWorldMatrix;

Matrix4x4 relat = extinsic_A.inverse * extinsic_B;

Vector4 controlPoint = new Vector4(A.transform.position.x,A.transform.position.y, A.transform.position.z, 1.0f);
Vector4 new_controlPoint = relat * controlPoint;

Ax0 = new_controlPoint.x;
Ay0 = new_controlPoint.y;
Az0 = new_controlPoint.z;

B上關聯的座標點是 ***.transform.position.x/y/z.

// Cpa = Ma*Pa
   Cpb = Mb*Pb
 Cpa = Cpb
Ma*Pa = Mb*Pb
把a上的座標變換到b上的變換是
Pa = Ma.inverse*Mb*Pb

如果 a是座標原點則
Ma.inverse*Mb的第四列的x,y,z即只要平穩座標值 

如果把Vuforia世界座標選中某一張圖片,就不需要轉化了,直接能獲取,但在使用 *****.transform.localPosition或position時要主意。