পেইন্টারের অ্যালগরিদম দিয়ে সঠিক ফলাফল কীভাবে পাবেন?


14

কিছুক্ষণ আগে আমি জিজ্ঞাসা করেছি কীভাবে যখন কোনও মুখের মুখটি অন্যের উপর দিয়ে যায় la পরামর্শ ছিল জেড-বাফার ব্যবহার করা।

তবে আমি আমার বর্তমান প্রকল্পে জেড-বাফার ব্যবহার করতে পারি না এবং তাই আমি চিত্রকের অ্যালগরিদমটি ব্যবহার করতে চাই। যদিও কোনও পৃষ্ঠের পিছনে বা অন্যটির সামনের দিকে থাকা সম্পর্কে আমার কোনও ভাল ধারণা নেই। আমি অনেকগুলি পদ্ধতি চেষ্টা করেছি তবে এগুলি সব ধরণের ক্ষেত্রে ব্যর্থ হয়, বা সাধারণ ক্ষেত্রেও তারা ব্যর্থ হয়।

এটি এখন পর্যন্ত চেষ্টা করেছি বাছাই করার পদ্ধতিগুলির একটি তালিকা:

  • প্রতিটি মুখের মধ্যবিন্দু থেকে দূরত্ব
  • প্রতিটি মুখের প্রতিটি শীর্ষবিন্দুর গড় দূরত্ব
  • প্রতিটি শীর্ষবিন্দুর গড় z মান
  • প্রতিটি মুখের উল্লম্বের হাইজেষ্ট জেড মান এবং সেগুলি প্রথমে আঁকুন
  • প্রতিটি মুখের শীর্ষে অবস্থিত সর্বনিম্ন z মান এবং শেষটি আঁকুন

সমস্যাটি হ'ল কোনও মুখের আরও কাছাকাছি দূরত্ব থাকতে পারে তবে এটি আরও দূরে। এই সমস্ত পদ্ধতি অবিশ্বাস্য বলে মনে হচ্ছে।

সম্পাদনা করুন: উদাহরণস্বরূপ, নীচের চিত্রটিতে নীল পয়েন্টের সাথে মিডপয়েন্ট হিসাবে পৃষ্ঠটি রেফ পয়েন্টের সাথে মিডপয়েন্ট হিসাবে পৃষ্ঠের উপরে আঁকা হয়েছে, কারণ নীল পয়েন্টটি আরও কাছাকাছি রয়েছে। যাইহোক, এটি কারণ কারণ লাল পয়েন্টের পৃষ্ঠটি আরও বড় এবং মিডপয়েন্টটি আরও দূরে। লাল পয়েন্টের সাথে পৃষ্ঠটি নীল রঙের উপরে আঁকা উচিত, কারণ এটি কাছাকাছি , যখন মধ্যবিন্দু দূরত্ব বিপরীতে বলে says

এখানে চিত্র বর্ণনা লিখুন

পেইন্টারের অ্যালগরিদমে ঠিক কোনটি ব্যবহৃত হয় যাতে কোন বস্তু আঁকতে হবে তা নির্ধারণ করতে?


1
চিত্রশিল্পী অ্যালগরিদম শুধু সামনে পিছন থেকে অঙ্কন করা হয়।
জোনাথন কনেল

1
@ 3nixio: হ্যাঁ, স্পষ্টতই, তবে কীভাবে আমি 'পিছনে সামনের দিকে' ক্রমটি নির্ধারণ করতে পারি?
pimvdb

1
আপনার অঙ্কন শুরু করার সাথে সাথে আপনার সমস্ত অবজেক্টস, ত্রিভুজ বা প্রান্তগুলি ক্যামেরা থেকে একটি নির্দিষ্ট দূরত্বের হবে। বেসিক অ্যালগরিদম বাস্তবায়ন (আপনি সাফল্য পেয়েছেন?) প্রতিটি ত্রিভুজটির জন্য ক্যামেরা থেকে এই দূরত্বটি নির্ধারণ করা এবং এটিকে সর্বাধিক নিকটবর্তী স্থানে আঁকতে হবে। এটি হয়ে গেলে, আপনাকে ছেদ করার জন্য এবং আপনার ত্রিভুজগুলি কাটা শুরু করতে হবে, এটি সম্পূর্ণ ভিন্ন বলের খেলা । আপনি ইতিমধ্যে জেড-বাফার ব্যবহার করতে পারবেন না কেন? : পি
জনাথন কনেল

@ 3nixios: আপনি সম্পূর্ণরূপে সঠিক, তবে আমি যে সমস্যার মুখোমুখি হচ্ছি তা দূরত্ব গণনা করে। আমি যেমন বলেছি, আমি বেশ কয়েকটি দূরত্বের পদ্ধতি চেষ্টা করেছি তবে সেগুলি নিখুঁত নয়। এই অর্ডার মিডপয়েন্ট দূরত্ব বাছাই থেকে ফলাফল: i.imgur.com/AcfCm.png
pimvdb

1
আপনার সমস্ত বহুভুজ কি নিয়মিত গ্রিডে রয়েছে? যদি তাই হয় তবে গ্রিড নির্দিষ্ট জিনিস থাকতে পারে আপনি এটি উন্নতি করতে পারেন।
সিসকোআইফোন

উত্তর:


14

সাধারণত একটি বহুভুজের মধ্যপয়েন্টের দূরত্ব ক্যামেরায় জেড-বাছাইয়ের জন্য ব্যবহৃত হচ্ছে। চিত্রকের অ্যালগরিদম প্রকৃতির দ্বারা 100% নির্ভুল হতে পারে না। এমন ক্ষেত্রে সবসময় থাকবে যেখানে বাছাই করা ব্যর্থ হবে, আপনি কোন রেফারেন্স পয়েন্টই ব্যবহার করবেন না।

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

এই পাওয়ারপয়েন্ট ফাইলটি খুঁজে পেয়েছে যা সমস্যাটি সুন্দরভাবে ফুটিয়ে তুলেছে ( পিডিএফ ভার্সন )।


এই পাওয়ারপয়েন্টের জন্য ধন্যবাদ, এটি আমাকে সমস্যার সমাধান করতে সহায়তা করেছে।
পিএমভিডিবি

লিঙ্কটি নষ্ট হয়ে গেছে। কেউ কি একটি অনুলিপি পেতে পারেন?
কেভন

1
@ কেভন সম্পাদিত। আমি ফাইলটির জন্য একটি কাজের লিঙ্ক পেয়েছি।
বাম্মজ্যাক

1

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

আরও মনে রাখবেন যে বহুগাচ্ছের বিরুদ্ধে ক্যামেরা স্থাপনের পার্শ্ব নির্ধারণ এবং বিএসপি-গাছের ট্র্যাভারসিংয়ের পরীক্ষাগুলি অরোগ্রাফিক এবং দৃষ্টিকোণ অভ্যাসের সাথে আচরণ করার সময় কিছুটা আলাদা।

যদি আপনি ইনপুট বহুভুজগুলির বিভাজন বহন করতে না পারেন তবে আমি মনে করি আপনার ভাগ্য আউট।

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