تھری ڈی ماڈلز کی کوآرڈینیٹ تبدیلی کے بارے میں

جب صفحے کی تازہ کاری :
صفحہ تخلیق تاریخ :

مادہ

سب سے پہلے

آپ اکثر ٹی وی اسکرینوں پر 3 ڈی تصاویر اور گیمز میں ڈسپلے دیکھ سکتے ہیں ، لیکن آپ 3 ڈی جگہ میں موجود اشیاء کو کس طرح ظاہر کرتے ہیں ، جیسے کردار اور عمارتیں جو اسکرین پر گھومتی ہیں ، 2 ڈی اسکرین پر؟

2 ڈی گیمز میں ، کوآرڈینیٹ اقدار کے طور پر "ایکس اور وائی" کے صرف دو جہتی عناصر موجود ہیں ، اور ڈسپلے بھی 2 ڈی ہے ، لہذا اگر آپ ایکس اور وائی کی کوآرڈینیٹ پوزیشن کی وضاحت کرکے کسی شے کو کھینچتے ہیں تو ، آپ آسانی سے سمجھ جائیں گے کہ اسے کس پوزیشن پر کھینچا جائے گا۔

تاہم ، 3 ڈی میں ، یہ اتنا آسان نہیں ہے۔ جیسا کہ نام سے پتہ چلتا ہے ، 3 ڈی "3 طول و عرض" ہے اور اس میں تین کوآرڈینیٹ معلومات ہیں: "ایکس ، وائی ، اور زیڈ"۔ چونکہ کوآرڈینیٹس ڈسپلے سے مختلف ہیں جو 2 ڈی ہے ، لہذا آبجیکٹ کو اس طرح کھینچنا ممکن نہیں ہے جیسا کہ وہ ہے۔

پھر، کیا کرنا ہے "تین جہتی معلومات کو دو جہتی معلومات میں تبدیل کرنا". یہ عام طور پر "کوآرڈینیٹ ٹرانسفارمیشن" کے طور پر جانا جاتا ہے. ذہن میں رکھیں کہ یہ کوآرڈینیٹ تبدیلی تھری ڈی پروگرامنگ کے لئے ضروری ہے۔

3 ڈی کو 2 ڈی میں تبدیل کرنے کے لئے متعدد قسم کی کوآرڈینیٹ تبدیلیاں ہیں ، لیکن تین اہم قسم کی کوآرڈینیٹ تبدیلیاں ہیں جو پروگرامرز سنبھالتے ہیں: "عالمی تبدیلی"، "ویو ٹرانسفارمیشن"، اور "پروجیکشن ٹرانسفارمیشن"۔ یہاں ، ہم کوآرڈینیٹ ٹرانسفارمیشن سے متعلق ہر چیز کی وضاحت کریں گے۔

بائیں ہاتھ اور دائیں ہاتھ کے کوآرڈینیٹ سسٹم

3 ڈی میں ، دو کوآرڈینیٹ سسٹم ہیں ، "بائیں ہاتھ کا کوآرڈینیٹ سسٹم" اور "دائیں ہاتھ کا کوآرڈینیٹ سسٹم" ، جس میں ہر کوآرڈینیٹ کے لئے مختلف رخ ہیں جیسا کہ نیچے دیئے گئے اعداد و شمار میں دکھایا گیا ہے۔

ڈائریکٹ 3 ڈی بنیادی طور پر بائیں ہاتھ کے کوآرڈینیٹ سسٹم کا استعمال کرتا ہے ، لیکن دائیں ہاتھ کے کوآرڈینیٹ سسٹم کے لئے حساب لگانے کے لئے بھی افعال موجود ہیں۔ تاہم ، ایکس این اے صرف دائیں ہاتھ کے کوآرڈینیٹ سسٹم کے لئے حساب کے طریقے فراہم کرتا ہے۔ یہ اس حقیقت کے مطابق لگتا ہے کہ دیگر ایپلی کیشنز اکثر دائیں ہاتھ کے کوآرڈینیٹ سسٹم کا استعمال کرتی ہیں۔

اس سائٹ پر موجود تمام ایکس این اے تجاویز دائیں ہاتھ کے کوآرڈینیٹ سسٹم کا استعمال کرتی ہیں۔

لوکل کوآرڈینیٹ سسٹم (ماڈل کوآرڈینیٹ سسٹم)

ہر ماڈل میں اصل پر مرکوز ایک کوآرڈینیٹ سسٹم ہوتا ہے۔ ماڈلنگ سافٹ ویئر کے ساتھ ایک ماڈل بناتے وقت ، مجھے لگتا ہے کہ اگر آپ اسے مرکز کے طور پر اصل کے ساتھ بنانے کا تصور کرتے ہیں تو یہ سمجھنا آسان ہے۔

عالمی رابطہ کاری کا نظام

ورلڈ کوآرڈینیٹ سسٹم آپ کو ماڈل کو کہیں بھی رکھنے کی اجازت دیتا ہے۔ اگر آپ اس دنیا کی تبدیلی میں کچھ نہیں کرتے ہیں تو ، ماڈل کو اسی طرح اصل میں رکھا جائے گا جس طرح مقامی کوآرڈینیٹس کو رکھا جاتا ہے۔ جگہ نہ صرف اصل سے منتقل ہونے کے لئے ہے، بلکہ گھومنے اور پیمائش کرنے کے لئے بھی ہے.

کوآرڈینیٹ سسٹم دیکھیں

ایک بار جب آپ ماڈل کو عالمی کوآرڈینیٹس میں رکھ دیتے ہیں تو ، آپ کو اس بارے میں معلومات کی ضرورت ہوتی ہے کہ آپ کہاں دیکھ رہے ہیں اور آپ 3 ڈی جگہ کو کہاں دیکھ رہے ہیں۔ اسے ہم "ویو ٹرانسفارمیشن" کہتے ہیں۔ ویو ٹرانسفارمز کو عام طور پر اکثر کیمروں کے طور پر پیش کیا جاتا ہے۔

اس تبدیلی کے لئے درکار پیرامیٹرز "کیمرے کی پوزیشن"، "دلچسپی کا کیمرا پوائنٹ"، اور "کیمرے کی اوپر کی سمت" ہیں۔ کیمرے کی سمت کا تعین ان تین پیرامیٹرز کے ذریعہ کیا جاتا ہے۔ نیچے دیئے گئے اعداد و شمار کیمرے کو تیسرے فریق کے نقطہ نظر سے دکھاتے ہیں۔

نیچے دی گئی تصویر دراصل کیمرے کے نقطہ نظر سے اوپر دی گئی تصویر میں دکھائے گئے انتظام کے ساتھ دیکھی جاتی ہے (اس وقت ، ہم نے ابھی تک کوآرڈینیٹس کو اسکرین میں تبدیل نہیں کیا ہے ، لہذا یہ صرف ایک تصویر ہے)۔

پچھلی وضاحت میں ، ایسا لگتا ہے کہ کیمرہ پوزیشن میں ہے اور کوآرڈینیٹس تبدیل ہوجاتے ہیں ، لیکن اصل حساب میں ، دنیا کے کوآرڈینیٹس کو کیمرے کی پوزیشن اور سمت کے مطابق تبدیل کیا جاتا ہے۔ لہذا ، اصل کیمرے کی پوزیشن ہے جیسا کہ نیچے دی گئی تصویر میں دکھایا گیا ہے۔

پروجیکٹیو کوآرڈینیٹ سسٹم

ایک بار جب آپ یہ فیصلہ کر لیتے ہیں کہ تھری ڈی جگہ کو کس پوزیشن سے دیکھنا ہے تو ، اگلا مرحلہ "چھوٹی اشیاء جو بہت دور ہیں" اور "بڑی چیزیں جو قریب ہیں" کے ڈسپلے پر عمل کرنا ہے۔ اسے پروجیکٹیو ٹرانسفارمیشن کہا جاتا ہے۔ پروجیکشن تبدیلی کے دو طریقے ہیں، "نقطہ نظر پروجیکشن" اور "آرتھوگرافک پروجیکشن"، لیکن عام طور پر استعمال ہونے والی "نقطہ نظر پروجیکشن" تصویر مندرجہ ذیل ہے۔

نقطہ نظر پروجیکشن مندرجہ ذیل پیرامیٹرز کا استعمال کرتا ہے: دیکھنے کا زاویہ، پہلو تناسب، فارورڈ کلپ پوزیشن، اور ریئر کلپ پوزیشن۔ مندرجہ بالا تصویر میں "فرسٹم" کا لیبل والا علاقہ آخر کار اسکرین پر ظاہر ہوگا۔

"ویونگ اینگل" کیمرے سے نظر آنے والی دیکھنے کی حد کی وضاحت کرتا ہے۔ زاویہ زوم کو کم کرنے سے زوم میں اضافہ ہوتا ہے۔ دیکھنے کا زاویہ فرسٹم کی عمودی قیمت ہوگی۔

پہلو تناسب دیکھنے کے افقی زاویہ کا تعین کرنے کے لئے استعمال کیا جاتا ہے ، جبکہ دیکھنے کا زاویہ عمودی زاویہ ہے۔ افقی زاویہ کا تعین عام طور پر "دیکھنے کے زاویہ × پہلو تناسب" سے ہوتا ہے ، اور پہلو تناسب بنیادی طور پر اسکرین کی "چوڑائی ÷ اونچائی" کی قیمت ہے جسے آپ ظاہر کرنے کی کوشش کر رہے ہیں۔ اگر آپ اس قدر کو تبدیل کرتے ہیں تو ، ظاہر کردہ 3 ڈی آبجیکٹ افقی یا عمودی طور پر پھیلتا ہوا نظر آئے گا۔

فارورڈ کلپ پوزیشن اور رئیر کلپ پوزیشن کو اس بات کا تعین کرنے کے لئے مخصوص کیا گیا ہے کہ آیا آبجیکٹ فرنٹ یا بیک رینج میں دکھایا گیا ہے یا نہیں۔ کمپیوٹر کی فطرت کی وجہ سے ، لامحدود تک ڈسپلے کرنا ممکن نہیں ہے ، لہذا ہم ایک حد مقرر کریں گے۔ یہ قدر زیڈ بفر کی درستگی کو بھی متاثر کرتی ہے ، لہذا اسے حد سے آگے ڈرائنگ ایریا میں شامل کرنے کی سفارش نہیں کی جاتی ہے جسے ظاہر کرنے کی ضرورت نہیں ہے۔

نقطہ نظر تبدیل شدہ شے کو نیچے دی گئی جگہ کی طرح ایک جگہ میں تبدیل کردیا جاتا ہے۔ کیمرے کے قریب موجود اشیاء کو زوم کیا جاتا ہے ، اور جو چیزیں بہت دور تھیں ان کو نیچے کیا جاتا ہے۔

یہ ذیل میں سمجھنے میں آسان ڈایاگرام میں دکھایا گیا ہے.

اگر آپ واقعی اسے کیمرے کے نقطہ نظر سے دیکھتے ہیں تو ، یہ نیچے کی طرح نظر آتا ہے۔

پروجیکٹو تبدیلی کا ایک اور طریقہ آرتھوگرافک پروجیکشن ہے ، جو نیچے دیئے گئے جیسے نظر آنے والے علاقے کو پیش کرتا ہے۔ چونکہ چوڑائی اور اونچائی گہرائی سے قطع نظر مستقل ہیں ، لہذا آبجیکٹ کا سائز گہرائی کے ساتھ تبدیل نہیں ہوتا ہے۔

سکرین کوآرڈینیٹ سسٹم

پروجیکشن کی تبدیلی کے بعد ، اسے اصل اسکرین کے کوآرڈینیٹس میں تبدیل کردیا جاتا ہے۔ اگرچہ یہ اسکرین ہے ، لیکن ڈسپلے کی پوزیشن اور رینج ڈیوائس پر سیٹ کردہ ویو پورٹ کی ترتیبات پر منحصر ہے۔ تاہم ، کھیلوں کے معاملے میں ، ونڈو کے کلائنٹ کوآرڈینیٹس اکثر ویو پورٹ ہوتے ہیں ، لہذا مجھے نہیں لگتا کہ آپ کو بہت زیادہ فکر کرنے کی ضرورت ہے۔

اسکرین کے کوآرڈینیٹس (0، 0) کو پروجیکشن کوآرڈینیٹس (-1، 1، زیڈ) سے تبدیل کیا جاتا ہے۔ اسی طرح ، اسکرین کوآرڈینیٹس (چوڑائی ، اونچائی) کو پروجیکشن کوآرڈینیٹس (1، -1 ، زیڈ) سے تبدیل کیا جاتا ہے۔