پردازش تصاوير:

پردازش تصاویر به اين موضوع مي‌پردازد كه چگونه مي‌توان از بين دو يا چند تصوير موجود يك تصوير ديگر با كيفيت مطلوب استخراج نمود.

نمونه: در انجام عمل سيتي‌اسكن تصوير برداري به صورت مقطعي از سر تا نوك پا صورت مي‌گيرد و با انجام پردازشهايي تصاوير را تفكيك  و تصويرنهايي را براي پزشك استخراج مي‌نمايد.

تعريف گرافيك كامپيوتري :

 توانايي كامپيوتر در رسم ونمايش اطلاعات و يا به طور دقيق‌تر انتقال و تبادل اطلاعات گرافيكي  (عددي و يا غير عددي ) از كاربر به كامپيوتر و يا بالعكس .

گرافيك كامپيوتري:

در گرافيك كامپيوتري بين كاربر و سيستم نرم‌افزار تعاملي برقرار است و يا به عبارت ديگر مي‌توان گفت يك تعامل يك ‌طرفه  برقرار است به اين ترتيب كه كاربر اطلاعات را از طريق صفحه كليد به سيستم مي‌دهد و سيستم بايد آن اطلاعات را به صورت  گرافيكي نمايش دهد.البته اين امكان وجود دارد كه بين كاربر و سيستم نرم‌افزار يك تعامل دو طرفه برقرار باشد.به اين ترتيب كه كاربر به كامپيوتر و كامپيوتر به كاربر اطلاعات گرافيكي مي‌دهد. كاربر اطلاعات يا تصاوير را از طريق اسكنر به كامپيوتر مي‌دهد و كامپيوتر يك ‌سري پردازشهايي برروي تصاوير انجام داده و تصوير را به‌صورت گرافيكي استخراج مي‌نمايد البته به اين سيستم‌ها سيستم گرافيك كامپيوتري ماهواره اي((ICG گفته مي‌شود و آنچه كه در اين سيستم‌ها حائز اهميت است سرعت مي‌باشد زيرا كه كاربر همان‌گونه كه اطلاعات را سريعاً وارد مي‌نمايد در نظر دارد نتايج را به صورت سريع مشاهده نمايد.

اجزاء يك سيستم گرافيك كامپيوتري:

كاربر:   کاربرفرامين خام وموارد ديگر را به كامپيوتر مي دهد.

CPU  : CPU مي تواند اطلاعات را در حافظه حفظ كند فرامين را اجرا كند ونتايج كلي را در حافظه نگه دارد.

حافظه: حافظه دو قسمت است و اين حافظه كارت گرافيكي RAM است.

پردازشگرنمايشگر: اين قسمت براي نمايش اطلاعاتي كه در حافظه كارت گرافيك آماده شده به كار مي‌رود.

دستگاه نما‌يشگر(مانيتور ): این دستگاه تصاوير را نمايش مي‌دهد.

 

نمودار يك سيستم گرافيك كامپيوتري از طريق شكل زير نمايش داده مي شود :

 

نحوه ‌عملكرد:

كاربر اطلاعات را با CPU تبادل مي‌نمايد بدين مفهوم كه كاربر اطلاعات را به CPU مي‌دهد و CPU فرامين را دريافت و اجرا مي‌نمايد.  نتايج فرامين درCPU يك تصوير است و اين تصوير در حافظه ذخيره‌مي‌گردد. در اين لحظهCPU به پردازشگر نمايشگر دستور مي‌دهد كه او اطلاعات را نمايش دهد . پردازشگر اطلاعات يا تصاوير را از حافظه خوانده و آنها را روي مانيتور نمايش مي‌دهد.

تفكيك پذيري  ( Resolution ) :

به ماكزيمم نقاط قابل نمايش در يك صفحه CRT بدون روي هم افتادگي Resolution گويند . (به كل نقاط فسفري كه در صفحه مانيتور وجود دارد .)

   تعريف متداول و ساده :

  تعداد كل نقاط قابل رسم در دو جهت افقي و عمودي را گويند. (فاصله عمودي بين نقاط بيشتر از فاصله افقي است )    

   تفكيك پذيري به عوامل زير بستگي دارد :

سيستم متمركز كننده

2 ـ سيستم منحرف كننده

3 ـ نوع فسفر

4 ـ ظرفيت سيستم كامپيوتري

براي سنجش كيفيت تفكيك پذيري، نقاط فسفري كه به صورت موازي (هم افقي و هم عمودي ) روي هم قراردارند را حساب مي كنيم . هر چه فسفر ريزتر و كنار هم تر با شد تصوير بهتر است.

نسبت ظاهري (Aspect ratio ) :

صفحات مانيتور مستطيل شكل هستند زيرا اگرشما در صفحه يك خط عمودي و يك خط افقي هم طول رسم نماييد مشاهده   خواهيد نمود كه تعداد نقاط فسفري در سطر بيشتر از ستون است.

نسبت ظاهری به نسبت تعداد نقاط عمودي به تعداد نقاط افقي جهت ايجاد خطوط هم طول گفته مي‌شود  ( دو جهت مذكور )

    نکته : اين نسبت بهتر است برابر 1 شود اما كمتر مي شود چون بستگی به فاصله ها دارد .        

                     انواع مانيتورهاي تلويزيوني :

 عملكردبراساس طرح لامپ صفحه تلويزيون مي‌باشد)عملكرد براساس لامپ اشعه كاتدي مي باشد)

طريقه عملكرد صفحه نمايش (CRT) : از برخورد اشعه الكتروني به فسفر, فسفر برانگيخته شده و ازخود نوري به رنگ خود فسفر صادر مي كند كه  اساس كار لامپهايCRT مي باشد.

 

اجزاي تشكيل دهنده لامپ اشعه كاتدي عبارتند از :

1-       سيستم متمركز كننده :

 بصورت يك استوانه كه دو طرف آن باز است و از يك سو الكترونها بصورت پراكنده وارد مي‌گردند و از آنجايي كه سطح جانبي آن از جنس فلز است بارهاي مثبت يكنواخت پخش مي‌گردد و توزيع يكنواخت بارهاي مثبت باعث مي‌گرددشدت ميدان مغناطيسي در مركز استوانه صفر شود و بنابراين الكترونها حول محور شعاع بروي يك خط صاف و مستقيم حركت مي‌نمايند.وظيفه آن همگرايي اشعه الكتروني به يك نقطه كوچك هنگام بر خورد آن با صفحه نمايش مي باشد كه عمل تمركز بوسيله ميدانهاي الكتروني ومغناطيسي صورت مي پذيرد.

2- سيستم منحرف كننده افقي:

در سيستم منحرف كننده افقي دو صفحه وجود دارد كه در آنها بارهاي مثبت و منفي وجود دارد و با تنظيم اختلاف پتانسيل بصورت تقريبي بين اين دو صفحه مي‌توان اشعه را در جهات عمودي منحرف نمود.

3- سيستم منحرف كننده عمودي  :

در سيستم منحرف كننده عمودي ساختار آن همانند سيستم منحرف كننده افقي است با اين تفاوت كه اين سيستم اشعه رادر جهات افقي منحرف مي‌نمايد                                      

نحوه‌ عملكرد :

 در داخل لامپ CRT خلاء موجود است و در تفنگ الكتروني موجود در آن كاتد وجود دارد. و كاتد اين خاصيت را دارد كه در اثر گرما الكترون توليد مي‌نمايد و به اين ترتيب الكترونهاي توليد شده از منفذ خارج شده ودر جهات مختلف پراكنده مي‌گردند  و اولين مكاني كه الكترونها در آنجا مستقر مي‌گردند سيستم متمركز كننده است و در اين قسمت الكترونهاي موجود در جهات مختلف متمركز شده و بصورت يك اشعه در مي‌آيند و در مسير اين اشعه دو صفحه افقي و عمودي وجود دارد كه اشعه را در جهات عمودي و افقي منحرف مي‌نمايد، حال اين اشعه در مكاني قرار مي‌گيرد كه بايد كل صفحه را جاروب نمايد و البته صفحه نمايشگر پوشيده از فسفر است. فسفر اين خاصيت را دارد که زماني كه الكترون به آن برخورد مي‌نمايد، نور توليد مي‌نمايد، البته اين اشعه الكتروني بايد به فسفرهايي از صفحه برخورد نمايد كه قرار است تصاوير در آن نقاط نمايش داده ‌شود.

تازه سازي يا بازسازي (Refresh CRT ) :

 شعاع الكترونيكي با سرعتي حدود 50 الي 60 بار در ثانيه نقاط فسفري موجود روي صفحه نمايش را جاروب مي‌نمايد ولي  نور منتشر شده از فسفر سريع‌ از بين مي‌رود بنابراين نياز به هدايت سريع اشعه الكتروني به نقاط روي صفحه نمايش مي‌باشد كه به اين مكانيزم  Refresh CRT  گويند

تعریف پايداري فسفر :

مدت زمان لازم براي اينكه شدت نور صادر شده از فسفر در اثر برخورد لحظه‌اي به 1/0 شدت اوليه‌اش برسد.

بطور کلی فسفر ها به دو دسته تقسیم می شوند:

  1  ـ فسفر كم پايدار: نياز به درجات ( Refresh ) بالاتري دارد و مناسب براي انيميشن سازي است .

 

  2 ـ  فسفر پايدار: نياز به درجات (Refresh ) كمتري داشته و مناسب براي نمايش تصاوير پيچيده و ايستا مي‌باشد.

انحراف شعاع الكتروني  :

انحراف شعاع الکترونی در لامپ CRT توسط ميدانهاي مغناطيسي يا الكتريكي صورت می پذيرد .كه شامل انحراف افقي  وانحراف عمودي مي باشد  هميشه انحراف به طرف ورقه فلزي با ولتاژ مثبت بالاتر صورت مي‌پذيرد . اين انحراف ابتدا به كمك دو صفحة عمودي كه عمل انحراف افقي را بر عهده دارد و سپس صفحة افقي كه وظيفة انحراف عمودي را بر عهده دارد صورت مي‌پذيرد به قسمي كه شعاع الكتروني به كليه نقاط فسفري موجود روي صفحة CRT ( صفحة مستطيل شكل ) برخورد نمايد .

عبور شعاع الكتروني از ميان يك استوانة فلزي با ولتاژ مناسب باعث متمركز سازي الكترونها حول محور شعاع و بر روي يك خط صاف و مستقيم مي‌گردد . سطح جانبي استوانه از بارهاي مثبت كه به صورت يكنواخت پراكنده شده‌اند پر شده است

در سيستمهاي با دقت بالاتر نياز به متمركز كنندة ديگري براي متمركز كردن شعاع الكتروني در هنگام برخورد بر روي صفحة نمايش مي‌باشد .

انواع مانيتورها                 

1 ـ  مانيتورScan   Random  :

در اين نوع مانيتورها اشعه الكتروني تنها به قسمتهايي از صفحه نمايش هدايت مي‌شودكه تصاوير بايد رسم شوند .   خطوط تشكيل دهندة تصوير يكي بعد از ديگري رسم مي‌شود در واقع اجزاي تشكيل دهندة شكل را خطوط تشكيل مي‌دهند كه اين اجزاء با توجه به مشخصات يك جدول كه در آن نقاط دو سر ( دو انتها ) هر يك از خطوط ذخيره شده‌اند بر روي صفحه نمايش به وسيلة اشعه الكتروني جاروب شده و نمايش داده مي‌شوند .

مولفه‌هاي خط يك تصوير مي‌توانند به هر ترتيبي كه مورد نياز باشد در جدول مشخص گردند .

نكات قابل توجه در مورد مانيتورهاي Random Scan عبارتند از :

1-  در روش Random Scan : تعداد پاره‌خطها و سايز آنها محدود است و از اين روش در سيستم قلم‌نوري استفاده مي‌گردد.

2 - از روشRandom scan  : براي نمايش نقاط استفاده نمي‌گردد چون كيفيت بسيار پايين مي‌آيد و بيشتر براي نمايش پاره‌خطهايي كه متصل بهم هستند استفاده‌ مي‌گردد

2 ـ مانيتورهاي ( Raster  Scan) :

 در اين روش اشعه الكتروني تمام صفحه را سطر به سطر از چپ به راست جاروب مي‌نمايد و البته نقاطي كه جزو تصاوير هستند را روشن مي‌نمايد و از نقاطي كه جزو تصوير نيستند رد مي‌شود و حال در اين روش اشعه الكتروني چگونه تشخيص مي‌دهد كدام نقاط جز تصوير هستند؟

 

در روش  Raster scan در حافظة ويدئويي براي تك‌تك پيكسل‌ها از 1 تا 8 بيت ذخيره شده است. به كمك اين بيتها مشخص مي‌شود كه آيا نقاط جزو تصوير است يا خير.بدين مفهوم كه اگر پيكسلي جزو تصوير است بيت مربوط به آن يك است و اگر پيكسلي جزو تصوير نباشد بيت مربوط به آن صفر است.

يا به عبارت ديگردر اين حالت شعاع الكتروني با كنترل شدت آن به تمام نقاط صفحه نمايش طبق تعريف تصوير برخورد مي‌كند ودرواقع كل صفحه نمايش را جاروب مي كند.            

تعريف تصوير:

به صورت يك سري مقادير شدت ( شدت اشعه ) ذخيره شده براي تمام نقاط صفحه نمايش در حافظه گرافيكي مي‌باشد .

تعريف صفحه نمايش:

به صورت يك سري نقاط با شروع از اولين نقطه سمت چپ بالاي صفحه نمايش تعريف مي‌گردد .

 ( امكان زمينه داشتن را براي تصاوير داريم ). مقادير ذخيره شده تعريف تصوير سطر به سطر بر روي صفحه نمايش رنگ زده مي‌شود .

مزيت اين روش نسبت به روش قبل :

1 ـ امكان نمايش زمينه‌هاي رنگي و سايه دار به جهت توانايي سيستم درذخيره‌سازي اطلاعات شدت مربوط به تك تك نقاط  صفحه نمايش .

2 ـ استفاده از آنها در طراحي سيستمهاي گرافيك كامپيوتري كارا و كم هزينه با به كارگيري تكنولوژي بسيار پيشرفته تلويزيون .

روش  Interlacing   در مانيتورهاي ( (Raster  Scan:

جاروب كردن يك در ميان خطوط از بالا به پايين در كيفيت و سرعت بالاتر نيز  موثراست .

يك شعاع الكتروني سر تا سر سطرهاي صفحه نمايش را يك در ميان از بالا به پايين جاروب كرده و با برگشت ديگر بار  خود  سطرهاي باقيمانده را نيز در عبور مجدد جاروب مي‌كند .

از اين روش براي سيستمهاي  با كيفيت  بالا كه نياز به درجه Refresh بالاتري دارد استفاده مي‌گردد .

عمل Refresh به تعداد 60  الي ‌80  بار در ثانيه صورت مي‌گيرد اگر عمل Refresh با درجات پايين تراز 25 بار در ثانيه صورت گيرد كيفيت تصوير تنزل پيدا كرده و حالت سوسوئي در تصوير به وجود مي‌آيد .

عمل Refresh در مانيتورهاي Scan  Random :

در مانيتورهايScan  Random مولفه‌هاي خطوط تصوير به تعداد 60 تا 80 بار در ثانيه در حافظه ترسيم مي‌گردد و آغاز دوره جديد Refresh بعد از رسم تمامي خطوط تصوير انجام مي‌پذيرد.

در سيستمهايScan  Random مقادير شدت براي تمام نقاط صفحه ذخيره نمي‌شود بنابراين درجه تفكيك پذيري آنها به مراتب بيشتر از سيستمهاي Raster Scanمي‌باشد ولي تنها به كاربردهاي ترسيم خطوط محدود مي‌شود .

انواع مانيتورهاي CRT رنگي :

ايده : استفاده از تركيبي از فسفرهايي كه نورهاي رنگي مختلفي منتشر مي‌سازند ودو روش داريم

   1-    beam  penetration    (مانیتورهای قدیمی ميزان نفوذ اشعه)

 

 2-    Shadow  mask   (مانیتورهای امروزي)

   1-   beam penetration  :        

از اين روش اغلب در مانيتورهاي Scan  Random استفاده مي‌شود صفحه نمايش از دو لايه فسفر آبي و قرمز رنگ پوشش داده مي‌شود به عنوان مثال لايه دروني را فسفرقرمز و بيروني را فسفرآبي رنگ پوشش داده است كه  رنگ نمايش داده شده به يك نقطه از صفحه نمايش بستگي به چگونگي نفوذ شعاع الكتروني به داخل لايه‌هاي فسفري دارد به عنوان مثال اگر شدت شعاع الكتروني در برخورد به يك نقطه از صفحه نمايش زياد باشد در نتيجه اشعه الكتروني از لايه قرمز رنگ عبور كرده و باعث جذب آن در لايه فسفر آبي رنگ مي‌گردد . و در نتيجه فسفر آبي رنگ برانگيخته شده و رنگ آبي در آن نقطه نمايش داده مي‌شود .

در صورتيكه شدت شعاع الكتروني نتواند از لايه فسفر قرمز رنگ عبور كند جذب آن در لايه فسفر قرمز رنگ باعث برانگيخته شدن فسفر قرمز رنگ وايجاد نور قرمز مي‌گردد و در صورتيكه شدت شعاع الكتروني به حدي باشد ( با شدت متوسط ) كه در هر دو لايه فسفر جذب گردد باعث نمايش رنگ تركيبي آبي و قرمز ( بنفش ) مي‌شود . اين روش كم  هزينه بوده ولي فقط امكان توليد 4 رنگ بيشتر در اين روش نيست .

 

 روش Shadow   mask :

 در اين روش صفحه نمايش از الگوهاي مثلث شكل بسيار ريزي كه درون آن فسفرهاي رنگي ( آبي سبز . قرمز ) قرار گرفته است پوشيده شده است.

در اين نوع مانيتورها با فواصل بسيار كم از 3  تفنگ الكتروني براي توليد همزمان 3  اشعه الكتروني كه با يكديگر صفحه نمايش را جاروب مي‌كند استفاده مي‌گردد

در جاروب كردن صفحه نمايش هر يك از 3  شعاع الكتروني موجب انتشار تركيبي از 3 رنگ اصلي ( آبي ـ سبز ـ و قرمز ) مي‌گردد . براي افزايش كيفيت تصوير از يك صفحه مشبك حاوي منفذ هايی هم رديف با الگوهاي مثلثي شكل موجود بر روي صفحه نمايش استفاده مي‌شود . در واقع وظيفه متمركز سازي 3  شعاع بر روي الگوهاي مثلثي شكل را بر عهده دارد .براي اينكه اشعه كاملا روي پيكسلها متمركز شود.

تعداد رنگهای موجود:

16 ميليون رنگ = 24 2 = 8 2 * 8 2 * 8 2

 

ساختار سيستم متمركز كننده :

از زماني كه اشعه الكتروني از سيستم متمركز كننده عبور مي‌نمايد تا به صفحه مانيتور برخورد نمايد اين امكان وجود داردكه الكترونها مجدداً از يكديگر دور شوند، زيرا كه هر چند سيستم متمركز كننده قوي باشد براي پيمودن فواصل هر چند كوتاه الكترونهاي متمركز از يكديگر دور مي‌شوند و اين احتمال وجود دارد كه هر چه فواصل بيشتري را طي نمايد الكترونها از يكديگر  دور و پراكنده شوند و قطر بيشتر شود بنابراين بايد در هنگام برخورد به نقاط فسفري موجود در صفحه مانيتور مجدداً متمركز شوند.

مزاياي روش Shadow  mask نسبت به روش beam  penetration  :

1ـ امكان ساخت مانيتورهاي CRT با كيفيت بالا .

2ـ دريافت مستقيم درجه شدت براي تفنگ الكتروني از كامپيوتر و در نتيجه امكان توليد رنگهاي بي‌شمار و نزديك به دنياي واقعي يا طبيعي .

انواع سيستمهاي مختصات دريك سيستم گرافيك كامپيوتري :

1ـ سيستم مختصات محلي يا مدل(local)

سيستم مختصات جهاني  ((world  

3ـ سيستم مختصات نرماليزه

4ـ سيستم مختصات دستگاه نمايش

1 ـ سيستم مختصات محلي يا مدل(local)  :

 سيستمي است كه در آن مختصات نقاط تعيين كننده هر شكل نسبت به يك مبنايي بيان مي‌گردد و در واقع هر شكل مي‌تواند يك سيستم مختصات داشته باشد و مربوط به يك شكل در دنياي واقعي ‌باشد و مي‌توانيم بيش از يك مبدأ مختصات داشته باشيم. اين سيستم براي گرفتن مشخصات وروديهاي سيستم گرافيك كامپيوتري در نظر گرفته مي‌شود مثلاً دو دوربين را در نظر بگيريد كه در دو نقطه مختلف نصب شده‌اند و كار فيلمبرداري را انجام مي‌دهند بنابراين هر دوربين تصاويري را به كامپيوتر ارسال مي‌كند كه نسبت به محل نصب خودش سنجيده است .

 

 

2 ـ سيستم مختصات جهاني :

سيستمي است كه مشخصات كليه اشكال ورودي نسبت به مبناي واحد و يا يك سيستم مختصات عنوان مي‌گردد . بنابراين مختصات تصاوير ارسالي از دوربين فيلم برداري بايستي كه در اين سيستم نسبت به يك مبدأ بيان گردد 

در دو سيستم فوق مختصات ممكن است به صورت اعشاري بيان گردد و براي تمام اشكال يك مختصات تعريف مي كنيم و در واقع مبدا يكي مي شود و بقيه را در آن جاي مي دهيم .

 

3 ـ سيستم مختصات نرماليزه :  

سيستمي كه در آن كليه مختصات طولي و عرضي در بازه [0,1]  بيان مي‌گردد و علت استفاده از آن تسهيل در عمليات محاسباتي و همچنين يک  شكل كردن (scale) براي نمايش نهايي بر روي دستگاه ورودي مي‌باشد .

روش كار:

براي تبديل مختصات اشكال از سيستم مختصات جهاني به سيستم مختصات نرماليزه بايستي تبديلي به شرح زيرصورت  گيرد . براي اين تبديل كافي است كه مختصات طولی اشکال را بر بزرگترين مختصه طولي تقسيم كنيم هم چنين کليه مختصات عرضي اشكال را بربزرگترين مختصه عرضي تقسيم ‌نماييم .

در سيستم مختصات نرماليزه كليه مختصات اشكال در فاصله صفر و يك بيان مي‌گردند  همين امر كمك مي‌كند  پردازش و تبديل عمليات با اعداد كوچكتري صورت پذيرد و هم چنين عملياتscale  نمودن را تسهيل مي‌بخشد .

 

4 ـ سيستم مختصات دستگاه نمايش :

سيستمي است كه خاص هر دستگاه خروجي مانند مانيتور ـ پلاتر ـ پرينتر و .... تعريف شده است و ابعاد آن با توجه به نوع دستگاه خروجي تعيين مي‌گردد واز سيستمي استفاده ميكنند كه متناسب با دستگاه نمايش باشد  .

استانداردهاي سيستم گرافيكي :

1  - : G.K.S General kernel system  

 استانداردي است كه چارچوب كاري را براي اعمال پردازش گرافيكي براي دو بعدي معرفي مي‌سازد .

  :   Polyline ( n, x , y )

: تعداد خطوطn

مختصات طول آرايه : x 

y : مختصات عرض آرايه

اولين و پايه‌دارترين استاندارد است. بيان مي‌كند که چه دستورهايي با چه پارامترهايي بايد در گرافيك استفاده شود. اين استاندارد دستورات ( اسامي، پارامترها، وظايف ) لازم را براي سيستمهاي گرافيكي مشخص مي‌سازد وكاربران موظفند كه عمليات خويش را با قوانين مشخص شده در  استاندارد پياده سازي نمايند .

2 ـ استاندارد phigs   :Programming Hierachical  Interactive Graphics Standard

اين استاندارد توسعه يافته استاندارد  G.K.S  است وبراي گرافيك با كارهاي سه بعدي مي باشد(قابليت حذف سطوح مخفي وسايه زني را ندارد) 

3 ـ استاندارد + phigs :   Programming Hierachical  Interactive Graphics Standard +

اين استانداردتكميل كننده دواستاندارد قبلي است وعلاوه براين عمليات فوق سايه زدن سطوح را نيز مي توان انجام داد.

خروجيهاي مبنا :

  خط : الگوريتم dda و برزنهام

  دايره : الگوريتم برزنهام

  بيضی : الگوريتم برزنهام و نقطه ميانی

خطوط : بيشتر كاربرد هاي گرافيكي بر روال هايي تكيه دارند كه خطوط مستقيم را بر صفحه نمايش ترسيم مي كنند. خطوط مستقيم اجزاي بيشتر تصاوير مي باشند كه موارد زير را شامل مي شود: چند ضلعيها ، منحني ها ( كه مي توانند به صورت سلسله اي از پاره خطهاي كوتاه باشند كه سربه سر به هم متصل هستند) و مناطق پر شده(كه از تعدادي خطوط ممتد تشكيل شده اند).از آنجا كه در گرافيك ويدئويي مكررا از خطوط استفاده مي شود ،براي ايجاد حداكثر قدرت اجرايي در كاربرد هايتان به زير روالهاي ترسيم خط احتياج داريد.

الگوريتم هاي ترسيم خط:

     1-DDA  : رستر ويدئو يك توري مربع شكل از پيكسل ها را نمايش مي دهد كه وقتي به ترسيم خطوط مستقيم يا منحني هاي هندسي اقدام مي كند،شبيه يك غربال الكترونيكي است. بهترين كاري كه مي توانيد بكنيد اين است كه هر خط يا منحني را با گروهي از پيكسل ها طوري تعريف كنيد كه تقريبا به آن نزديك باشد.به فرايندي كه مجموعه پيكسلها در بافر ويدئو را به گونه اي تعيين كند كه براي يك شكل هندسي بخصوص بهترين تقريب باشد,تبديل پويش گويند.نتيجه ظاهري تبديل پويش اين است كه خطوط و منحني هاي هموار رياضي بر روي صفحه نمايش به صورت دندانه دار ظاهر مي شود.

 

آسان ترين راه براي هموار كردن يك خط استفاده از يك غربال ظريفتر است،يعني از حالتهاي ويدئويي يا سخت

افزار نمايش ويدئويي با تفكيك پذيري بالاتر استفاده شود.

ساده ترين راه ترسيم خط استفاده از معادله خط است:

    y = mx +b

M شيب خط وb عرض از مبدا ميباشد .

شيب خط از مختصات دو نقطه خط مي آيد و مقدار ثابتي را در يك معادله خط دارد.

 

 

(( ))

فرض

 (xi+1 ,yi+1)yi+1 =  ( yi , yi+1)

 

 نكته 1: پس با اضافه كردن 1 واحد به طول و m  واحد به عرض يك نقطه ‏به مختصات يك نقطه ديگر از خط مي رسيم .

               اگر 1 >   باشد آنگاه 1 = و  اضافه مي‌كنيم .

اگر شيب خط تند باشد  يعني تغييرات y نسبت به تغييرات x بيشتر است . پس y را يك واحد اضافه كرده و x را طبق فرمول بدست مي آوريم .

 

نكته 2 :

 اگر 1 <   باشد آنگاه  و  اضافه مي‌كنيم .

 

مثال 1: مطلوبست پيكسلهاي ترسيم توسط الگوريتم ترسيم خط dda براي خطي با نقطه انتهايي كدامند . ( 18 و 30)و (10 و 20 )

 

i

xi

Yi

Round(y)

0

20

10

10

1

21

10.8

11

2

22

11.6

12

3

23

12.4

12

4

24

13.2

13

5

25

14

14

6

26

14.8

15

7

27

15.6

16

8

28

16.4

16

9

29

17.2

17

10

30

18

18

 

 

 

مثال2 : مطلوبست پيكسلهاي ترسيم شده توسط الگوريتم ترسيم خط dda براي خطي با نقطه انتهايي كدامند . (22و30 ) ( 10 و 20)

i

xI

YI

Round(x)

0

20

10

20

1

20.83

11

21

2

21.66

12

22

3

22.49

13

22

4

23.32

14

23

5

24.15

15

24

6

24.98

16

25

7

25.81

17

26

8

26.64

18

27

9

27.47

19

27

10

28.3

20

28

11

29.13

21

29

 

مثال 3 : الگوريتم ترسيم خط dda را براي مختصات ( 26 و 16)و (2 و 8 ) رسم كنيد .

 

i

Xi

Yi

Round(x)

0

8

2

8

1

8.33

3

8

2

8.66

4

9

3

8.99

5

9

4

9.32

6

9

5

9.65

7

10

6

9.98

8

10

7

10.31

9

10

8

10.64

10

11

9

10.97

11

11

.

.

.

.

.

.

.

.

.

.

.

.

23

15.59

25

16

24

15.92

26

16

 

 

 

پياده سازي الگوريتم  dda  (پاسکال):

procedure    dda ( xa , ya , xb , yb : integer );

var    dx ,dy , step , k : integer ;

xInc , yInc , x , y : real;

begin

   dx = xb-xa ;

   dy = yb -ya;

   if   ( abs ( dx) > abs ( dy) ) then

   step : = abs ( dx ) ;

  else      step = abs ( dy ) ;

  xInc = dx / steps;

  yInc = dy/ step ;

  x = xa , y =ya;

set pixel ( Round(x), round (y))

 End ;

 End ;

 

 

2ـ برزنهام :

براي مشاهده نحوه كار الگوريتم برزنهام به پاره خطي كه در شكل نشان داده شده توجه كنيد . الگوريتم با تعيين مكرر مختصات y مربوط به هر مقدار x بين x1 تا x2 جلو مي رود. مثلا بعد از ترسيم پيكسل موجود در        ، الگوريتم تعيين مي كند كه كداميك از پيكسل هاي A يا B به خط اصلي نزديك هستند ، و پيكسل نزديكتر را ترسيم مي كند.

 

D : فاصله عمودي خط از نقطه

          پس علامت ‍  به علامت  بستگي دارد .

 

 

 

اثبات :

درفرمول مقابل I را مساوي صفر قرار ميدهيم

=-m

 

مراحل بيان الگوريتم برزنهام :

 مرحله 1 : نقطه شروع را ( ya و xa ) = ( y0 و x0 ) در نظر گرفته سپس

 xa xb =  و

 

 مرحله 2 :  را در نظر گرفته آنگاه بر طبق روابط زير yi+1  و pi+1 محاسبه مي‌گردد .

 else

 

مرحله 3 : مرحله 2 را آنقدر تكرار كرده تا به نقطه انتهايي خط يعني xb  و yb برسيم .

 

مثال 1 : مطلوبست ترسيم پيكسلهاي ترسيم شده براي خطي با ( 10 و 20 ) و ( 18 و 30 ) براي الگوريتم برزنهام

 

Ii

pi

Xi+1

Yi+1

Pi+1

0

6

21

11

2

1

2

22

12

-2

2

-2

23

12

14

3

14

24

13

10

4

10

25

14

6

5

6

26

15

2

6

2

27

16

-2

7

-2

28

16

14

8

14

29

17

10

9

10

30

18

 

 

مثال 2 : مطلوبست ترسيم پيكسلهاي ترسيم شده براي خطي با ( 7 و 1 ) و( 16 و 12 )

 

Ii

pi

Xi+1

Yi+1

Pi+1

0

7

2

8

3

1

3

3

9

-1

2

-1

4

9

17

3

17

5

10

13

4

13

6

11

9

5

9

7

12

5

6

5

8

13

1

7

1

9

14

-3

8

-3

10

14

15

9

15

11

15

11

10

11

12

16

 

 

 

 

 

بيان الگوريتم دايره :( بيان الگوريتمي مربوط به دايره كه مبداء آن مركز مختصات مي‌باشد )

(2,5)  (X-2)2 + (Y-5)2=36

R=5  

          (3,-4 )(X-3)2 +(Y+4)2=25

 

به طور كلي :                   

در ربع اول در دايره Xها اضافه شده و در Y ها يا Yبدون تغيير مانده ويا از Y يكي يكي كم  ميشود .                                         X2+Y2 =R2

اثبات :                                           (XI,,YI)                     XI+1= XI+1 

 

تا مادامي كه  X<Y ويا X=Y ادامه ميدهيم .

 ( x0 , y0) = ( 0 , R )                   

الگوريتم برزنهام براي ترسيم دايره :

در اين روش از معادله دايره اي  با شعاع R كه مركز آن  ( 0 , 0)قرار دارد استفاده ميكنيم.

پس از محاسبه مختصات يك پيكسل مختصات 7 پيكسل ديگر دايره را نيز در دست داريد بنابراين فقط محاسبه پيكسلهاي يك هشتم دايره مورد نياز مي باشد.

 موردي كه براي تكميل الگوريتم مورد نياز است اين است كه آنچه اتمام الگوريتم را مشخص مي كند ، قرينگي دايره است ، يعني وقتي كهx<=y شود.

   1-   نقطه شروع يا زوج مرتب ( R و 0 ) و )  X0, Y0 ) را در نظر بگيريد .

  2-    P=3-2r

   3-  براي هر xI روي دايره و با شروع از تست زير را انجام دهيد .

   4- مرحله 3 را تا زمانيكه   مي‌باشد را ادامه دهيد .

الگوريتم زير را تا زماني ادامه مي دهيم كه x<y باشد .

 

الگوريتم فوق براي دايره‌اي است كه مركز آن منطبق بر مبداء مختصات مي‌باشد. از تقارن دايره براي رسم دايره استفاده مي كنيم .با مشخص كردن يك نقطه روي دايره مي توان هفت نقطه ديگر راروي دايره مشخص كرد.لذا اگر بتوانيم يك هشتم كمان دايره را به دست بياوريم مي توانيم 7/8  دايره را نيز با استفاده از فرمول بالا بدست آوريم .

 

پس سعي ما بر اين است كه بتوانيم  1/8 دايره را رسم كنيم .

نكته : براي ترسيم دايره‌اي كه مختصات مركزش) X0,Y0 ) مي‌باشد و معادله‌اش  ابتدا مطابق الگوريتم فوق مركز دايره را مبداء مختصات رسم كرده و دايره را رسم مي‌كنيم سپس با جابجايي دايره به  ميزان)  Xc, Yc ) رسم مي‌گردد

 

مثال : مطلوبست ترسيم دايره‌اي كه به معادله   

 

 

Y

X

 

i

17

-4

-15

12

1

-21

0

17

-3

-5

12

2

-15

1

17

-2

9

12

3

-5

2

17

-1

-17

11

4

9

3

16

0

5

11

5

-17

4

16

1

-9

10

6

5

5

15

2

21

10

7

-9

6

15

3

19

9

8

21

7

14

4

 

 

18

9

19

8

ماداميكه x<y است كار را ادامه مي دهيم.

 

مثال : مطلوبست ترسيم دايره‌اي كه به معادله 100 = (x 2 ) 2+ ( y+4 )2 با استفاده از الگوريتم برزنهام      (1/8 دايره كافيست )

R=100 , ( xc-yc) = ( 2 , -4 )

(X0 , Y0 ) = (0 , 10         P0 = 3 2r = 3 2 (10)= -17

( تا وقتيكهx است ادامه مي‌دهيم )

 

I

pi

XI+1

YI+1

PI+1

0

-17

1

10

-11

1

-11

2

10

-1

2

-1

3

10

13

3

13

4

9

-5

4

-5

5

9

17

5

17

6

8

11

6

11

7

7

-----

 

 

 

 

 

 

 

x

Y

 

 

X

Y

0

10

 

 

2

6

1

10

 

 

3

6

2

10

 

 

4

6

3

10

 

 

5

6

4

9

 

 

6

5

5

9

 

 

7

5

6

8

 

 

8

4

7

7

 

 

9

3

 

مثال : مطلوبست ترسيم1/8 دايره‌اي كه به معادله (x+2)2+ ( y+3 )2=64 است .

R2=64          R=8                       ( XC ,YC ) =(-2 , -3 ) 

) = ( 0 , 8 )          p0=3-2r=3-2 (8)=-13 X0, Y0 )

I

Pi

XI+1

YI+1

PI+1

0

-13

1

8

-7

1

-7

2

8

3

2

3

3

7

11

3

-11

4

7

7

4

7

5

6

5

5

5

6

5

-----

          

X

Y

 

 

X

Y

 

 

 

 

 

 

0

8

 

 

-2

5

1

8

 

 

-1

5

2

8

 

 

0

5

3

7

 

 

1

4

4

7

 

 

2

4

5

6

 

 

3

3

6

5

 

 

4

2

 

 

الگوريتم رنگ زدن سطوح (پركردن سطح) :

                                                                                                             scan  line   1-

                                                                                                      Boundry  Fill    2-

 

1-    الگوريتم scan   line :

براي رنگ زدن سطوح خاص از يك فرمول رياضي استفاده مي‌كند مانند دايره ، بيضي ، مربع. ايدة روش براين اساس است كه خطوطي موازي هم و مجاور يكديگررا رسم مي كنيم و رنگ سطح خواسته شده  را از روي شكل عبور مي دهيم براي اينكار نقاط مشخصه شكل را براساس عرض آنها از بزرگ به كوچك مرتب مي كنيم و اين خطوط موازي همه به معادلة y=m بوده كه y>m   ( y نقطه‌اي كه بيشترين عرض را دارد ) مي‌باشد . خطوط موازي افقي داخل شكل را با رنگ مورد نظر رسم مي كنيم بيشترين عرض را از بزرگ به كوچك مرتب مي كنيم.                     Ya, Yb, Yc                            

و سپس يكي كمتر از عرض بيشترين را تا يكي بيشتر از عرض كمترين را رسم مي كنيم .

X از راسي كه بيشترين عرض را دارد شروع و تاراسي كه كمترين عرض را دارد ادامه مي دهيم.

1                                                      )  Y=Ya+1

                                            :::::::::

                                         2)  Y=Yc+1

معادله خط را بايد داشته با شيم كه در اينجاy =y-1    است و همچنين معادله دو خطي كه اين خط را قطع مي كند نيز بايد داشته باشيم كه در اينجا خط   ACوAB هستند سپس خط ACوAB را با خط  شماره 1   تلاقي مي دهيم و سپس شروع و خاتمه تمام خطوط را به دست مي آوريم .

 

روش كار:

1-  رئوس شكل بر اساس مختصاتY بصورت نزولي مرتب مي شوند .

2-  فرض كنيد در ليست مرتب فوق راس A بيشترين عرض و راس B كمترين عرض را داشته باشد بنابراين كافيست خطوطي كه از معادله Y=Ya-1 شروع ميشود تا  Y=Yb+1 ترسيم شوند .

3-  براي ترسيم هر خط بايستي كه مختصات دونقطه ابتدايي و انتهايي خطوط مشخص شود در خطوط مرحله قبل بايد طول نقاط شروع و پايان مشخص شود .

كافيست براي مشخص كردن طول نقاط ابتدا و انتهاي هر خط تلاقي آن خط را با معادله اضلاعي از شكل كه  تلاقي دارند را بيابيم براي پيدا كردن معادله هر ضلع مختصات دو نقطه ابتدا و انتهاي آن را از رابطه    استفاده كرده و  معادل آن ضلع را به دست مي آوريم و سپس با تلاقي دادن دو خط مختصات تلاقي آن دو نقطه به دست مي آيد به اين روش نقاط تلاقي اضلاع به دست مي آيد  . 

طول نقطه ابتدايي برابر است با طول نقطه تلاقي سمت چپ +1

و طول نقطه پاياني برابر است با طول نقطه تلاقي سمت راست 1

روش دوم : 

خطوط موازي y = m   اگر Ymax>m (Ymax  نقطه اي كه بيشترين عرض را دارد .)

 (Ymin  نقطه اي كه كمترين عرض را داشته باشد .)

  اين خطوط از چپ به راست سطح شكل مورد نظر را پيمايش كرده و فقط وقتيكه از روي سطح شكل مي‌گذرند روشن است و در خارج از سطح شكل خاموش مي‌باشد .

هر كدام از اين خانه‌ها يك پيكسلند .

 

در واقع ما دنبال (xp , yp) الگو هستيم.

نقطه مرجع ( XF, YF )

 

نكته : نقطة مرجع مي‌تواند خارج از شكل هم باشد .

setpixel ( x,y, pattern [ IY , IX]( ;                                                                                                                     

از اين الگوريتم براي اشكال دو ماده‌اي مانند دواير ، بيضی‌ها و .... استفاده مي‌شود .

2-الگوريتم  Boundry Fill  :  كارايي آن براي اشكال پيچيده و گرافيكي مي باشد .       

           1 ـ همسايگي‌هاي 4 مرتبطه                          BF4

          2ـ همسايگي‌هاي 8 مرتبطه       BF8 

 

BF4    (x-1,y)غرب      (x+1,y)شرق                   BF8      (x-1,y+1)شمال غربي  

  (x+1 , y-1 )جنوب شرقي                     (x,y+1)شمال      (x,y-1)     جنوب

      (x+1,y+1)     شمال شرقي  ( x-1 , y-1)شمال غربي    

 

نكته : ازطريق همسايگي‌ها ي 4 مرتبطه ( BF4 ) مي‌توانيم به همسايگي‌هاي 8 مرتبطه (BF8 ) و از طريق هر دو مي‌توانيم به همسايگي‌هاي ديگر دسترسي پيدا كنيم .

نكته :   

   1ـرنگ مرزشكل حتما ًبايد مشخص باشد.                                    

   2ـ منحني حتماً بايد بسته باشد .

الگوريتم رنگ سطح : ( پروسيجر بازگشتي BF4 ) :

 پياده سازي به روش Boundry Fill

Procedure           BF4 ( x,y , FC, BC . INTEGER );

Var

رنگ فعلی                          Preset _ color : integer ;

Begin

Preset_ color : = get pixel (x,y) ;

If     (Preset_ color <> FC) and (Preset_ color <> BC)    Then

اگر شکل هم رنگ مرز احاطه کننده باشد نبايد رنگ بزند.                          Begin

Set pixel ( x,y,Fc) ;

BF4( x-1,y,FC,BC) ;

BF4 (X,Y+1 ,FC,BC);

BF4( x+1,y,FC,BC);

BF4 (X,Y-1 ,FC,BC);

End;

 End;

نكته:  

 1-   FC ( Fill color ) : شماره رنگي است كه شكل را مي‌خواهيم با آن رنگ كنيم .

  2-    BC ( Boundry color ) : شماره رنگ مرزشكل مي‌باشد .

  3-    get pixel   : مشخصات را گرفته و رنگ را بر مي‌گرداند .

  4-    اين تابع رنگ مرز شكل را تغيير نمي دهد .

نكته مهم : اگر بخواهيم رنگ مرز شكل كه تابع قبل تغيير نمي‌دهد را هم رنگ سطح كنيم بايد به روش زير عمل كنيم :

 

procedure   BF4 (X,Y ,FC , Bc, integer );

.

.

end ;

  if (Preset_ color = BC( then

    Set pexel ( x,y,Fc) ;

 End ;

روش 2   )پرسيجر بازگشتي) :

            BF8:

 

Procedure           BF8 ( x,y , FC, BC . INTEGER );

....

....

....

Begin

 

Set pixel ( x,y,Fc) ;

 

BF8( x-1,y,FC,BC) ;

BF8 (X,Y+1 ,FC,BC);

BF8( x+1,y,FC,BC);

BF8 (X,Y-1 ,FC,BC);

BF8( x+1,y+1,FC,BC);

BF8( x+1,y-1,FC,BC);

BF8( x-1,y-1,FC,BC);

BF8( x-1,y+1,FC,BC);

   End;

 End.

 

 

نكته : شكل روبرو را با يك نقطه داريم به كمك الگوريتم BF4 و BF8 شكل را چگونه رنگ آميزي كنيم ؟

نكته: در BF4 شكل اولي فقط رنگ مي‌شود و شكل دومي رنگ نمي‌شود و با BF8 هر دو شكل رنگ مي‌شوند.

 

BF8

 

BF4