iPhone'un yönünü 45 derecelik artışlarla tespit etmek istiyorum. İdeal olarak, herhangi bir eksen boyunca yönelim açısı elde etmek istiyorum.iPhone ekran yönünü tespit edin
Yapmam gereken algılama, yönlendirme değiştiğinde iPhone için Trism'in, ekranın geçerli alt konumuna doğru bir ok işareti nasıl yanıp söndüğüne benziyor.
Kodlanmış bir şey var ama gerçekten ivmeölçer okumalarının nasıl çalıştığını anlamıyor ve doğru yönde bir dürtüyü kullanabiliyor. Geçerli kod şu andaki açıyı kaydeder, ancak telefon düz olduğunda bile, birkaç kez birkaç kez değişen okumalar elde ederim. günlüğünden
- (void) checkOrientation:(UIAccelerometer*)accelerometer didAccelerate:(UIAcceleration*)acceleration
{
int accelerationX = acceleration.x * kfilteringFactor + accelerationX * (1.0 - kfilteringFactor);
int accelerationY = acceleration.y * kfilteringFactor + accelerationY * (1.0 - kfilteringFactor);
float currentRawReading = (atan2(accelerationY, accelerationX)) * 180/M_PI;
NSLog(@"Angle: %f",currentRawReading);
}
Numune telefon düz iken:
2009-06-16 17:29:07.987 [373:207] Angle: 0.162292
2009-06-16 17:29:07.994 [373:207] Angle: 179.838547
2009-06-16 17:29:08.014 [373:207] Angle: 179.836182
2009-06-16 17:29:08.032 [373:207] Angle: -90.000000
2009-06-16 17:29:08.046 [373:207] Angle: 179.890900
2009-06-16 17:29:08.059 [373:207] Angle: -90.000000
2009-06-16 17:29:08.074 [373:207] Angle: 179.917908
2009-06-16 17:29:08.088 [373:207] Angle: -179.950424
2009-06-16 17:29:08.106 [373:207] Angle: 90.000000
2009-06-16 17:29:08.119 [373:207] Angle: 90.000000
2009-06-16 17:29:08.134 [373:207] Angle: -179.720245
Cevabınız için teşekkür ederim, kodları şamandıralar arasında kullanmak için değiştirdim, ancak aygıt düz uzanırken hesaplanan çılgınca dalgalanan değerlerin sonucunu almaya devam ediyorum. – Simon
Günlüğe sorgudan bazı satırlar eklendi. – Simon
Ah, örnek değişkenlerle ilgili ilk kez yorumunuzu kaçırdı, çözüm gibi görünüyor, size geri dönecek. – Simon