3 ডি রোটেশন ম্যাট্রিক্স (4x4) এর উপাদান অংশে (ঘূর্ণন, স্কেল ইত্যাদি) পরিণত করা কি সম্ভব?


11

আরও কংক্রিট হওয়ার জন্য, আমি একটি আইওএস অ্যাপে কাজ করছি এবং আমার CATransform3Dস্ট্রাক্ট রয়েছে (মূলত একটি 4x4 রূপান্তর অ্যারে)।

এই ম্যাট্রিক্সের দ্বারা বোঝানো সমস্ত পৃথক "ক্রিয়াকলাপ" কে কি কমিয়ে আনা সম্ভব? এটি কতটা ঘূর্ণন, স্কেল ইত্যাদি বোঝায়?

উত্তর:


10

আপনি ম্যাট্রিক্স M=TRS বেসিক ট্রান্সফর্মেশনগুলিতে পচন করতে পারেন : অনুবাদ, স্কেলিং এবং আবর্তন। এই ম্যাট্রিক্স দেওয়া:

M=[a00a01a02a03a10a11a12a13a20a21a22a230001]

t=(a03,a13,a23)

s=(s0,s1,s2)

s0=(a00,a10,a20)s1=(a01,a11,a21)s2=(a02,a12,a22)

এখন আপনি স্কেল, আপনি এটি ব্যবহার পরিত্রাণ পেতে পারেন উপ-ম্যাট্রিক্স যে অনুরূপ স্কেল বিপরীত সঙ্গে ম্যাট্রিক্স গুন দ্বারা থেকে get পান3×3RSS1R

(RS)S1=[a00a01a02a10a11a12a20a21a22][s0000s1000s2]1=[a00a01a02a10a11a12a20a21a22][1/s00001/s10001/s2]

সুতরাং ( ):(RS)S1=RI=R

R=[a00/s0a01/s1a02/s2a10/s0a11/s1a12/s2a20/s0a21/s1a22/s2]

এটি চূড়ান্ত রোটেশন ম্যাট্রিক্স। আপনি আরও বিভিন্ন উপায়ে ব্যবহার করে এটি আরও পচন করতে পারেন। এটি দীর্ঘ ছেড়ে চলেছে তবে আপনি একটি ঘূর্ণন ম্যাট্রিক্সের পচানোর জন্য অনুসন্ধান করতে পারেন ।


এই পদ্ধতিটি কেবল অনুবাদ, স্কেলিং এবং রোটেশন আকারে একটি সমতুল্য মান দেয় (মূল ম্যাট্রিক্স সম্ভবত অন্যান্য ধরণের রূপান্তরের ফলাফল)। ঘূর্ণন কোণগুলির সাথে ভাসমান বিন্দুর যথাযথতার সাথে সমস্যা হতে পারে যদি আপনি আরও পচে যাওয়া কোণ ব্যবহার করেন তবে গোলগুলি ত্রুটিগুলি গণনাগুলিতে জমা হতে পারে। আপনি নিজেই ম্যাট্রিক্সটি নির্মাণ না করে আপনার এটি ব্যবহার করা উচিত নয়।

আপনি যদি ম্যাট্রিক্সটি নির্মাণ করেন এবং অনুবাদ, স্কেল এবং রোটেশনটি স্বতন্ত্রভাবে এবং স্বতন্ত্রভাবে সম্পাদনা করতে এবং প্রদর্শন করতে সক্ষম হতে পারাটি চান তবে সম্ভবত , উপাদানগুলি কেন সংরক্ষণ করতে হবে তা সবচেয়ে পরিষ্কার এবং পৃথকভাবে ভেক্টর হিসাবে রূপান্তর শ্রেণিতে (সম্ভবত ঘূর্ণনের জন্য চৌম্বক)। যখন আপনার ট্রান্সফর্ম ম্যাট্রিক্সের প্রয়োজন হবে তখনই এই উপাদানগুলি থেকে একটি ম্যাট্রিক্স তৈরি করুন (কোনও উপাদান পরিবর্তন না হওয়া পর্যন্ত আপনি ম্যাট্রিক্সকে ক্যাশে করতে পারেন)।s r T R StsrTRS


2
ভাসমান-পয়েন্ট যথার্থতার সাথে সমস্যাগুলি কী তা আপনি পরিষ্কার করতে পারেন? স্কেলটি সত্যই চরম না হলে আমি এই পদ্ধতিতে এমন কিছু দেখতে পাচ্ছি না যা নির্ভুলতার সমস্যার কারণ হতে পারে। এছাড়াও, লক্ষণীয় যে এই পদ্ধতিটি ব্যর্থ হতে পারে যদি ম্যাট্রিক্স ম্যাট্রিক্সের ক্রম থেকে তৈরি করা হত যা অ-ইউনিফর্ম স্কেল এবং ঘূর্ণন উভয়ই অন্তর্ভুক্ত করে। ম্যাট্রিক্স অপরাজিত চালু যে ক্ষেত্রে একটি ঘূর্ণন হতে হবে, কিন্তু কিছু শিয়ার অন্তর্ভুক্ত করা হবে। R
নাথান রেড

2
সমস্ত ভাসমান পয়েন্ট সংখ্যার অভ্যন্তরীণ (সীমাবদ্ধ) ত্রুটি রয়েছে। যে কোনও সময় আপনি অপারেশন করেন এবং বিশেষত সংযোজন বা বিয়োগফলের সময় আপনি ত্রুটির মিশ্রণ করেন, সীমার প্রস্থকে বাড়িয়ে তোলেন। পচন অ্যালগরিদমের মধ্যে লুকানো রয়েছে অনেকগুলি অতিরিক্ত ক্রিয়াকলাপ (উভয়ই ম্যাট্রিক্সের গুণ এবং স্কেল প্রস্থের গণনায়) এবং একটি বর্গমূল (স্কেলে)। আরও ক্ষয় আরও ত্রুটি পরিচয় করিয়ে দেবে।
টিম্বো

1
@ টিম্বো এখানে কোনও সম্পূর্ণ ম্যাট্রিক্সের গুণ নেই তবে কেবল বিপরীত স্কেলগুলি দিয়ে ম্যাট্রিক্সের কলামগুলি গুণ করে। এবং একটি ভেক্টরের বিশালতায় সমস্ত ধনাত্মক পরিমাণ যুক্ত করা জড়িত, সুতরাং সেখানে কোনও বিপর্যয়কর বাতিল নেই; এটি খুব বেশি আপেক্ষিক ত্রুটি তৈরি করে না, এএএএফসিটি। যাইহোক, লেখক স্পষ্ট করে দিয়েছিলেন যে তারা আবর্তক ম্যাট্রিক্সকে আরও পচানোর বিষয়ে ইউলারের কোণে বা এ জাতীয় ধরণের বিষয়ে কথা বলছে, যা আরও অর্থবোধ করে।
নাথান রেড

ধন্যবাদ - দুর্দান্ত উত্তর ফলোআপ: আসল ম্যাট্রিক্সটি ফিরে পেতে, আমি ধরে নিচ্ছি যে সনাক্তকরণের ম্যাট্রিক্স থেকে শুরু করে আমাদের নির্দিষ্ট ক্রিয়াকলাপ অনুসরণ করতে হবে। এই আদেশ টিআরএস হবে?
elsurudo
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.