কম্পিউটার গ্রাফিকগুলিতে কেন সমজাতীয় স্থানাঙ্ক ব্যবহার করা হয়?


14

কম্পিউটার গ্রাফিকগুলিতে কেন সমজাতীয় স্থানাঙ্ক ব্যবহার করা হয়?

যদি সমজাতীয় স্থানাঙ্কগুলি ম্যাট্রিক্স রূপান্তরে ব্যবহার না করা হত তবে কী সমস্যা হবে?


উত্তর:


12

তারা গ্রাফিক্সে ব্যবহৃত গণিতকে সরল ও একীকরণ করে:

  • তারা আপনাকে ম্যাট্রিকের সাহায্যে অনুবাদগুলি উপস্থাপন করতে দেয়।

  • তারা আপনাকে দৃষ্টিভঙ্গি অনুমানের গভীরতার দ্বারা বিভাগকে প্রতিনিধিত্ব করতে অনুমতি দেয়।

প্রথমটি অ্যাফাইন জ্যামিতির সাথে সম্পর্কিত। দ্বিতীয়টি প্রজেক্টিভ জ্যামিতির সাথে সম্পর্কিত।


আপনি কোন ধরণের উদাহরণ সন্ধান করছেন? অনুবাদ ম্যাট্রিক্স এবং দৃষ্টিকোণ অনুমানের সাথে সম্পর্কিত কিছু সন্ধান করা যথেষ্ট সহজ হওয়া উচিত?
বার্ট

@ বার্ট, সাদৃশ্য প্রয়োজন।

2
আমি @ বেনামে দু: খিত, তবে এটি সত্যিই আমাকে কিছু বলেন না। আপনি ঠিক কী সন্ধান করছেন তা বোঝাতে আপনাকে আরও শব্দ ব্যবহার করতে হবে।
বার্ট

আমি মনে করি এই উত্তরটি উচ্চ হিসাবে উত্সাহিত করা হয়নি কারণ এটি আমাদের নবজাতকদের জন্য খুব প্রযুক্তিগত। সম্ভবত সরল কথার সাথে একটি সাধারণ উদাহরণ নীতির আরও ভাল চিত্রিত করবে
নাথান

5

এটি নামে: সমজাতীয় স্থানাঙ্কগুলি ভাল ... একজাতীয়। সমজাতীয় হওয়ার অর্থ ঘূর্ণন, অনুবাদ, স্কেলিং এবং অন্যান্য রূপান্তরগুলির অভিন্ন উপস্থাপনা।

অভিন্ন প্রতিনিধিত্ব অপ্টিমাইজেশন জন্য অনুমতি দেয়। 3 ডি গ্রাফিক্স হার্ডওয়্যার 4x4 ম্যাট্রিক্সে ম্যাট্রিক্স গুণ করা যায় specialized এমনকি এটি 0 বা 1 দ্বারা গুণিতগুলি সনাক্ত করতে এবং সংরক্ষণের জন্যও বিশেষীকরণ করা যেতে পারে, কারণ এগুলি প্রায়শই ব্যবহৃত হয়।

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

যেমন উদাহরণগুলির জন্য কলগুলি ছিল: সোনির PS4 বিশাল ম্যাট্রিক্সের গুণগুলি সম্পাদন করতে পারে। এটি এত ভাল যে এটি কিছু সময়ের জন্য বিক্রি হয়ে গেছে, কারণ তাদের ক্লাস্টারগুলি আরও ব্যয়বহুল সুপার কম্পিউটারগুলির পরিবর্তে ব্যবহৃত হত। পরবর্তীকালে সনি দাবি করেছিলেন যে তাদের হার্ডওয়্যার সামরিক উদ্দেশ্যে ব্যবহার নাও করা যেতে পারে। হ্যাঁ, সুপার কম্পিউটারগুলি সামরিক সরঞ্জাম military

কোনও গ্রাফিক জড়িত না থাকলেও গবেষকদের ম্যাট্রিক্সের গুণগুলি গণনা করতে গ্রাফিক কার্ড ব্যবহার করা একেবারে স্বাভাবিক হয়ে গেছে। কেবলমাত্র তারা সাধারণ উদ্দেশ্য সিপিইউগুলির চেয়ে এতে আরও বেশি মাত্রায় রয়েছে। তুলনা করার জন্য আধুনিক মাল্টি-কোর সিপিইউগুলির 16 টি পাইপলাইনের ক্রম রয়েছে (x0.5 বা x2 তেমন কিছু আসে যায় না) এবং জিপিইউগুলি 1024 পাইপলাইনের অর্ডারে থাকে।

এটি পাইপলাইনগুলির তুলনায় এত বেশি কোর নয় যা প্রকৃত সমান্তরাল প্রক্রিয়াকরণের অনুমতি দেয়। কোর থ্রেডে কাজ করে। থ্রেডগুলি স্পষ্টভাবে প্রোগ্রাম করা উচিত। পাইপলাইনগুলি নির্দেশ স্তরের কাজ করে। চিপ নির্দেশাবলী কম-বেশি নিজেই সমান্তরাল করতে পারে।


"সোনির PS4 বিশাল ম্যাট্রিক্সের গুণগুলি সম্পাদন করতে পারে।" আপনি PS3 এর সেল প্রসেসর বলতে চাচ্ছেন, তাই না? PS4 এর পরিবর্তে একটি সাধারণ x86 প্রসেসর রয়েছে।
উম্প্ফ

যদিও এটি একটি উত্তরের উত্তর আমি মনে করি না যে এটি ওপিএস প্রশ্নের উত্তর দেয় এবং একধরণের পরামর্শ দেয় যে সমজাতীয় কর্ডগুলি ব্যবহার করা হয় কারণ এটির জন্য হার্ডওয়্যারটি অপ্টিমাইজড হয়, বরং সমজাতীয় কর্ডগুলি আরও কার্যকর হয় এবং এর আশেপাশে হার্ডওয়্যারটি বিকাশ লাভ করে। ভেক 4 এর আরেকটি যুক্তি হ'ল এগুলি 128 বিট প্রান্তিক করা হয়েছে যা প্রশস্ত মেমরি বাসে (জিপিইউ) পড়তে আরও দক্ষ করে তোলে
PaulHK

4

পরিপূর্ণ:

(x,y,z,0)=x,y,z0x,y,z

দৃষ্টিভঙ্গি রূপান্তর সম্পর্কে, এমনকি এটি কোনও দৃষ্টিকোণ বিকৃতি (পিসিতে প্রারম্ভিক গ্রাফিক্স হার্ডওয়্যার বিপরীতে) সঠিকভাবে বিভক্ত করতে দেয়।


2

ব্যক্তিগত স্বাদ হিসাবে আমি সর্বদা সমজাতীয় স্থানাঙ্ক ব্যবহার করা থেকে বিরত হয়েছি (প্লেইন কার্টেসিয়ান গঠন) পছন্দ করেছি preferred

মূল কারণটি হ'ল সমজাতীয় স্থানাঙ্কগুলি ট্রান্সফর্মেশন ম্যাট্রিক্সে (0, 0, 0, 1) 4 টি তুচ্ছ এন্ট্রি ব্যবহার করে, এতে অকেজো স্টোরেজ এবং গণনা জড়িত (সাধারণ-উদ্দেশ্যে ম্যাট্রিক্স গণনার রুটিনের ওভারহেড যা "ডিফল্টরূপে" ব্যবহৃত হয়) এই ক্ষেত্রে).

ক্ষতিটি হ'ল সমীকরণগুলি লেখার সময় আপনার আরও যত্নের প্রয়োজন এবং ম্যাট্রিক্স তত্ত্বের সমর্থন হারাতে পারেন তবে এখন পর্যন্ত আমি বেঁচে আছি।


1
নীতিগতভাবে, ডেটা প্রকারগুলি প্রয়োগ করা যেতে পারে যা প্রকৃতপক্ষে এন্ট্রিগুলি তাদের মতো কাজ করার পরেও সংরক্ষণ করে না।

1
@ হার্কাইল স্পষ্টতই। এটি খুব কমই করা হয়, কারণ সাধারণ উদ্দেশ্যে ম্যাট্রিক্স টুলবক্সগুলি হাতের মুঠোয়।
ইয়ভেস দাউস্ট

@ ইয়ভডাউস্ট আপনি কি এমন কোনও উদাহরণ সরবরাহ plain Cartesian formulationকরতে পারেন বা এমন কোনও সংস্থার সাথে লিঙ্ক করতে পারেন যা 3D গ্রাফিক্সে এর ব্যবহারের বর্ণনা দেয়?
ড্যান

@ ড্যান: y = অ্যাক্স + বি ব্যবহার করুন যেখানে A একটি 3x3 ম্যাট্রিক্স এবং বা 3x1 ভেক্টর, y '= এক্স' এর পরিবর্তে যেখানে y ', x' হ'ল সংযোজিত ভেক্টর এবং এ 4x4 ম্যাট্রিক্স।
ইয়ভেস দাউস্ট

টুইট আপনি কোথায় গণনা এবং সঞ্চয় করবেন w?
ড্যান

2

[xy]
[uv]=[cos(θ)sin(θ)sin(θ)cos(θ)][xy]
[uv]=[k100k2][xy]
[uv]=[xy]+[st]

আর ও এসকে ঘোরানো এবং স্কেলিং ম্যাট্রিকগুলি এবং টি অনুবাদ ভেক্টর হতে দিন। কম্পিউটার গ্রাফিক্সে আপনাকে একটি বিন্দুতে কয়েকটি অনুবাদ অনুবাদ করতে হতে পারে। আপনি কল্পনা করতে পারেন যে এটি কতটা কঠিন হতে পারে।

p=SR(Sp+T)+T

M=TSRTS
p=Mp

p=[xy1]
R=[cos(θ)sin(θ)0sin(θ)cos(θ)0001]
S=[k1000k20001]
T=[10t101t2001]

p=[xyw]
Q=[1000010000100010]

1

অ্যাফাইন স্থানাঙ্কের গণনাগুলিতে প্রায়শই বিভাগগুলির প্রয়োজন হয় যা সংযোজন বা গুণকের তুলনায় ব্যয়বহুল। প্রজেক্টিভ স্থানাঙ্কগুলি ব্যবহার করার সময় একজনকে সাধারণত ভাগ করার প্রয়োজন হয় না।

প্রজেক্টিভ কোঅর্ডিনেটগুলি ব্যবহার করা (এবং আরও সাধারণভাবে, প্রজেক্টিভ জ্যামিতি) বিশেষ কেসগুলিকেও সরানোর প্রবণতা রাখে, সবকিছুকে আরও সহজ এবং আরও অভিন্ন করে তোলে।


"অ্যাফাইন স্থানাঙ্কে গণনাগুলি প্রায়শই বিভাগগুলির প্রয়োজন হয়": কেন তা আমি দেখছি না। আসলে আপনি ঠিক একই অভিব্যক্তি গণনা।
ইয়ভেস দাউস্ট

@ ইয়ভেস: আমি আরও বেশি "কম্পিউটার গ্রাফিক্সের ব্যবহার" বিষয়টির বিষয়ে সাড়া দিচ্ছি, নির্দিষ্ট "কম্পিউটিং ম্যাট্রিক্স ট্রান্সফর্মেশন" প্রশ্ন নয়।

@ হার্কাইল: আমিও করি a কোন দৃশ্য উপস্থাপন করার সময়, আপনি একই পরিমাণে বিভাজনগুলি (পার্থক্যটি 0 ফ্যাক্টরের সাথে ডামি পদগুলিতে থাকে) গণনা করেন।
ইয়ভেস দাউস্ট

@ ইয়ভস: এইচআরএম আমি গণনা করতে অভ্যস্ত যেখানে ফিরিয়ে ফেরত রূপান্তর কিছুটা পিছিয়ে দেওয়া যেতে পারে; আপনি যদি বলেন যে এটি প্রায়শই আসে না তবে আমি আপনার দক্ষতার দিকে নজর দেব।

-1
  • সহজ সূত্র
  • কম বিশেষ ক্ষেত্রে
  • একীকরণ এবং
  • দ্বৈত

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