تصفية UIAcceleration
-
06-07-2019 - |
سؤال
ولقد وجدت قطعة التالية من التعليمات البرمجية في المبادئ التوجيهية التفاح:
- (void)accelerometer:(UIAccelerometer*)accelerometer didAccelerate:(UIAcceleration*)acceleration
{
//Use a basic low-pass filter to only keep the gravity in the accelerometer values
accel[0] = acceleration.x * kFilteringFactor + accel[0] * (1.0 - kFilteringFactor);
accel[1] = acceleration.y * kFilteringFactor + accel[1] * (1.0 - kFilteringFactor);
accel[2] = acceleration.z * kFilteringFactor + accel[2] * (1.0 - kFilteringFactor);
}
وماذا يفعل بالضبط؟ ما هو هذا مرشح تمرير منخفض؟ لماذا يجب أن يطبق ذلك؟
وشكرا لكم مقدما.
المحلول
ما عليك القيام به يعتمد على ما كنت في حاجة إلى قيمة، ولكن الفكرة الأساسية هو الحد من تأثير الاهتزازات من حركات اليد ومثل هذا. إذا كنت تأخذ من قيم التسارع الخام ويعاملهم متجه الجاذبية، وسوف تحصل على الكثير من غضب.
لا تنتمي إلى StackOverflow