تتحلل تحويل مصفوفة المعقدة إلى سلسلة من التحولات البسيطة؟

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

سؤال

وأتساءل عما إذا كان من الممكن (وإذا كان الأمر كذلك، فهذا، لإعادة تقديم تحويل مصفوفة M3 التعسفي بمثابة سلسلة من التحولات أبسط (مثل الترجمة، Scale، Skew، تدوير)

بمعنى آخر: كيفية حساب مصفوفات MTRANSLate، MSCale، MROTATE، MSKEW من Mcomplex بحيث تكون المعادلة التالية صحيحا:

Mcomplex = mtranslate * mscale * mrotate * merkew (أو في ترتيب آخر)

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

المحلول

تحلل القيمة المفرد (أنظر أيضا هذه بلوق وهذه بي دي إف). يتحول مصفوفة تعسفية إلى تكوين 3 مصفوفة: متعامد + قطري + متعامد. المصفوفات المتعامدة هي مصفوفة الدوران؛ يمثل مصفوفة قطري Skewing على طول المحاور الأساسية = التحجيم.

ترمي الترجمة وجع قرد في اللعبة، ولكن ما يجب عليك فعله هو إخراج جزء الترجمة من المصفوفة حتى يكون لديك مصفوفة 3x3، وتشغيل SVD على ذلك لإعطائك التناوب + Skewing، ثم أضف جزء الترجمة مرة أخرى . بهذه الطريقة سيكون لديك دوران + مقياس + دوران + ترجمة تكوين 4 مصفوفات. من الممكن القيام بذلك في 3 مصفوفات (دوران + تحجيم على طول مجموعة من المحاور + الترجمة) ولكنني لست متأكدا من كيفية ... ربما تحلل QR (Q = متعامدة = دوران، لكنني لست متأكدا إذا The R skew فقط أو لديه جزء تناوبية.)

نصائح أخرى

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

لأي مصفوفة مربعة معينة A هناك العديد من المصفوفات B و C لهذا السبب A = B*C. وبعد اختر أي مصفوفة مقلوبة B (مما يعني أن B ^ -1 موجود أو إيضا (ب)! = 0) والآن C = B^-1*A.

لذلك للحل الخاص بك يتحلل أولا MC إلى MT و MS*MR*MSk*I, ، اختيار MT ليكون بعض مصفوفة التحويلية المقلوبة. ثم تحلل الباقي في MS و MR*MSk*I بحيث تكون MS هي مصفوفة تحجيم تعسفية. وما إلى ذلك وهلم جرا...

الآن إذا في نهاية المرح I هي مصفوفة هوية (مع 1 على قطري، 0 في أي مكان آخر) أنت جيد. إذا لم يكن الأمر كذلك، فابدأ، ولكن اختر مصفوفات مختلفة ؛-)

في الواقع، باستخدام الطريقة أعلاه رمزيا، يمكنك إنشاء مجموعة من المعادلات التي ستؤدي إلى صيغ مخضرية لجميع هذه المصفات.

ما مدى فائدة هذه التحلل من أجلك، حسنا - هذه قصة أخرى.

إذا قمت بكتابة هذا في الرياضيات أو ماكسيما سوف يحسبون هذا لك في أي وقت من الأوقات.

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