سؤال

وأنا جعل مشهد 3D بسيط جدا، وبعد 5 نقاط في ينسق العالم. أود أن التنقل عبر المشهد لذلك أنا تعريف الكاميرا مع كل من UP وناقلات OUT. مع هذه المعلومات I توليد مصفوفة التناوب في كل إطار، التي سوف تنطبق على ناقلات من أجل الحصول على إحداثيات الكاميرا.

والسؤال هو: لقد قرأت عن قفل انحراف كما مشكلة في استخدام هذه الطريقة، ولكن ذلك يحدث في هذه الحالة

ملاحظة أنني توليد مصفوفة التناوب في كل إطار، وأنا لا الدورية تراكمي. لذلك يمكن أن يحدث قفل في هذه الحالة؟ إذا كان هذا هو الحال، ماذا تقترح لتطبيق بأمان دوران (من ناقلات UP وOUT)؟

وشكرا

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

المحلول

وإذا كان عن طريق OUT تقصد "إلى الأمام"، وهذا هو دائما عموديا على متجه UP، ثم NO، سوف لا تواجه قفل انحراف.

ما تقومون به هو تهيئة مصفوفة التوجه من ناقلات UP وFORWARD، وتطبيق أن كل إطار، والتي هي وسيلة شائعة لتحريك الكاميرا في الفضاء. لا تطبق تناوب متعددة باستخدام زوايا أويلر، التي يمكن أن تكون سببا للقفل انحراف.

ملاحظة لإنشاء المصفوفة سوف تحتاج أيضا إلى إنشاء "اليسار" (أو اليمين) متجه من ناقلات UP وFORWARD. مقدمة جيدة لهذا هو هنا - علما بأن هذا المثال لا ينطبق ثم تناوب إلى مصفوفة الكاميرا، وهي خطوة اختيارية تماما.

ويكيبيديا لديه تفسير جيد من انحراف قفل .

نصائح أخرى

وأنت سوف تواجه مشكلة انحراف للانغلاق عند استخدام النهج القائم على مصفوفة لتوليد مصفوفات دوران (لX، Y، Z) وثم ضرب لهم للحصول على مصفوفة التناوب النهائية. إذا كنت قد فهمت سوف، يمكنك استخدام OUT ناقلات للحصول على زوايا (ألفا وبيتا وجاما)، ثم كنت حساب المصفوفات، وأخيرا - أنت ضرب لهم للحصول على مصفوفة roation النهائية - ثم نعم، سوف تواجه قفل انحراف.

واحد طريقة للتخلص من هذه المشكلة هو استخدام كواتيرنيون للحصول على الحسابات.

وأيضا، هنا لقد وجدت بعض بينغل البرنامج التعليمي حول كيفية تنفيذ تلك.

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