عند استخدام cmdevicemotion، إذا كان الجهاز مستقيما (الملعب= 90)، فمن غير المستقر حقا.بأي حال من الأحوال أن يحل هذا؟

StackOverflow https://stackoverflow.com//questions/10665306

  •  11-12-2019
  •  | 
  •  

سؤال

أعرف نظام التنسيق (الملعب، ياو، لفة) له إحداثي عيب خاص به. ومع ذلك، آمل حقا أن يكون هناك شيء بدلا من ذلك أو مشتق من هذه الإحداثيات بديلا.

ما أحاول القيام به هو تحريك الجهاز (دعنا نقول أنه iPhone) في العالم الحقيقي ومحاولة معرفة اليوك والملعب فيما يتعلق بعين المستخدم. وبالتالي، يجب أن تكون مجموعة ياو (-180، 180) ومجموعة من الملعب (-90، 90). أثناء نقل iPhone (يواجهني دائما) من الأسفل إلى الأمام، يعطيني CMDEVICEMION تغييرا في تغييرات الملعب من 0 إلى 90 وأثناء نقل iPhone (لا يزال يواجهني) من الجبهة إلى الأعلى، يعطيني CMDEVICEMION تغييرات في تغييرات الملعب من 90 مرة أخرى إلى 0. هذه جيدة وأنا سعيد تماما حول بيانات الملعب.

ومع ذلك، عندما يكون الملعب قريبا من 90، فإن YAW هو Shaky للغاية وغير مستقر. الإرادة، هذه ليست هي المشكلة لأنني أستطيع تجاهل التغيير على ياو عندما يكون الملعب حوالي 90. ومع ذلك، فإن المشكلة الحقيقية هي أن قيمة ياو تتغير بشكل كبير قبل زيادة الملعب وبعد تناقص الملعب. أعني أنه ليس فقط هش ولكن التغييرات يعني! يغير شيء مثل 180 (بي). أعتقد أن هذا هو أن تنسيق يتغير تماما. لكنني فقدت على الإحداثيات التحويل الآن.

هل كانت مفيدة؟

المحلول

هذا الحل البديل الفوضوي الذي وصفته للتو هو بالضبط السبب وراء عدم استخدام لفة والملعب ويوواج.

أنت إما أن تذهب في هذا الطريق إلى أبعد من ذلك وتجعل الفوضى أكبر أو استخدام مصفوفات التناوب أو الأوامر .

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top