DDA এবং Bresenham এর অ্যালগরিদম মধ্যে পার্থক্য
ডিজিটাল ডিফারেন্সিয়াল আলগোরিদিম (ডিডিএ) এবং Bresenhams এর অ্যালগরিদম ডিজিটাল লাইন অঙ্কন আলগোরিদিম হয় এবং ছবি গ্রাফিক্স কম্পিউটার গ্রাফিক্স ব্যবহার করা হয়। পূর্বে, আমরা পিক্সেল গণনা করতে বিশ্লেষণাত্মক বিশ্লেষক ব্যবহার করেছিলাম এবং সেইভাবে লাইন আঁকা সম্ভব হয়। কিন্তু এই বিশ্লেষণাত্মক পদ্ধতিগুলি ডিজিটাল পদ্ধতির মতো নির্ভুল নয় যেমন এই ডিজিটাল অ্যালগরিদমগুলি এবং প্রতিটি ক্ষেত্রের সাথে আমরা কম্পিউটার গ্রাফিক্সের উচ্চ মানের পদ্ধতিগুলিও আবিষ্কার করেছি। এই অ্যালগরিদম আবিষ্কার একটি নিখুঁত উদাহরণ। আমরা এগিয়ে যাওয়ার আগে, এই অ্যালগরিদমের পিছনে ধারণাটি দেখি। যদিও এটি আমাদের আলোচনার সুযোগের বাইরে রয়েছে, তবে এটির দুটি মৌলিক পার্থক্য নির্দেশ করা অপরিহার্য। যদি আপনি অ্যালগরিদমগুলির সাথে সত্যিই পরিচিত হন, তবে আপনি এই পৃষ্ঠার শেষে অবস্থিত প্রকৃত পার্থক্যগুলির কাছে যেতে পারেন।
ডিজিটাল ডিফারেনাল অ্যালগোরিদম (ডিডিএ) কি?
একটি ডিডিএ বেশিরভাগ কম্পিউটার গ্রাফিক্সে লাইন আঁকতে ব্যবহৃত হয় এবং পরবর্তী পিক্সেল মানগুলির পূর্বাভাসের সময় বাস্তব মান ব্যবহার করে। আসুন আমরা প্রাথমিক পিক্সেল মান (X0, Y0) (X0, Y0) এবং গন্তব্য পিক্সেল (X1, Y1) (X1, Y1) হিসাবে অনুমান করি। আমরা নীচের হিসাবে পরিচিত পিক্সেল মান (X0, Y0) (X0, Y0) থেকে গন্তব্য পিক্সেল মান গণনা করা শিখবো
- DDA ব্যবহার করে গন্তব্য পয়েন্ট মান গণনা করা কীভাবে?
ধাপ -1: এখানে আমাদের ইনপুট রয়েছে (X0, Y0) (X0, Y0) এবং আমরা লাইনটি এক্স-অক্ষ বা y- অক্ষের সমান্তরাল কিনা তা চিহ্নিত করা উচিত । এটি খুঁজতে, এখন আমরা প্রাথমিক এবং গন্তব্য পিক্সেল মানগুলির মধ্যে পার্থক্যটি গণনা করি।
dx = X1 - X0
dy = Y1 - Y0
ধাপ -২: এখন, আমরা পার্থক্যটি চিহ্নিত করেছি এবং x- অক্ষ বরাবর আমরা রেখাটি আঁকতে পারি যদি 'dx' শূন্য হয় অন্যথায়, আমরা y- অক্ষ লাইন সমান্তরাল আঁকা উচিত। এখানে কম্পিউটার ভাষা শর্তাবলী প্রকৃত গণনা করা হয়।
যদি (পরম (dx)> পরম (ডি))
ধাপ = পরম (dx);
অন্য
ধাপ = নিখুঁত (ডি);
ধাপ -3: এখন, লাইনটি আঁকতে প্রকৃত 'x' কো-অর্ডিন বা 'y' স্থিতিঙ্কিত পিক্সেলের মানগুলি চিহ্নিত করার সময়।
এক্স বৃদ্ধি = dx / (ভাসা) পদক্ষেপ;
Y বৃদ্ধি = ডিই / (ভাসা) পদক্ষেপ;
ধাপ -4: আমরা গন্তব্য পিক্সেল পৌঁছানোর পর্যন্ত এটি গণনা করা হয়েছে। ডিডিএ অ্যালগরিদম রাউন্ড-অফ পিক্সেল ভ্যালুটি নিখুঁত পূর্ণসংখ্যা মান যখন গণনা করা হয়। এখানে আমরা এখন আলোচনা করেছেন কি কোড নমুনা।
জন্য (int v = 0; v { x = x + X বৃদ্ধি; y = y + Y বৃদ্ধি; পকেটিক্সেল (গোল (এক্স), গোল (y)); } আমরা DDA ব্যবহার করে লাইন অঙ্কন করা হয় এবং এখন আমরা ব্রেসেনহ্যামের দিকে এগিয়ে যাই! 99%> ব্রেসেনহ্যামের এলগরিদম কি? ধাপ -1: ব্রেসেনহামের অ্যালগরিদম প্রাথমিক পিক্সেল সমন্বয়কে (x a + 1 , y a ) হিসাবে ধরে নেয়। ধাপ ২: এটি স্বয়ংক্রিয়ভাবে পরবর্তী পিক্সেল মানকে (x a + 1 , y a + 1 ) হিসাবে গণনা করে, এখানে 'a' হল ক্রমবর্ধমান মান এবং অ্যালগরিদম এটি গঠিত হয়েছিল যে সমীকরণ যোগ বা বিয়োগ করে এটি computes। এই অ্যালগরিদম কোন বৃত্তাকার বন্ধ সঙ্গে সঠিক মান গণনা এবং পাশাপাশি সহজ দেখায়! ব্রেসেনহামের অ্যালগরিদমের সংখ্যাসূচক উদাহরণ: প্রদত্ত তথ্য, (x1, y1) = (0, 0) এবং (x2, y2) = (-8, -4)। এখন নীচের মানের মানগুলি গণনা করা যাক। Δx = x2-x1 = -8-0 = 8 অতএব, x = Δx / x2 = 8 / -8 = -1 এর ক্রমবর্ধমান মান। Δy = y2-y1 = -4-0 = 4 অতএব, y = Δy / y2 = 4 / -4 = -1 এর ক্রমবর্ধমান মান সিদ্ধান্ত পরিবর্তন = ই = 2 * (Δy) - (Δx) অতএব, ই = 2 * (4) - (8) = 8-8 = 0 উপরে গণনা দিয়ে, আসুন আমাদের ফলশ্রুতিগুলির মূল্যবোধগুলি তফাত করুন Y- সমন্বয় মান একটি সিদ্ধান্ত পরিবর্তনশীল উপর ভিত্তি করে সমন্বয় করা হয় এবং আমরা এখানে এখানে তার কম্পানির উপেক্ষা করা হয়। পিক্সেল এখানে কোনও নির্দিষ্ট স্থির ব্যবহার করা হয় না তবে ব্রেসেনহ্যাম এর আলগোরিদিম নির্দিষ্ট পয়েন্ট গাণিতিক কম্পিউটেশন ব্যবহার করা হয়। ডিএসএর বিপরীতে ব্রেশেনহ্যামের অ্যালগরিদম পূর্ণসংখ্যা গণিত ব্যবহার করে। ব্যবহৃত অপারেশন প্রকার: ডিডিএ ডিগ্রী সমীকরণগুলি গুণন এবং বিভাজন অপারেশনগুলির সাথে সমাধান করে। আপনি এখানে একই বিজ্ঞপ্তি করতে পারেন, এক্স বৃদ্ধি = dx / (float) ধাপ। Bresenham এর অ্যালগরিদম অতিরিক্ত এবং বিয়োগ অপারেশন ব্যবহার করে এবং আপনি তার পরবর্তী পিক্সেল মান গণনা সমীকরণ (এক্স একটি + 1 একটি + 1 ) এ একই বিজ্ঞপ্তি করতে পারেন। ডিডিএর সাথে তুলনা করলে বেতেনহ্যামের মধ্যে গাণিতিক সহজ হয়। দক্ষতা: আমরা আগেই আলোচনা করেছি, ডিএসএর তুলনায় ব্রেসেনহ্যামের অ্যালগরিদম সহজতর গাণিতিক ব্যবহার করে এবং এর ফলে ফলপ্রদ ফলাফল পাওয়া যায়। গতি: যথার্থতা: ডিডিএ অঙ্কন লাইন ব্যতীত বৃত্ত এবং কার্ভ অঙ্কন করতে সক্ষম। Bresenham এর অ্যালগরিদম এছাড়াও উপরে উল্লিখিত সমস্ত অঙ্কন করতে সক্ষম এবং তার সঠিকতা DDA এর চেয়ে সত্যিই উচ্চতর। একইভাবে, বিএসএসএনহ্যামের অ্যালগরিদমটি ডিডিএ-এর উত্পাদিত পণ্যের তুলনায় দক্ষ কার্ভারের সাথে উঠতে পারে। উভয় অ্যালগরিদম ত্রিভুজ এবং বহুভুজ হিসাবে ভাল অঙ্কন করতে পারেন। যা ব্যয়বহুল? কোনটি অপ্টিমাইজড আলগোরিদিম? আমরা একটি ট্যাবুলার ফর্ম মধ্যে পার্থক্য তাকান। মধ্যে পার্থক্য ডিজিটাল ডিফারেনাল অ্যালগোরিদমএটি একটি ডিজিটাল লাইন অঙ্কন আলগোরিদিম এবং 193২ সালে ব্রেসেনহাম দ্বারা উদ্ভাবিত হয় এবং একই কারণে এটি একই নামে পেয়েছে। এই অ্যালগরিদম আরো সঠিক এবং লাইন অঙ্কন করার সময় এটি পিক্সেল মান কম্পিউটিং এবং বিয়োগ এবং ছাড়াও ব্যবহৃত। বক্রেনহ্যামের অ্যালগরিদমের সঠিকতা নির্ভর করে কার্ভ এবং বৃত্তগুলিও আঁকড়ে ধরে। এই অ্যালগরিদম কিভাবে কাজ করে দেখা যাক।
এক্স
y
ডিসিশন ভেরিয়েবল
(0, 0)
0
0
0
(- 1, 0)
- 1
0
একটি মান
(- 2, -1)
-2
-1
0
(- 3, -1)
-3 < -1
একটি মান
(- 4, -2)
-4
-2
0
(- 5, -2)
-5 > ২
একটি মান
(- 6, -3)
-6
-3
0
(- 7, -3)
-7
-3
একটি মান
(- 8, -4)
-8
-4
0
ডিডিএ এবং ব্রেসেনহাম এর অ্যালগরিদম মধ্যে পার্থক্য
:
গণিত হিসাব:
ফ্লোটিং পয়েন্ট ব্যবহার করে ডিডিএ তার গণনার মধ্যে বাস্তব মান ব্যবহার করে। পরবর্তী পিক্সেল বা বিন্দু মানের ডিফারাল সমীকরণ এক্স বৃদ্ধি = dx / (float) ধাপগুলি