// transforms a point from one space to another protected override Vector3 TransformPoint(KinectInterop.CameraExtrinsics extr, Vector3 point) { float toPointX = extr.rotation[0] * point.x + extr.rotation[1] * point.y + extr.rotation[2] * point.z + extr.translation[0]; float toPointY = extr.rotation[3] * point.x + extr.rotation[4] * point.y + extr.rotation[5] * point.z + extr.translation[1]; float toPointZ = extr.rotation[6] * point.x + extr.rotation[7] * point.y + extr.rotation[8] * point.z + extr.translation[2]; return(new Vector3(toPointX, toPointY, toPointZ)); }
// gets the given camera extrinsics private void GetCameraExtrinsics(Extrinsics camExtr, ref KinectInterop.CameraExtrinsics extr) { extr = new KinectInterop.CameraExtrinsics(); extr.rotation = new float[camExtr.Rotation.Length]; camExtr.Rotation.CopyTo(extr.rotation, 0); extr.translation = new float[camExtr.Translation.Length]; camExtr.Translation.CopyTo(extr.translation, 0); }
// transforms a point from one space to another protected virtual Vector3 TransformPoint(KinectInterop.CameraExtrinsics extr, Vector3 point) { return(Vector3.zero); }