কেন 4×4 ম্যাট্রিক্স জিনিসগুলিকে 3D তে রূপান্তর করতে ব্যবহৃত হয়?

প্রশ্ন
প্রকৃতপক্ষে 4×4 ম্যাট্রিক্স জিনিসগুলিকে 3D তে রূপান্তর করতে খুব দরকারী! অনুবাদের ক্ষেত্রে আপনি একটি ভেক্টর যোগ করতে পারেন.

4 এর ব্যবহারের পেছনের কারণ×4 3D তে জিনিসগুলিকে রূপান্তরিত করার জন্য ম্যাট্রিক্স

একটি ম্যাট্রিক্স ব্যবহার করার কারণ বিভিন্ন সম্মিলিত রূপান্তরগুলি পরিচালনা করার জন্য একটি অভিন্ন উপায়ে ফুটে ওঠে.

উদাহরণ স্বরূপ, ঘূর্ণন সাধারণত একটি ম্যাট্রিক্স ব্যবহার করে করা হয়, তাই একাধিক রূপান্তর মোকাবেলা করার জন্য (ঘূর্ণন/অনুবাদ/স্কেলিং/প্রজেকশন…ইত্যাদি) অভিন্ন উপায়ে, আপনাকে তাদের একটি ম্যাট্রিক্সে এনকোড করতে হবে.

আমরা হব, আরো প্রযুক্তিগতভাবে বলতে; একটি রূপান্তর একটি বিন্দু/ভেক্টরকে অন্য বিন্দু/ভেক্টরে ম্যাপ করছে.

p` = T(p); 

যেখানে p` রূপান্তরিত বিন্দু এবং T(পি) রূপান্তর ফাংশন.

প্রদত্ত যে আমরা একটি ম্যাট্রিক্স ব্যবহার করি না আমাদের একাধিক রূপান্তর একত্রিত করতে এটি করতে হবে:

p1 = টি(পি);

পিচূড়ান্ত = এম(p1);

একটি ম্যাট্রিক্স শুধুমাত্র একটি একক ম্যাট্রিক্সে একাধিক ধরণের রূপান্তরকে একত্রিত করতে পারে না (যেমন. affine, রৈখিক, প্রজেক্টিভ).

একটি ম্যাট্রিক্স ব্যবহার করা আমাদেরকে রূপান্তরের চেইনগুলিকে একত্রিত করার সুযোগ দেয় এবং তারপর ব্যাচ তাদের গুণ করে. এটি সাধারণত GPU দ্বারা আমাদের এক টন চক্র সংরক্ষণ করে (এটি নির্দেশ করার জন্য @ChristianRau কে ধন্যবাদ).

টিচূড়ান্ত = টি * জিপিও * পৃ; // অনুবাদ করাঘুরানপ্রকল্প

পিচূড়ান্ত = টিচূড়ান্ত*পি;

এটি উল্লেখ করাও ভাল যে GPU এবং এমনকি কিছু CPU গুলি ভেক্টর অপারেশনের জন্য অপ্টিমাইজ করা হয়েছে; সিপিইউ ব্যবহার করে সিএমডি এবং জিপিইউগুলি ডিজাইন দ্বারা ডেটা চালিত সমান্তরাল প্রসেসর, তাই ম্যাট্রিক্স ব্যবহার করা হার্ডওয়্যার ত্বরণের সাথে পুরোপুরি ফিট করে (আসলে, GPU গুলি ম্যাট্রিক্স/ভেক্টর ক্রিয়াকলাপগুলিকে ফিট করার জন্য ডিজাইন করা হয়েছিল৷).


ক্রেডিট:

https://gamedev.stackexchange.com/questions/72044/why-do-we-use-4×4-ম্যাট্রিস-টু-ট্রান্সফর্ম-থিংস-ইন-3d?answertab=active#tab-top

একটি উত্তর ছেড়ে দিন