برق، الکترونیک، الکتروتکنیک، مکاترونیک، پزشکی، کشاورزی

برق، الکترونیک، الکتروتکنیک، مکاترونیک، پزشکی، کشاورزی و

برق، الکترونیک، الکتروتکنیک، مکاترونیک، پزشکی، کشاورزی

برق، الکترونیک، الکتروتکنیک، مکاترونیک، پزشکی، کشاورزی و

داده هایی در مورد برق، الکترونیک، الکتروتکنیک، مکاترونیک، پزشکی، کشاورزی و

تبلیغات
آخرین نظرات

۱ مطلب با کلمه‌ی کلیدی «لنز مناسب برای دوربین مداربسته» ثبت شده است

واژه نامه گرافیک و پردازش تصویر

ShahBaz | يكشنبه, ۱۰ آبان ۱۳۹۴، ۰۹:۵۵ ب.ظ

واژه نامه گرافیک( قسمت اول )
احسان کامرانی ( استفاده از این مقاله با ذکر نام نویسنده و منبع بلا مانع است )توجه: تصاویر این مقاله در آلبوم تصاویر قرار دارد .

مقدمه
دراین سری از مقالات قصد دارم تا به بررسی مفاهیم اولیه گرافیک و تکنیکهای پرکاربرد گرافیکی مورد استفاده در بازیهای رایانه ای بپردازم. مفاهیم و تکنیکهای معرفی شده دراین مقالات، تنها به بازیهای رایانه ای محدود نمی شوند. به عنوان مثال هنگام کار با نرم افزارهایی نظیر 3DS Max یا فتوشاپ نیز به بسیاری از این واژه ها برخورد می کنید. مفاهیم معرفی شده در این مقاله ، به ترتیب حروف الفبا تعیین نشده اند.

رنگ
مفهوم رنگ در گرافیک کامپیوتری بارنگ در دنیای واقعی متفاوت است. به عنوان مثال اگر دردنیای حقیقی سه رنگ سبز، قرمز و آبی را بایکدیگر داخل کنید رنگ قهوه ای لجنی بدست می آید؛ درحالی که ترکیب این سه رنگ در کامپیوتر، باعث ایجاد رنگ سفید می شود. علت این امر آنست که رنگها در کامپیوتر اثر یکدیگر را خنثی می کنند؛ درحالی که در نقاشی دستی، رنگها با یکدیگر ترکیب می شوند.رنگهای اصلی درجهان حقیقی عبارتند از قرمز، زرد و آبی. این وضع در مورد رنگهای اصلی بکار رفته در کامپیوتر صادق نیست. در گرافیک کامپیوتری رنگهای اصلی عبارتند از قرمز، سبز و آبی. این سه رنگ به سه تایی های  RGB معروف هستند. در گذشته از پالتهای رنگ به جای سه تایی های RGB استفاده می شد. پالتها شامل 256 رنگ بودند. با پیشرفت تکنولوژی، سه تایی های RGB جایگزین پالتها شدند و به دلیل افزایش وسعت طیف رنگها( 16 یا 32 میلیون رنگ)، منجر به افزایش قابل ملاحظه ای در کیفیت گرافیک کامپیوتری شدند. رنگهای تصویر1 ، از ترکیب سه تایی های RGB پدید آمده اند.

پیکسل
کوچکترین واحد برای پردازش گرافیک است. هر پیکسل، یک مربع مستطیل بسیار کوچک است که شامل اطلاعاتی نظیر عمق، رنگ، آلفا و... می باشد (برای اطلاعات بیشتر در مورد این سه اصطلاح، قسمتهای رنگ ، بافر عمق، کانال آلفا و درهم آمیزی آلفا را ملاحظه کنید). هرگاه می گوییم دقت صفحه یک بازی برابر 600× 800 است در واقع بیان می کنیم که این تصویر دارای 240000 =600×800 پیکسل است. افزایش تعداد پیکسلها (بالارفتن دقت صفحه نمایش)، نیازمند پردازش بیشتری است. به علاوه کارتهای گرافیکی و مانیتورها در نمایش تعداد پیکسلها دارای محدودیتهایی هستند. برای تعیین بیشترین میزان دقت پشتیبانی شده توسط مانیتور یا کارت گرافیکی، دفترچه مربوط به مانیتور و کارت گرافیکی خود را مطالعه کنید.

مانتیور گرافیکی(Graphics monitor)
مانیتورهای مورد استفاده در سیستمهای خانگی، مانیتورهای گرافیکی هستند. سطح داخلی صفحه مانیتورها، دارای یک سری سلولهاست که به رنگهای قرمز، سبز و آبی حساسند. همچنین هر مانیتور، دارای سطرهای افقی است که با دقت در مانیتور می توانید آنها را ملاحظه کنید. در داخل مانیتور، یک تفنگ الکترونیکی وجود دارد که با حرکت خود منجر به نوشتن داده های تصویری در روی سطح داخل صفحه مانیتور می شود. نوشتن داده های تصویر در مانیتور از چپ به راست و از بالا به پایین صورت می گیرد. به این صورت که تفنگ الکترونیکی از گوشه بالایی سمت چپ مانیتور کار خود را آغاز کرده و پس از تاباندن اشعه به سلولهای سطر اول، به سطر دوم مانیتور رفته وهمین کار را تا سطر آخر ادامه  می دهد. سپس تفنگ الکترونیکی دوباره به سطر اول رفته و این روند راتکرار می کند. به این عمل، احیای تصویر (Refresh ) می گوییم.

نرخ احیاء(Refresh Rate)
به تعداد دفعات احیای تصویر در مانیتور، نرخ احیا (Refresh Rate) می گوییم. مفهوم نرخ احیا با مفهوم نرخ فریم (frame Rate) متفاوت است.

نرخ فریم (Frame Rate)
در داخل کارتهای گرافیکی بافری به نام بافر اصلی (Frame Buffer) وجوددارد. غالبا این بافر شامل بافر جلویی و بافر عقبی می باشد. البته درکارتهای گرافیکی جدید این بافر شامل یک بافر جلویی و دو بافر عقبی می باشد. اطلاعات تصویری، برای تعداد دفعاتی که به قدرت پردازش کارت گرافیکی وابسته است در بافر عقبی نوشته می شوند. در هر بار نوشته شدن اطلاعات دربافر عقبی، داده های بافر عقبی در بافر جلویی نوشته می شوند. این بافر جلویی شامل همان اطلاعاتی است که شما در صفحه نمایش خود می بینید. هر چه جلوه های ویژه صحنه ها بیشتر باشد کارت گرافیکی به پردازش بیشتری نیازمند است. از این رو برخی کارتهای گرافیکی نمی توانند صحنه ها رابا سرعت لازم پردازش کنند و لذا تصویر مشاهده شده، به صورت تکه تکه خواهد بود. نرخ فریم 60FPS یک نرخ فریم قابل قبول است. این بدان معناست که کارت گرافیکی می تواند داده ها را به تعداد 60 بار در هر ثانیه در بافر اصلی بنویسید. این به این معنا نیست که مانیتور شما نیز داده ها را به تعداد 60 بار در ثانیه احیا می کند. تعداد دفعات احیای تصویر در مانیتور به فرکانس  مانیتور بستگی دارد. به عنوان مثال منظور از فرکانس 85 Hz  آنست که مانیتورمی تواند در هر ثانیه تصویر را به تعداد 85 بار بازنویسی کند( با استفاده حرکتهای متوالی تفنگ الکترونیکی). از اینرو ممکن است نرخ فریم و نرخ احیا با یکدیگر برابر نباشند. به عنوان مثال اگر نرخ فریم از نرخ احیا کمتر باشد مانیتور، یک تصویر موجود در بافر گرافیکی را برای بیشتر از یک بار احیا می کند. به علاوه ممکن است نرخ احیای مانیتور کمتر از نرخ فریم باشد. این وضع زمانی رخ می دهد که فرکانس مانیتور کمتر از نرخ فریم باشد. به عنوان مثال فرض کنید نرخ احیای مانیتور برابر 60Hz است. دراین حالت اگر کارت گرافیکی بتواند داده های تصویر را برای بیش از 60 بار در بافر بنویسید، نرخ احیای مانیتور، آن را به 60 بار محدود می کند. پس به عنوان یک قانون کلی نرخ احیای مانیتور ممکن است باعث محدود شدن نرخ فریم شود؛ ولی نرخ فریم نمی تواند باعث محدود شدن نرخ احیای مانیتور شود.

کانال آلفا
درکنار سه رنگ RGB ، گهگاه کانالی به نام کانال آلفا قرار می گیرد. دراین حالت سه تایی RGB ، تبدیل به چهار تایی RGBA می شود. برخلاف رنگهای قرمز، سبز و آبی، کانال آلفا یک رنگ نیست؛ بلکه یک کانال تضعیف کننده رنگ است. کانال آلفا برای شفاف سازی تصاویر وگهگاهی حذف قسمتهایی از تصویر بکار می رود. یکی از کاربردهای کانال آلفا ، شبیه سازی درختان به صورت تصاویر دو بعدی است. به عنوان مثال درخت تصویر 2 را در نظر بگیرید. با استفاده از کانال آلفا می توان قسمت سیاه را حذف کرده و درختها را نظیر تصویر3 در بازی بکار برد. به این صورت که قسمتهایی از تصویر 2 که دارای رنگ سیاه است دارای کانال آلفای 0 و قسمتهای دیگر دارای کانال آلفای 1 خواهند بود. قسمتهایی از این تصویر که دارای کانال 0 هستند (قسمتهای سیاه) ترسیم نخواهندشد. از اینرو فقط عکس درخت در بازی دیده میشود و نه نواحی سیاه اطراف آن. از دیگر کاربردهای این کانال می توان به شبیه سازی دوربین در بازیهای جنگی اشاره نمود. در این حالت کانال آلفا یک ماسک است که منجر به نمایش قسمتی از صحنه و عدم نمایش قسمتی از صحنه می شود( تصویر 4 ). یکی دیگر از کاربردهای عمومی کانال آلفا، ایجاد اشیای نیمه شفاف نظیر پنجره ها، شیشه ها و ... است. در این حالت برای ایجاد یک شی نیمه شفاف ، کانال آلفای آن را در یک مقدار میانی تعیین می کنند. در تصویر 5 برای شفاف سازی نور اطراف چراغها از کانال آلفا استفاده شده است.

درهم آمیزی آلفا(Alpha blending)
درهم آمیزی آلفا به معنای شفاف سازی یک تصویر و سپس در هم آمیختن رنگهای آن باصحنه است. به عنوان مثال فرض کنید که درحال اجرای بازی هستید و کلید ESC را می فشارید. این عمل باعث ایجاد یک منو می شود. اغلب منوها حالت شفاف دارند؛ به این معنا که یک صحنه محورا در زیر این منو می بینید. این شفاف سازی به Alpha blending موسوم است.
درهم آمیزی آلفا در ایجاد اشیای نیم شفاف نظیر پنجره ها، شیشه ها، آب درون استخر ، منوها و... بسیار کاربرد دارد. در تصویر 6 از کانال آلفا برای شفاف سازی قوری استفاده شده است.  تصویر 7 از بازی Nfs Underground نیز به نمایش یک منوی نیمه شفاف می پردازد.

در هم آمیزی
درهم آمیزی بدون کانال آلفا نیز امکان پذیر است. در این حالت رنگ یک صحنه با رنگ صحنه دیگر ادغام می شود. عمل در هم آمیزی دو صحنه، به صورت پیکسل به پیکسل صورت می گیرد. بدین معنا که رنگ های قرمز، سبزو آبی از هر پیکسل یک صحنه، با رنگهای قرمز، سبز و آبی پیکسل متناظر صحنه دیگر ترکیب می شوند. تصویر 8 که مربوط به بازی Delta Force است برای ایجادیک دوربین ماورای بنفش، از درهم آمیزی استفاده کرده است. بدین صورت که یک رنگ سبز به صحنه تیره اضافه شده وبه قسمتهای بیرون دایره ،رنگی اضافه نشده است. بنابراین قسمتهای بیرون دایره تیرگی خود را حفظ کرده اند.

نور
نور ،یک عنصر بسیار مهم در بازیهای رایانه ای وگرافیک کامپیوتری است. یک نورپردازی خوب می تواند یک صحنه بد را بسیار زیباتر کند ویک نورپردازی بد می تواند زیباترین صحنه ها را به زشت ترین مناظر تبدیل کند. در محیطهای گرافیکی از نورهای متفاوتی استفاده می شود: نورهای واقعی، نورهای شبیه سازی شده توسط رنگها، نگاشت نور( light map) و... .منظور از نورهای واقعی همان نورهایی هستند که در محیط واقعی با آنها سروکار داریم .OpenGL  برای شبیه سازی نورهای واقعی از مدل فنگ استفاده می کند. در OpenGL  حداکثر می توان هشت منبع نور را تعریف کرد. نورها می توانند دارای رنگهای متفاوتی باشند. تصویر9 چند نور با رنگهای مختلف را در یک اتاق نشان می دهد. منظور از انواع مختلف نور واقعی آنست که هر منبع نور می تواند به صورت یکی از این انواع یا ترکیبی از آنها باشد. مثلا یک لامپ می تواند هم یک منبع نور پخشی وهم یک منبع نور انعکاسی باشد. در ذیل انواع مختلف منابع حقیقی نور را ملاحظه می کنید. 
الف)نور محیطی: این نور میزان روشنایی کل محیط را تعیین می کند. برای تصور این مطلب مکعبی را در نظر بگیرید که در اطراف آن لامپهای بسیاری قرار گرفته است. کل این سطوح مکعب به طور یکنواخت روشن می شوند و از اینرو جهت سطح مکعب تاثیری در میزان روشنایی آن ندارد. یک نور محیطی هیچ سایه ای را ایجاد نمی کند. کل اشیا به طور یکنواخت روشن می شوند .معمولا دربازیها، یک نور محیطی با میزان روشنایی دلخواه قرار داده می شود که می تواند کل محیط را به طور یکنواخت و به میزان خاصی روشن کند .در تصویر 10 منبع نور از پنجره به اتاق می تابد. قسمتهایی از مبلها که نور به آنها برخورد نمی کند به رنگ خاکستری هستند. قسمتهایی که نور به آنها برخورد می کند به رنگ زرد درآمده اند. قسمتهای خاکستری، در واقع نور محیطی هستند( وجه رو به دوربین درتصویر 10 ).
ب)نور پخشی: نوری است که از جهت خاصی به اشیاء می تابد. به عنوان مثال یک لامپ در داخل یک اتاق، یک نور پخشی است. خورشید نیز که به زمین می تابد و قسمتی از زمین را روشن می کند نیز یک نورپخشی است. دراین حالت جهت برخورد پرتوها و نحوه قرارگیری سطوح، در میزان روشن شدن سطوح تاثیر دارد. در تصویر 10 ، منبع نوری که از پنجره به اتاق می تابد، یک منبع نور پخشی است. همانطور که ملاحظه می کنید، جهت سطوح مبلها و دیوارها درمیزان روشن شدن آنها تاثیر گذاشته است.
ج)نور انعکاسی : یک نور بسیار قوی است که به سطح اشیاء می تابد. دراین حالت قسمتی از اشیاء بسته به میزان صیقلی بودن آنها به میزان خاصی برق می زنند. از اینرو یک شی آهنی که نور انعکاسی به آن برخورد می کند بیشتر از یک شی پلاستیکی برق می زند. تصویر 11 اتوموبیلی را نشان می دهد که قسمتهایی از آن به دلیل وجود نور انعکاسی کاملا برق می زنند. 
د)نگاشت نور(light map) : نگاشت نور برخلاف حالتهای قبلی، نور واقعی را "شبیه سازی" می کند. از اینرو این نوع نور، یک نور مجازی است و نیازی به محاسبات ریاضی ندارد. باتوجه به محدودیت نورهای حقیقی در برنامه نویسی و نیز میزان محاسبات بالای نورهای واقعی، نگاشت نورکاربرد بسیاری دارد. این نوع نور، برای شبیه سازی نور موجود درروی دیوارها و کف اتاقها، خیابانها و.... بکار می رود. روش کار به این شکل است که تصویر یک نور که غالبا به شکل یک دایره است بر روی سطح دیوار یا کف خیابان قرار می گیرد. در این عمل از درهم آمیزی آلفا نیز استفاده می شود. در تصویر 12 تمامی نورهای موجود در روی دیوارها با استفاده از این روش شبیه سازی شده اند.

مشخصات ماده
هر شی، نظیر نورهای واقعی، دارای مشخصات محیطی پخشی وانعکاسی می باشد. هر یک از این مشخصات، نحوه پاسخ شی به یک نوع خاص از نور را مشخص می کند. به عنوان مثال مشخصات محیطی(Ambient) ماده نشان دهنده نحوه فعل وانفعال ماده با نور محیطی است. رنگ هر ماده غالبا با مشخصات پخشی تعیین می شود. به عنوان مثال فرض کنید که یک نور پخشی سفید در صحنه وجود دارد و مشخصات پخشی یک ماده به گونه ای تعیین شده است که رنگ قرمز آن در بیشترین مقدار و رنگ سبز وآبی آن درکمترین مقدار (مقدار صفر) تنظیم شود. این بدان معناست که این شی می تواند رنگ قرمز مربوط به نور پخشی را بازتاب کند. این رنگ بازتاب شده نشان دهنده رنگ شی است. به بیان دیگر دراین مثال رنگهای سبز و آبی ارسال شده ازنور، توسط شی جذب می شود ورنگ قرمز بازتاب می شود و لذا شی مثال ما به رنگ قرمز خواهد بود. این یکی از دلایلی است که در بازیها، اشیا با رنگهای متفاوتی دیده می شوند. عامل دیگر تفاوت رنگ اشیا، رنگ تکسچر آنهاست. در تصویر 13به تمامی اشیا یک رنگ سفید تابیده شده است؛ ولی از آنجا که این اشیا دارای مشخصات پخشی متفاوتی هستندبه رنگهای مختلفی دیده می شوند.

تکسچر
تکسچر به معنای تصاویری است که در روی اشیا قرار می گیرند. گرافیست ها برای ایجاد یک محیط واقعی، اشیا را ایجاد کرده و تصاویر را به آنها می چسبانند. به عنوان مثال برای ایجاد یک اتاق ابتدا یک مکعب را ایجاد کرده و سپس تصاویری را در روی کف، سقف و دیوارهای آن قرار می دهند. علت نامگذاری تکسچر(texture) ، ترکیب دوکلمه texel و picture است (texel picture =texture). textel در واقع همان پیکسلهای تصویرهاست که برای تمایز آنها از پیکسلهای صفحه نمایش، به آن تکسل می گویند. در OpenGL ابعاد تکسچرها باید توانی از دو باشد؛ در غیر این صورت OpenGL ابعاد تکسچر را به نزدیکتر عددی که توانی از 2 باشد تبدیل می کند. مثلا تصویری با ابعاد 128  ×328 توسط OpenGL به تصویری با ابعاد 128 ×256 تبدیل می شود. اعداد 128  و 256 هردو توانی از 2 هستند. تصویر 14 تکسچری را نشان می دهد که پس از قرارگرفتن در روی یک کره، تصویر کره زمین را شبیه سازی می کند(تصویر 15).

مه ومه حجمی
مه(fog) درگرافیک به همان معنایی است که در محیطی واقعی دیده می شود. تنها تفاوت در آن است که مه موجود در جهان حقیقی غالبا به رنگ خاکستری است؛ درحالی که مه در گرافیک می تواند به هر رنگی باشد. در برنامه نویسی روشهای مختلفی برای شبیه سازی مه وجود دارد. به عنوان مثال در OpenGL سه نوع مه خطی ، نمایی و توان دوم نمایی وجود دارد که با یکدیگر تفاوت دارند. به طور کلی منظور از مه معمولی آنست که اشیای نزدیکتر قابل مشاهده باشند واشیای دورتر محوتر ومحوترشوند تادر نهایت، اشیای دور قابل مشاهده نباشند. میزان دید بیننده و نحوه محو شدن اشیا، به پارامترهای مورد استفاده درتعیین مه بستگی دارد. تصویر 16 منظره ای را بایک مه سبز رنگ نمایش می دهد( به خاطر داشته باشید که بازیهای کامپیوتری می توانند دنیاهای غیر واقعی را شبیه سازی کنند). مه حجمی (Volumetric Fog) با مه معمولی متفاوت است. مه حجمی باعث می شود تا قسمتی از یک صحنه محو باشد. به عنوان مثال ممکن است یک اتاق دارای گرد وغبار باشد و اشیا در آن محو باشند یا ممکن است قسمتهایی از یک تونل دارای مه بوده و قسمتهای دیگر فاقد مه باشند. دراین حالت قسمتهای اطراف مه حجمی محو هستند و قسمتهای دیگری که شامل مه حجمی نیستند واضح خواهند بود. تصویر 17 از بازی Serious sam یک مه حجمی قهوه ای رنگ را نشان می دهد. دراین بازی به وفور از این تکنیک استفاده شده است.

بیلبورد(Billboarding)
در بسیاری از مواقع از تصاویردو بعدی به همراه یک کانال آلفا برای شبیه سازی اشیای سه بعدی استفاده می شود. به عنوان مثال می توان از یک تصویر درخت برای نمایش یک درخت سه بعدی استفاده کرد. با این حال برای واقعی شدن نتیجه کار مایل هستیم تا تصویر درخت همواره روبه دوربین باشد. دراین حال با چرخش دوربین، تصویر درخت نیز به گونه ای می چرخد که روبه دوربین قرارگیرد. به این عمل بیلبورد گفته می شود. تصویر 3 درختهایی را نشان می دهد که با استفاده از این روش ساخته شده اند و با توجه به گرافیک دوبعدیشان همگی  روبه دوربین جهت گیری کرده اند و ظاهر آنها همواره سه بعدی به نظر میرسد.

Particle systemسیستمی است که برای شبیه سازی جلوه های ویژه ای نظیر انفجار، آتش، دود، آبشار و... بکار می رود. علت آنکه به آن سیستم مبتنی بر ذره می گویند آنست که این جلوه های ویژه از ذرات متعددی تشکیل می شوند. هر ذره (مثلا یک قطره آب از یک آبشار) توسط یک تصویر دوبعدی یا عناصر ساده ای نظیر نقطه ایجاد می شود. در صورتی که برای مدلسازی هر ذره، از یک تصویر دو بعدی استفاده شده باشد معمولا توسط در هم آمیزی و برش آلفا قسمتهایی از این تصویر دو بعدی حذف می شود.به علاوه هر یک از این ذره ها می توانند دارای مشخصات خاص خود نظیر رنگ، سرعت حرکت و... باشند. از ترکیب این ذره ها(مثلا چند صد ذره) با یکدیگر یک شکل خاص نظیر مدل دود، آتش وآبشار بدست می آید. در تصویر 18 تمامی جلوه های ویژه مربوط به آتش، دود و انفجار توسط Particle system شبیه سازی شده اند. در تصویر19 نیز بارش برفها بوسیله Particle system ایجاد شده است.


دوربین مداربسته، دزدگیر اماکن،محاسبه لنز دوربین مداربسته، قفل الکترونیک، برق اضطراری، پارس گارد

  • ShahBaz