الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

خوارزمية Anti-alias لتمليس الحواف

مغلق
بدأه إسماعيل ابراهيم في 24 يوليو 2006 · 13 رد · 1,523 مشاهدة · في الرياضيات والخوارزميات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

عندما نستخدم الأشكال الدائرية ، والأقواس في برامج الرسم - لا يكون القوس دقيقًا بل تظهر عليه أشبه بتدرّجات تبشّع شكل القوس (أنظر الرسم - القوس الأيمن) لكن إذا اخترت في الفوتوشوب خاصية Anti alias تظهر حواف أكثر تنظيمًا وأجمل (انظر الرسم- القوس الايسر)...

كيف تعمل هذه الخاصية برمجيّاً...

ما هي الخوارزمية (شرحها لا اسمها)...

غدل برأيك حتى لو كان تخمينًا.

------------------------------------------------

إذا نجحت فكرة الموضوع فسنتابع بخوارزميا أخرى. :rolleyes:

------------------------------------------------

الرسم :

000111.0.jpg

تم تعديل هذه المشاركة بواسطة إسماعيل ابراهيم في 27 يوليو 2006 في 12:00

#2

يبدو في مشكلة في مركز رفع الصور!!

#3

فين الرسم يا أخى حيوضح كتير و حيساعدنا على التخمين

#4

تم رفع الرسم.

#5

سلام عليكم

http://en.wikipedia.org/wiki/Anti-aliasing

أتمنى أن تكون مفيده

Nothing to mention except that I am Muslim

Using your brain is not bad as you think

My Blog

logo.jpg

#6

هذا قد يفيد أيضا

http://www.answers.com/topic/anti-aliasing

في الوصلة التالية اول مثال هو عبارة عن Anti-Aliasing line drawing

المثال بـ TMT Pascal ولكن يمكن تغييره الى دلفي

http://www.tmt.com/contribs.htm

قد تجد في كتب الـ Image processing او الـ Graphics شرح للخوارزمية ...

أثناء البحث وجدت إشارة الى بعض research paper خاصة بالخوارزمية ..

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#7

أيضاً :

http://www.efg2.com/Lab/Library/Delphi/Gra...eProcessing.htm

وهنا ستجد وصلة لـ VaagZien وفيها تجد

Executable Program

Source & Theoretical

Theory in PDF

http://huizen.dto.tudelft.nl/deBruijn/programs/delphi.htm

General Rendering and Antialiasing Algorithms

Delphi code (rotate an image any angle, with edge wrapping,and anti-aliasing)

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#8

إحترامي لكم..

لكنني لم ارد البحث المنفرد عن المصادر.. أردت هنا أن نتناقش...

يعني واحد يحكي مثلاً الفكرة الاساسية هي أن كذا كذا .... ومن منطلق كذا كذا..

يعني نقاش خاص بالفريق، لإثراء هكذا مواضيع...

-------------------

يعني اشمعني لما رومانوف يكتب عن الارقام ما بتعطوه وصلات وبتتفاعلوا .. وأنا لأ..... :blink:

هاي عنصرية :angry:

:lol: :D :D :D

تم تعديل هذه المشاركة بواسطة إسماعيل ابراهيم في 27 يوليو 2006 في 16:48

#9

طيب انا عندي فكرة .. تخيلوا !!!!!

اعتقد الفكرة .. اننا نتبع التالي :

اولا نحن نتعامل مع خط... وهنا مربط الفرس .. بالتالي اذا طبقت الخوارزمية على خطستنطبق على جميع الاشكال .

1 - نقوم بالحصول على معادلة الخط.

2-نحصل ايضا على لونه.

3- نقوم برسم ألوان باهتة قريبة من لون الخط.. بجوانب الخط ... حتى نغطي على التعرجات ,

أعتقد هذه الفكرة الاساسية هي مطبقة في معظم المكتبات .... opengl مثلا ..

ايضا gdi ... واكيد الفوتوشوب .. لو ان الفوتوشوب .. اكثر اتقانا ..

مسألة اخرى ,, لماذا لاتكون في النهاية ممكن محاكاة هذه الخوارزمية عن طريق blur ... نعمل blur للنقطة .. وبالتالي يصبح الشكل مموها ولاتظهر في التعرجات ..

طبعا انا ما اعرف شيء : ) ,,, لكن بس احب ان نبسط الامور .. ولا ندخل انفسنا في معادلات رياضية ..

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#10

ولله خوارزمية جميلة أخ شمرى و بسيييطة جدا!

فى دماغى فكرة تانية مش عارف حتبقى صح ولا لأ:

1. إختيار نقطة عشوائية فى نفس مستوى الشكل ثم إعتبار هذه النقطة كنقطة أصل فى نظام قطبى Polar ولتكن التقطة ( أ ).

2. البدء من نقطة عشوائية على الشكل و التقدم بأى إتجاه و حساب الإحداثيات لكل النقاط بالنسبة للنقطة أ.

3. نكتشف التعرجات عن طريق الإحداثى r (الذى يمثل بعد النقطة عن نقطة الأصل أ) حيث نكتشف أن خلال التعرج تزيد ال r زيادة طفيفة جدا ثم تقل مرة أخرى (أو تقل ثم تزيد).

4. هذا التغير فى ال r "حتى نعتبره تعرج" يجب أن يكون طفيفا جدا مثلا نحدد أن يكون فى حدود 0.1 ملليمتر و خلال زاوية ( سيتا ) صغيرة لا تتعدى مثلا 2 درجة مئوية ( يمكن معرفة هذه القيم عن طريق التجربة ).

fluctuationmx9.jpg

5. و بذلك نكون حددنا نقطة البدء و النهاية للتعرج و يمكن التوصيل بين النقطتين بخط مستقيم.

على فكرة عند بداية كتابة البوست ده أنا كان فى دماغى فكرة تانية خالص فى إكتشاف التعرج :) لكن ونا بكتب أدركت بعض الأشياء التى غيرت الفكرة فى رأسى تماما.

#11
اقتباس
- نقوم بالحصول على معادلة الخط.

وماذا لو كان الخط عشوائي، بدون معادلة؟

مثلا خط متعرّج بتعرّجات عشوائية، وهذا كثيرا ما نراه؟؟؟

اقتباس
البدء من نقطة عشوائية على الشكل و التقدم بأى إتجاه و حساب الإحداثيات لكل النقاط بالنسبة للنقطة أ.

أيضاً : كيف سنتقدم على الخط، لا توجد معادلة للخط، ولا نعرف شكله؟؟

#12

سلام عليكم

أنا كنت عملت قبل ذلك برنامج لتأثيرات الجرافيك و كان فيه جزء أسمه "تسييح الألوان" و ده كان بيعمل عملية الـشبية بهذه الخورزمية حيث أنه كان هذا الفلتر أسمه Median Filter

فى عملية كهذه هو تطبيق الـMedian Filter على مجموعة النقاط ( 3 نقاط تضمن نقطة الدائرة ) فى أتجاه زاوية رسم النقطة

Nothing to mention except that I am Muslim

Using your brain is not bad as you think

My Blog

logo.jpg

#13
اقتباس
أيضاً : كيف سنتقدم على الخط، لا توجد معادلة للخط، ولا نعرف شكله؟؟

ممم ممكن أن نقوم بإكتشاف الخطوط أولا قبل البدء عن طريق عمل مسح للألوان فى الصورة, و إكتشاف تغيرات الألوان المفاجئة و ذات المسافة الصغيرة جدا أو بمعنى أصح pulses و تكون هذه هى الخطوط.

#14
اقتباس
فى عملية كهذه هو تطبيق الـMedian Filter على مجموعة النقاط ( 3 نقاط تضمن نقطة الدائرة ) فى أتجاه زاوية رسم النقطة

هل هناك شرح لهذه العملية، (الخوارزمية)؟

اقتباس
ممم ممكن أن نقوم بإكتشاف الخطوط أولا قبل البدء عن طريق عمل مسح للألوان فى الصورة, و إكتشاف تغيرات الألوان المفاجئة و ذات المسافة الصغيرة جدا أو بمعنى أصح pulses و تكون هذه هى الخطوط.

سنكمل الطريق.

هذا الموضوع مغلق.

مواضيع مشابهة