سؤال

أنا أتطلع إلى إنشاء عجلة الركض في تطبيق iPhone / iPad. أعلم أنه يمكنك الفئة الفرعية UigesturereCognizer لكتابة معرفاتك الخاصة. هل يعرف أي شخص كيف (بشكل رئيسي الرياضيات وراءها) لإنشاء واحدة من شأنها اكتشاف حركة دائرية ، ربما بالاشتراك مع لفتة عموم؟

شكرًا

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

المحلول

هذا السؤال ليس بالأمر السهل. أقضي بعض الوقت في التفكير في حل ممكن:
أعتقد أن ما تحتاجه هو بعض الخصائص الرئيسية التي عليك تعيينها:

  • مركز الحركة الدائرية (في هذه الحالة لا توجد مشكلة ، لأنك تعرف مركز عجلة الركض)
  • ممر يجب أن تحدث فيه الحركة.
    • لذلك تحتاج إلى نصف القطر الداخلي والنصف القطر الخارجي.

الآن لديك شيء من هذا القبيل (للأسف ليس لدي سمعة كافية لذلك الرابط فقط: http://img17.imageshack.us/img17/4416/bildschirmfoto20100721u.png

الآن تبدأ الرياضيات وراء هذا:
بادئ ذي بدء ، تقوم بترتيب الممر في أربعة أرباع:

  • من 0 درجة إلى 90 درجة
  • من 90 درجة إلى 180 درجة
  • من 180 درجة إلى 270 درجة
  • من 270 درجة إلى 360 درجة

لكل ربع ، عليك معرفة متى يتحرك الإصبع (دعنا نقول أن السطر 0 ° هو من نقطة الوسط مباشرة إلى الأعلى):

  • إذا كان الإصبع في الربع الأول ، فأنت تعرف ما إذا كان X يتغير إلى اليسار بأن الدوران يجب أن يكون عكس اتجاه عقارب الساعة. إذا تغير X إلى اليمين ، فيجب أن يكون الدوران في اتجاه عقارب الساعة.

تطبيق هذا المنطق لجميع الأوساط. أنت تعرف الآن ما إذا كانت عجلة الركض قد تم نقلها في اتجاه عقارب الساعة أو عكس اتجاه عقارب الساعة. عليك أن تتأكد من أن الإصبع لا يترك الممر أبدًا (إذا قمت باختبار هذا المنطق وتتوقف الحركة بسبب ترك الممر ، وجعل الممر أكبر - بفضل Crystalskull لتعليقه: استخدم 44 بكسل كحد أدنى لعرض ممر لتطبيقه على إرشادات الواجهة البشرية).

سوماري
لذا يمكنك الآن أن تستنتج أنك تحتاج إلى نقطة مركزية وممر يمكن أن يتحرك فيه الإصبع. عليك أن تعرف في الربع الذي يكون فيه الإصبع ومعرفة (باستخدام القيمة x) إذا كان الدوران في اتجاه عقارب الساعة أو مضادًا- في اتجاه عقارب الساعة.

آمل أن يساعدك هذا قليلاً.

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