خوارزمية الرسام

منظر طبيعي فركتالي يتم عرضه باستخدام خوارزمية الرسام على جهاز أميغا

خوارزمية الرسام ( وتُعرف أيضًا بخوارزمية فرز العمق وخوارزمية التعبئة ذات الأولوية ) هي خوارزمية لتحديد الأسطح المرئية في رسومات الحاسوب ثلاثية الأبعاد، وتعمل على أساس كل مضلع على حدة، بدلاً من العمل على أساس كل بكسل على حدة ، أو صفًا تلو الآخر، أو منطقة تلو الأخرى، كما هو الحال في خوارزميات تحديد الأسطح المخفية الأخرى . [ 1 ] [ 2 ] [ 3 ] تقوم خوارزمية الرسام بإنشاء الصور عن طريق فرز المضلعات داخل الصورة حسب عمقها، ووضع كل مضلع بالترتيب من الأبعد إلى الأقرب. [ 4 ] [ 5 ]

طُرحت خوارزمية الرسام في البداية كطريقة أساسية لمعالجة مشكلة تحديد الأسطح المخفية من قِبل مارتن نيويل ، وريتشارد نيويل ، وتوم سانشا عام ١٩٧٢، عندما كان الثلاثة يعملون في مركز التصميم بمساعدة الحاسوب (CADCentre) . [ ٤ ] يشير اسم "خوارزمية الرسام" إلى التقنية التي يستخدمها العديد من الرسامين، حيث يبدأون برسم الأجزاء البعيدة من المشهد قبل الأجزاء الأقرب، وبالتالي تغطية بعض مناطق الأجزاء البعيدة. [ ٦ ] [ ٧ ] وبالمثل، تُرتّب خوارزمية الرسام جميع المضلعات في المشهد حسب عمقها، ثم ترسمها بهذا الترتيب، من الأبعد إلى الأقرب. [ ٨ ] سترسم الخوارزمية فوق الأجزاء غير المرئية عادةً - وبالتالي تحل مشكلة الرؤية - على حساب رسم مناطق غير مرئية من الأجسام البعيدة. [ 9 ] يُطلق على الترتيب الذي تستخدمه الخوارزمية اسم " ترتيب العمق" ، ولا يشترط فيه مراعاة المسافات العددية لأجزاء المشهد؛ بل إن الخاصية الأساسية لهذا الترتيب هي أنه إذا حجب جسمٌ ما جزءًا من جسم آخر، فإن الجسم الأول يُرسم بعد الجسم الذي يحجبه. [ 9 ] وبالتالي، يمكن وصف الترتيب الصحيح بأنه ترتيب طوبولوجي لرسم بياني موجه غير دوري يُمثل حالات الحجب بين الأجسام. [ 10 ]

تُرسَم الجبال البعيدة أولاً، تليها المروج الأقرب، ثم الأشجار. ورغم أن بعض الأشجار أبعد عن نقطة الرؤية من بعض أجزاء المروج، فإن الترتيب (الجبال، المروج، الأشجار) يُشكّل ترتيب عمق صحيح، إذ لا يحجب أي عنصر في هذا الترتيب أي جزء من عنصر لاحق.

الخوارزمية

من الناحية النظرية، تعمل خوارزمية الرسام على النحو التالي:

  1. فرز كل مضلع حسب العمق
  2. ضع كل مضلع من أبعد مضلع إلى أقرب مضلع

الشفرة الزائفة

فرز المضلعات حسب العمق لكل مضلع p : لكل بكسل يغطيه p : ارسم لون p على البكسل

تعقيد الخطة

يعتمد التعقيد الزمني لخوارزمية الرسام على خوارزمية الفرز المستخدمة لترتيب المضلعات. بافتراض خوارزمية فرز مثالية، فإن خوارزمية الرسام لها تعقيد في أسوأ الحالات من رتبة O ( n log n + m*n )، حيث n هو عدد المضلعات و m هو عدد البكسلات المراد ملؤها.

تعقيد المساحة

إن التعقيد المكاني لخوارزمية الرسام في أسوأ الحالات هو O ( n+m )، حيث n هو عدد المضلعات و m هو عدد البكسلات المراد ملؤها.

المزايا

هناك شرطان تقنيان أساسيان يفضلان استخدام خوارزمية الرسام.

البنية الرسومية الأساسية

خوارزمية الرسام ليست معقدة في بنيتها كغيرها من خوارزميات فرز العمق. [ 9 ] [ 11 ] تُعدّ مكونات مثل ترتيب العرض القائم على العمق، كما هو مُستخدم في خوارزمية الرسام، من أبسط الطرق لتحديد ترتيب إنتاج الرسومات. [ 8 ] هذه البساطة تجعلها مفيدة في سيناريوهات إخراج رسومات الحاسوب الأساسية حيث يلزم إجراء عرض بسيط دون عناء يُذكر. [ 9 ]

كفاءة الذاكرة

في أوائل السبعينيات، عندما طُوِّرت خوارزمية الرسام، كانت الذاكرة الفعلية صغيرة نسبيًا. [ 12 ] وقد استلزم ذلك من البرامج إدارة الذاكرة بأكبر قدر ممكن من الكفاءة لإنجاز المهام الكبيرة دون توقف. تُعطي خوارزمية الرسام الأولوية للاستخدام الأمثل للذاكرة، ولكن على حساب زيادة قوة المعالجة، نظرًا لضرورة معالجة جميع أجزاء جميع الصور. [ 9 ]

القيود

قد تتسبب المضلعات المتداخلة في فشل الخوارزمية.

قد تفشل الخوارزمية في بعض الحالات، بما في ذلك التداخل الدوري أو المضلعات المخترقة.

التداخل الدوري

في حالة التداخل الدوري، كما هو موضح في الشكل على اليمين، تتداخل المضلعات أ، ب، وج مع بعضها البعض بطريقة تجعل من المستحيل تحديد أي مضلع يقع فوق الآخر. في هذه الحالة، يجب قص المضلعات المتداخلة للسماح بالفرز. [ 4 ]

اختراق المضلعات

تنشأ حالة المضلعات المتداخلة عندما يتقاطع مضلع مع آخر. ومثل التداخل الدوري، يمكن حل هذه المشكلة عن طريق قطع المضلعات المتداخلة. [ 4 ]

كفاءة

في التطبيقات الأساسية، قد تكون خوارزمية الرسام غير فعّالة. فهي تُجبر النظام على رسم كل نقطة على كل مضلع في المجموعة المرئية، حتى لو كان هذا المضلع محجوبًا في المشهد النهائي. وهذا يعني أنه بالنسبة للمشاهد التفصيلية، قد تُرهق خوارزمية الرسام موارد الحاسوب بشكل مفرط.

تقليل الأخطاء البصرية

هناك عدة طرق لتقليل الأخطاء البصرية التي قد تحدث أثناء الفرز:

تقسيم الفضاء الثنائي

تُعدّ تقنية تقسيم الفضاء الثنائي (BSP) طريقةً تتضمن إنشاء شجرة BSP، وتقسيم المثلثات عند نقاط تقاطعها. قد يكون تطبيقها صعباً للغاية، لكنها تُصلح معظم الأخطاء البصرية.

إزالة الواجهة الخلفية

تتضمن عملية إزالة الأوجه الخلفية إجراء حسابات لتحديد ما إذا كانت رؤوس المثلث ستظهر باتجاه عقارب الساعة أو عكسها عند عرضها على الشاشة، كما أنها لا ترسم المثلثات التي لا ينبغي أن تكون مرئية أصلاً. يقلل هذا من بعض الأخطاء البصرية، بالإضافة إلى تقليل العدد الإجمالي للمثلثات المرسومة.

المتغيرات

خوارزمية الرسام الموسعة

توفر خوارزمية نيويل ، المقترحة كخوارزمية موسعة لخوارزمية الرسام، طريقة لقطع المضلعات الدورية والمخترقة. [ 4 ]

خوارزمية الرسام العكسية

يتضمن أحد أنواع خوارزمية الرسام خوارزمية الرسام العكسية . تقوم هذه الخوارزمية برسم الأجسام الأقرب إلى المشاهد أولاً، مع مراعاة قاعدة عدم تطبيق الطلاء على أجزاء الصورة المرسومة مسبقاً (إلا إذا كانت شفافة جزئياً). في أنظمة الرسومات الحاسوبية، قد تكون هذه الطريقة فعالة للغاية، إذ لا حاجة لحساب الألوان (باستخدام الإضاءة والتركيبات وما شابه) لأجزاء المشهد البعيدة المخفية خلف الأجسام القريبة. مع ذلك، تعاني الخوارزمية العكسية من العديد من المشاكل نفسها التي تعاني منها النسخة القياسية.

خوارزميات أخرى لرسومات الحاسوب

أدت عيوب خوارزمية الرسام إلى تطوير تقنيات مخزن العمق (Z-buffer) ، والتي يمكن اعتبارها تطويرًا لخوارزمية الرسام من خلال حل تعارضات العمق على أساس كل بكسل على حدة، مما يقلل الحاجة إلى ترتيب عرض قائم على العمق. [ 13 ] حتى في هذه الأنظمة، يُستخدم أحيانًا شكلٌ مُعدَّل من خوارزمية الرسام. نظرًا لأن تطبيقات مخزن العمق تعتمد عمومًا على سجلات مخزن العمق ذات الدقة الثابتة المُنفَّذة في الأجهزة، فهناك مجال لمشاكل الرؤية بسبب خطأ التقريب. وتتمثل هذه المشاكل في التداخلات أو الفجوات عند نقاط التقاء المضلعات. لتجنب ذلك، تُنفِّذ بعض محركات الرسومات "الرسم الزائد"، حيث ترسم الحواف المتأثرة لكلا المضلعين بالترتيب الذي تُحدده خوارزمية الرسام. هذا يعني أنه يتم رسم بعض البكسلات مرتين (كما هو الحال في خوارزمية الرسام الكاملة)، ولكن هذا يحدث فقط في أجزاء صغيرة من الصورة وله تأثير ضئيل على الأداء.

مراجع

  1. أبيل، آرثر (1968). موريل، أ. ج. هـ. (محرر). "حول حساب وهم الواقع" (ملف PDF) . معالجة المعلومات، وقائع مؤتمر الاتحاد الدولي لمعالجة المعلومات 1968، إدنبرة، المملكة المتحدة، 5-10 أغسطس 1968، المجلد 2 - الأجهزة، التطبيقات : 945-950 . مؤرشف (ملف PDF) من الأصل بتاريخ 20 يوليو 2008.
  2. رومني، جوردون ويلسون (1969-09-01). "التجميع والتجسيد بمساعدة الحاسوب للأجسام الصلبة" . مؤرشف من الأصل في 2 نوفمبر 2020.{{cite journal}}يتطلب الاستشهاد بالمجلة ( مساعدة )|journal=
  3. غاري سكوت واتكينز. 1970. "خوارزمية سطح مرئي في الوقت الحقيقي. أطروحة دكتوراه." جامعة يوتا. رقم الطلب: AAI7023061.
  4. 1 2 3 4 5 نيويل، إم إي؛ نيويل، آر جي؛ سانشا، تي إل (1972-08-01). "حل لمشكلة السطح الخفي" (ملف PDF) . وقائع المؤتمر السنوي لجمعية آلات الحوسبة - ACM'72 . ACM '72. المجلد 1. بوسطن، ماساتشوستس، الولايات المتحدة الأمريكية: جمعية آلات الحوسبة. الصفحات 443-450 . doi : 10.1145/800193.569954 . ISBN   978-1-4503-7491-0. S2CID 13829930 . مؤرشف (PDF) من الأصل بتاريخ 2020-09-22. 
  5. بوكنايت، دبليو. جاك (1970-09-01). "إجراء لإنشاء عروض رسومية حاسوبية ثلاثية الأبعاد بنصف درجة لونية" . مجلة اتصالات رابطة مكائن ​​الحوسبة . 13 (9): 527-536 . doi : 10.1145/362736.362739 . ISSN 0001-0782 . S2CID 15941472 .  
  6. بيرلاند، دينا (1995). تقنيات الرسم التاريخي، والمواد، وممارسات الاستوديو (ملف PDF) . معهد جيتي للحفظ.
  7. وايلي، كريس؛ رومني، جوردون؛ إيفانز، ديفيد؛ إيردال، آلان (14 نوفمبر 1967). "رسومات منظور نصفية باستخدام الحاسوب" . وقائع المؤتمر المشترك للحاسوب، خريف 14-16 نوفمبر 1967 - AFIPS '67 (خريف) . أنهايم، كاليفورنيا: رابطة آلات الحوسبة. الصفحات 49-58 . doi : 10.1145/1465611.1465619 . ISBN  978-1-4503-7896-3. S2CID 3282975 . 
  8. 1 2 ديساي، أبورفا (2008). رسومات الحاسوب . فاي التعلم الجندي. المحدودة رقم ISBN 9788120335240.
  9. 1 2 3 4 5 دي بيرغ، مارك (2008). الهندسة الحسابية (ملف PDF) . سبرينغر. مؤرشف (ملف PDF) من الأصل بتاريخ 2016-08-03.
  10. دي بيرغ، مارك (1993). إطلاق الأشعة، وترتيبات العمق، وإزالة الأسطح المخفية . سلسلة محاضرات في علوم الحاسوب. المجلد 703. سبرينغر. ص 130. ISBN   9783540570202..
  11. وارنوك، جون إي. (1969-06-01). "خوارزمية السطح المخفي للصور النصفية المولدة بالحاسوب" . مؤرشف من الأصل في 8 نوفمبر 2020.{{cite journal}}يتطلب الاستشهاد بالمجلة ( مساعدة )|journal=
  12. فريزر، م.؛ ماركوس، ب. (يونيو 1969). "دراسة استقصائية لبعض القيود الفيزيائية على عناصر الحاسوب". معاملات IEEE في المغناطيسية . 5 (2): 82-90 . Bibcode : 1969ITM.....5...82F . doi : 10.1109/TMAG.1969.1066403 . ISSN 1941-0069 . 
  13. نيبرغ، دانيال (2011). تحليل خوارزميتين شائعتين لإزالة الأسطح المخفية، خوارزمية الرسام والتخزين المؤقت Z.