2016-09-30 13 views
0

Coremotion을 사용하면 get the change in position of device using attitude, rotation using gyro을 사용할 수 있습니다. 그러나 3D 공간에서 장치의 실제 위치를 알기 위해서는 장치의 초기 위치가 필요합니다. userAcceleration에 따라 자이로 데이터를 적용하면 변경 후 실제 위치를 새로 지정할 수 있습니다. 장치의 초기 실제 위치를 얻는 방법. 나는 "45도 각도로 왼쪽으로 기울어 져있다."또는 "y 축에서 30도 회전하여 오른쪽으로 기울어 진 45도"와 같은 위치를 감지하고 싶습니다.3D 공간에서 iOS 장치의 초기 위치 감지 - 코어 동작

답변

0

CoreMotion 가속도계를 사용하여 일부 방정식을 사용하여 장치의 초기 위치를 추정 할 수 있습니다.

let x = data.acceleration.x 
let y = data.acceleration.y 
let z = data.acceleration.z 

let roll = atan (y/sqrt(pow(x,2.0) + pow(z, 2.0))); 
let pitch = atan (x/sqrt(pow(y, 2.0) + pow(z, 2.0))); 
let yaw = atan (sqrt(pow(x, 2.0) + pow(z, 2.0))/z); 

어쨌든, 요는 여전히 기기의 시작 위치를 기준으로합니다. 이 문제를 해결하려면 Compass를 사용해야합니다.