تبليغاتX
OpenGL & Computer graphics - مقالات آموزشی گرافیک کامپیوتری و سه بعدی ( قسمت اول)

مقدمه ای بر گرافیک کامپیوتری :

 

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

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

 

CRT وارد میشود :

 

کاغذ به عنوان یک خروجی متوسط برای کامپیوترها مفید است و استفاده از آن تا امروز هم تداوم یافته. پرینتر های لیزری و جوهر افشان امروزه هنر چاپ حروف اسکی را بخاطر کیفیت بالا و نزدیک به واقیت شان از بین برده است.بهر حال مصرف کاغذ میتواند ولخرجی در منابع طبیعی باشد مخصوصا به این دلیل کهدر بیشتر اوقات ما نیاز به یک کپی چاپی از محاسبات اطلاعاتی مان نداریم.

لامپ اشعه کاتدی یک افزودنی لازم برای کامپیوترها بود. مانیتو های CRT اولیه در آغاز تنها خروجی هایی برای تصاویری بودند که تنها حروف اسکی را نمایش میداد. اما CRT ها بطور کلی توانایی بالای در رسم نقاط و خطوط داشتند درست مانند کارکترهای حروف. به زودی نشانه ها و تصاویر دیگری شروع به اضافه شدن به مجموعه کاراکترهای خروجی شدند. برنامه نویسان از کامپیوترها و مانیتورهایشان برای خلق تصاویری که به متون و جدول ها ضمیمه میشدند کردند. اولین الگوریتم ها برای خلق خطوط و منحنی ها توسعه یافت و منتشر شد. گرافیک کامپیوتری به چیزی بیشتر از سرگرمی تبدیل شد. اولین گرافیک های کامپیوتری که بر روی این خروجی ها نمایش داده میشد دو بعدی ( 2D ) بودند. این خطوط و دایره ها و چندضلعی ها برای طراحی گرافیکی برای مقاصد گوناگون استفاده میشدند. نمودارها و رسم ها میتوانستند اطلاعات علمی و آماری را نمایش دهند.

به صورتی که جداول و اشکال نمیتوانستند. بسیاری از برنامه نویسان ماجراجو توانستند بازیهای ساده ای نظیر Lunar Lander ویا Pong را طراحی کنند که با خطوط ساده ای طراحی شده بودند که چندین بار در ثانیه ریفرش میشدند.

 

اصطلاح Real-time اولین بار به تصاویری که متحرک بودند اطلاق شد. یک استفاده گسترده از کلمه در علم کامپیوتر که به این معناست که کامپیوترها میتوانند اطلاعات را با همان سرعتی که وارد میشوند و حتی سریعتر پردازش نمایند. برای مثال تلفن زدن یک عمل real-time است که انسانها در آن شرکت دارند. شما صحبت میکنید و شنونده فورا صدای شما را میشنود و به آن واکنش نشان میدهد. و به شما این اجازه را میدهد که حرفهای او را شنیده و واکنش نشان دهید و همینطور الی آخر. در حقیقت یک تاخیری به علت مسائل الکترونیکی وجود دارد اما این تاخیر معمولا برای کسانی که مشغول مکالمه هستند جزیی میباشد. در مقام مقایسه نوشتن نامه یک عمل real-time نیست.

 

بکارگیری اصطلاح real-time برای گرافیک کامپیوتری بدین معناست که کامپیوتر در حال ارائه کردن یک انیمیشن یا رشته ای از تصاویر است که بی درنگ به بعضی از ورودی ها واکنش نشان میدهد. مانند حرکت دادن جوی استیک و یا ضربه زدن به صفحه کلید و الی آخر. گرافیک کامپیوتری بلادرنگ

Real-time میتواند خروجی های قابل خواندن عددی یا بازیهای اینتراکتیو و شبیه سازیهای مجازی را نمایش دهد.

پیش به سوی سه بعدی : اصطلاح سه بعدی یا 3D به این معناست که یک شئ در حال نمایش سه بعد قابل اندازه گیری دارد طول و عرض و عمق. یک مثال برای یک شئ دو بعدی یک قطعه کاغذ است بر روی میزتان که عمق (ضخامت) چندانی ندارد. و مثالی برای یک شئ سه بعدی یک قوطی کنسرو است که پیرامون آن طول و عرضش را نشان میدهد و بلندی آن نمایشگر عمق است. بسته به پرسپکتیو شما میتوانید تعیین کنید که کدام طرف قوطی طول و یا عرض باشد اما در نهایت قوطی سه بعد دارد.شکل 1-1 نشان میدهد که ما چگونه میتوانیم ابعاد قوطی و کاغذ را مقایسه نماییم.

تصویر 1-1

                                                          تصویر ۱-۱

 

برای قرنها هنرمندان میدانستند که چگونه تصاویری طراحی کنند که عمق واقعی داشته باشد. یک نقاشی ذاتا یک شئ دو بعدی است. چون آن چیزی غیر از یک تکه کرباس که رویش نقاشی کشیده باشند نیست. همینطور گرافیک سه بعدی کامپیوتری در حقیقت تصاویری دو بعدی هستند روی یک صفحه تخت که بعد سوم و یا خطای دید در عمق را مهیا میسازند.

 

 

2D + Perspective = 3D

اولین گرافیک کامپیوتری بدون شک بصورت شکل ۲-۱ ظاهرشدند. جایی که شما میتوانید یک مکعب سه بعدی ساده را که با 12 خط ساخته شده ببینید. چیزی که نمای مکعب را سه بعدی ساخته پرسپکتیو است. ( زاویه بین خطوط که خطای دید در عمق را به ما تلقین میکنند ).

تصویر2-1

تصویر ۲-۱

 

برای تماشای واقعی در فضای سه بعدی شما در حقیقت نیاز دارید که شئ را با هر دو چشم ببینید و هر چشم یک تصویر جداگانه از شئ را ثبت میکند. به تصویر 1-3 دقت کنید هر چشم یک تصویر دو بعدی را دریافت میکند که مانند یک تصویر موقت بر روی شبکیه هر چشم نگاشته میشود. این دو تصویر اندکی با هم تفاوت دارند چون از دو زاویه جداگانه دریافت شده اند.سپس مغز این دو تصویر را با هم ترکیب میکند تا یک تصویر مرکب سه بعدی در سر شما پدید آورد.

 

تصویر 3-1

تصویر ۳-۱

 

در شکل 1-3 زاویه بین دو تصویر با دور شدن شئ کوچکتر میشود. شما میتوانید این اثر سه بعدی را با افزایش زاویه بین دو تصویر تقویت کنید.

صفحه نمایش کامپیوتر یک تصویر تخت بر روی سطحی تخت است و نه دو تصویر متفاوت از منظر متفاوت که بر روی هر چشم بیفتد.

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

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

 

اما این آزمایش را انجام دهید. یک لیوان یا شئ دیگر دور از دستتان در سمت چپ قرار دهید. حالا چشم راست را با دست راستتان بپوشانید و سعی کنید لیوان را لمس کنید. متوجه میشوید که شما مدت زمان بیشتری نیاز دارید تا بتوانید لیوان را لمس کنید. حالا دست خود را از جلوی چشمتان بردارید و لیوان را لمس کنید شما به راحتی تشخیص میدهید که چقدر باید دستتان را دراز کنید تا بتوانید لیوان را لمس کنید. حال شما درک میکنید که افراد یک چشمی چرا با درک مسافت مشکل دارند.

 

پرسپکتیو تنها برای خلق سیمای سه بعدی کافی است به مکعب تصویر 1-2 نگاه کنید هر مکعب بدون رنگ و سایه ای هنوز یک سیمای سه بعدی دارد. به مدت طولانی به تصویر نگاه کنید میبینید که جلو و عقب تصویر جایشان را با هم عوض میکنند. مغز شما به علت نبود هیچ رنگی در طرح گیج شده است.

تصوویر 4-1

تصویر ۴-۱

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

این افکت پرسپکتیو Foreshortening نامیده میشود. این افکت و تغییرات رنگ و تکسچرها و نور ها و اختلاف در شدت رنگ همه با هم به ادراک ما یک تصویر سه بعدی را اضافه میکنند.

 منبع : کتاب OpenGL SuperBible 3rd Edition

+ نوشته شده توسط ( ساسان و محمد ) در سه شنبه دوم خرداد 1385 و ساعت |
Image and video hosting by TinyPic