الفرق بين دا وخوارزمية بريسنهام الفرق بين
الخوارزمية التفاضلية الرقمية (دا) و وخوارزمية بريسنهامز هي خوارزميات رسم خطوط رقمية وتستخدم في رسومات الكمبيوتر لرسم الصور. سابقا، كنا نستخدم التحليل التحليلي لحساب بكسل، وبالتالي خط رسومات جعلت ممكنة. ولكن هذه الأساليب التحليلية ليست دقيقة مثل الأساليب الرقمية التي مع استخدام هذه الخوارزميات الرقمية الآن وكما هو الحال مع كل مجال، ونحن قد اخترع أساليب ذات جودة أعلى في رسومات الكمبيوتر كذلك. اختراع هذه الخوارزميات هو مثال مثالي. قبل المضي قدما، دعونا نلقي نظرة على مفهوم وراء هذه الخوارزميات. وعلى الرغم من أنه يبدو خارج نطاق مناقشتنا، فمن الضروري أن نشير إلى الاختلافات الأساسية بين الاثنين. إذا كنت على دراية جيدة بالخوارزميات، يمكنك الانتقال إلى الاختلافات الفعلية الموجودة في نهاية هذه الصفحة.
ما هي الخوارزمية التفاضلية الرقمية (دا)؟
يستخدم دا غالبا لرسم خطوط في رسومات الحاسوب ويستخدم القيم الحقيقية مع التنبؤ بقيم بكسل المقبل. دعونا نفترض قيمة بكسل الأولي كما (X0، Y0) (X0، Y0) وبكسل الوجهة كما (X1، Y1) (X1، Y1). سوف نتعلم كيفية حساب قيم بكسل الوجهة من قيمة بكسل معروفة (X0، Y0) (X0، Y0) على النحو التالي.
- كيفية حساب قيمة نقطة الوجهة باستخدام دا؟
الخطوة 1: هنا لدينا المدخلات (X0، Y0) (X0، Y0) ويجب أن نحدد ما إذا كان الخط يعمل بالتوازي مع المحور س أو المحور الصادي. للعثور على ذلك، دعونا الآن حساب الفرق بين القيم بكسل الأولية والوجهة.
دكس = X1 - X0
دي = Y1 - Y0
الخطوة الثانية: الآن، لقد حددنا الفرق ويجب أن نرسم الخط على طول المحور س إذا كان 'دكس' خلاف ذلك، يجب علينا رسم خط موازية للمحور ص. هنا هو الحساب الفعلي من حيث لغة الكمبيوتر.
إف (أبسولوت (دكس)> أبسولوت (دي))
ستيبس = أبسولوت (دكس)؛
إلس
ستيبس = أبسولوت (دي)؛
الخطوة 3: الآن، حان الوقت لتحديد إحداثيات 'x' الفعلية أو 'y' إحداثيات القيم بكسل من أجل رسم الخط.
X إنكرمنت = دكس / (فلوت) ستيبس؛
Y إنكريمنت = دي / (فلوت) ستيبس؛
الخطوة 4: يجب حساب ذلك حتى نصل إلى بكسل الوجهة. خوارزمية دا جولات قبالة قيمة بكسل إلى أقرب قيمة صحيحة أثناء القيام الحساب. هنا هو رمز عينة من ما ناقشنا الآن.
فور (إنت v = 0؛ v <ستيبس؛ v ++)
{
x = x + X إنكريمنت؛
y = y + Y إنكريمنت؛
بوتبكسل (جولة (x)، جولة (y))؛
}
ونحن نقوم به مع رسم الخط باستخدام دا ودعونا ننتقل إلى بريسنهام الآن!
ما هي خوارزمية بريسنهام؟
وهو أيضا خوارزمية رسم الخط الرقمي، وقد اخترع من قبل بريسنهام في عام 1962 وهذا هو السبب في أنها حصلت على نفس الاسم. هذه الخوارزمية هي أكثر دقة واستخدام الطرح وإضافة إلى حساب قيمة بكسل أثناء رسم الخط. دقة خوارزمية بريسنهام هو موثوق بها في حين رسم المنحنيات والدوائر كذلك. دعونا ننظر كيف تعمل هذه الخوارزمية.
الخطوة 1: تفترض خوارزميات بريسنهام أن البكسل الأولي ينسق كالتالي (x a + 1 ، y a ).
الخطوة الثانية: تحسب تلقائيا قيمة البكسل التالية (x a + 1 ، y a + 1 )، هنا 'a' هي القيمة الإضافية وتحسب الخوارزمية عن طريق إضافة أو طرح المعادلات التي شكلتها.
هذه الخوارزمية بحساب القيم الدقيقة مع عدم التقريب قبالة وتبدو أسهل كذلك!
- مثال عددي لخوارزمية بريسنهام:
دعونا نأخذ الآن في الاعتبار النقاط (0، 0) و (-8، -4) ودعونا نرسم خطا بين هذه النقاط باستخدام خوارزمية بريسنهام.
البيانات المعطاة، (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.
متغير القرار = e = 2 * (Δy) - (Δx)
لذلك، e = 2 * (4) - (8) = 8-8 = 0
علينا جدولة القيم الناتجة. يتم تعديل قيم y-سوردينات على أساس متغير القرار ونحن فقط تجاهل حسابها هنا.
بيكسل | x | 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) |
> -2 | قيمة | (- 6، -3) | -6 |
-3 | 0 | (- 7، -3) | -7 |
-3 | قيمة | (- 8، -4) | -8 |
-4 | 0 | الاختلافات بين دا وخوارزمية بريسنهام |
الحساب الحسابي: يستخدم دا القيم الحقيقية في حساباته مع استخدام النقاط العائمة. يتم تحديد قيم البكسل أو النقطة التالية مع المعادلات التفاضلية
- X الزيادة = دكس / (تعويم) الخطوات
Y الزيادة = دي / (تعويم) الخطوات
هنا لا توجد ثوابت ثابتة ولكن في نقاط ثابتة خوارزمية بريسنهام وتستخدم في الحسابات الحسابية. تستخدم خوارزمية بريسنهام حساب إنتيجر، على عكس دا.
نوع العملية المستخدمة:
و دا يحل المعادلات التفاضلية مع عمليات الضرب والقسمة. هل يمكن أن تلاحظ نفسه هنا، X الزيادة = دكس / (تعويم) الخطوات. تستخدم خوارزمية بريسنهام عمليات الجمع والطرح، ويمكنك ملاحظة نفس الشيء هنا في معادلة حساب قيمة البكسل التالية (x
- a + 1
، a + 1 ). الحساب هو أبسط في بريسنهام عند مقارنة دا. الكفاءة: كما ناقشنا في وقت سابق، تستخدم خوارزمية بريسنهام حسابا أبسط من حساب دا، وتؤدي إلى نتائج فعالة.
- السرعة:
كما يستخدم دا الأعداد الصحيحة العائمة جنبا إلى جنب مع عمليات الضرب والقسمة، وهو أبطأ نسبيا في حين يستخدم خوارزمية بريسنهام مجرد حساب صحيح جنبا إلى جنب مع إضافات وطرح وحدها. هذا يقلل كثيرا من الوقت الذي يستغرقه لحساباتها، وبالتالي فإنه أسرع من دا.
- دقة: على الرغم من أن دا يستخدم قيم النقطة العائمة، دقة دا ليست أفضل كما في بريسنهام. مجموعة متنوعة من العوامل تؤثر على هذا المفهوم، وبالتالي، بريسنهام هو أكثر دقة من دا.
- تقريب: مجرد إلقاء نظرة على حساب دا هنا.
- X إنكرمنت = دكس / (فلوت) ستيبس هل يمكن أن تلاحظ 'فلوت'، وبالتالي فإنه لا تقريب القيم في حين أن خوارزمية بريسنهام يقترب من القيم إلى أقرب عدد صحيح. ولذلك، فإن القيم المستخدمة هي أبسط في خوارزمية بريسنهام.
ما الذي يرسمه؟
و دا قادر على رسم الدوائر والمنحنيات بعيدا عن خطوط الرسم. خوارزمية بريسنهام هي أيضا قادرة على رسم كل تلك المذكورة أعلاه ودقتها هو أعلى حقا من دا. وبالمثل، فإن خوارزمية بريسنهام يمكن أن تأتي بمنحنيات فعالة من تلك التي تنتجها دا. يمكن لكل من الخوارزميات رسم المثلثات والمضلعات كذلك.
- ما هي تكلفة؟
كما يتضمن دا تقريب قبالة، وهي مكلفة من استخدام خوارزمية بريسنهام ل.
- ما هي الخوارزمية المحسنة؟
من المناقشة أعلاه، فمن الواضح جدا أن خوارزمية بريسنهام هي الأمثل من حيث السرعة والتكلفة، واستخدام العمليات.
- دعونا نلقي نظرة على الاختلافات في شكل جدولي.
S. لا
الاختلافات في