تتحلل تحويل مصفوفة المعقدة إلى سلسلة من التحولات البسيطة؟
-
19-09-2019 - |
سؤال
وأتساءل عما إذا كان من الممكن (وإذا كان الأمر كذلك، فهذا، لإعادة تقديم تحويل مصفوفة 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 في أي مكان آخر) أنت جيد. إذا لم يكن الأمر كذلك، فابدأ، ولكن اختر مصفوفات مختلفة ؛-)
في الواقع، باستخدام الطريقة أعلاه رمزيا، يمكنك إنشاء مجموعة من المعادلات التي ستؤدي إلى صيغ مخضرية لجميع هذه المصفات.
ما مدى فائدة هذه التحلل من أجلك، حسنا - هذه قصة أخرى.
إذا قمت بكتابة هذا في الرياضيات أو ماكسيما سوف يحسبون هذا لك في أي وقت من الأوقات.