بخشی از پاورپوینت
اسلاید 1 :
فصل سوم
مبناهای خروجی گرافیکی
اسلاید 2 :
فصل سوم : مبناهای خروجی گرافیکی
چهار چوب مختصات
مشخص کردن چهار چوب مرجع مختصات جهانی دو بعدی در OpenGL
توابع نقطه در OpenGL
توابع خط OpenGL
الگوریتمهای ترسیم خط
الگوریتم های موازی خط
قرار دادن مقادیر در فریم بافر
توابع منحنی در openGL
الگوریتم های تولید دایره
الگوریتم های تولید بیضی
منحنی های دیگر
الگوریتم های موازی منحنی
نشانی دهی پیکسلی و هندسه اشیا
مبناهای پرکردن سطوح
پرکردن سزوح چند ضلعی
توابع پر کردن سطوح چندضلعی در openGL
آرایه ریوس در openGL
مبناهای آرایه – پیکسلی
توابع آرایه – پیکسلی در openGl
مبناهای نویسه ها
توابع نویسه در opengl
افزار تصویر
فهرست های نمایش در openGL
توابع تغییر شکل پنجره – نمایش در openGL
اسلاید 3 :
برای توصیف تصویر، نخست باید سیستم مختصات دکارتی مناسبی به نام چهار چوب مرجع مختصات جهانی که میتواند دو بعدی یا سه بعدی باشد تدارک ببینیم. سپس اشیاء واقع در تصویر را با دادن مختصات هندسی آنها به صورت عبارتی از مواضع در سیستم مختصات جهانی تعریف کنیم.
در شکل های سه بعدی، مجموعه ای از کرانه های مختصات جعبه ای محیطی برای شیء تشکیل می دهد. برای شکل دو بعدی، کرانه های مختصات را گاهی مستطیل محیطی آن شکل نیز می نامند.
اسلاید 4 :
اشیاء با عبور دادن اطلاعات صحنه به روتین های دید نمایش داده می شوند.این روتین های دید، سطوح مرئی را تعین میکنند و اشیاء را به مواضع صفحه نمایش ویدئویی می نگارند.
فرآیند پویش-تبدیل، اطلاعات در مورد صحنه مثل مقادیر رنگ را در مکان های مناسب در فریم بافر ذخیره می کند. سپس اشیاء صحنه در دستگاه های خروجی نمایش داده می شوند.
اسلاید 5 :
مکان های صفحه نمایشی ویدئویی به صورت مختصات صفحه نمایش صحیح که متناظر با مواضع پیکسل در فریم بافر هستند بیان میشوند. مقادیر مختصه ای برای پیکسل بیانگر شماره خط پویش ( مقدار y ) و شماره ستون )( مقدار x بر روی خط پویش ) هستند.
پردازشگرهای سخت افزاری مانند رفرش کننده صفحه نمایش معمولا مواضع پیکسلس را نسبت به گوشه بالا-چپ صفحه نمایش نشان دهی میکنند. با دستورات نرم افزاری نیز می توانیم چهار چوب مرجع مناسبی برای مواضع صفحه نمایش قرار دهیم.
اسلاید 6 :
الگوریتم های پویش - خط برای مبنا های گرافیکی از توصیفات مختصه ای تعریف شده برای تعین مکان های پیکسل هایی که باید نمایش داده شوند استفاده می کنند.
دانلود شده از مرکز دانلود ویدئوهای آموزشی مرتبط با کامپیوتر www.p30learning.com
اسلاید 7 :
برای مثال: با فرض معلوم بودن مختصات یک پاره خط، الگوریتم نمایش باید مواضع پیکسل هایی را که در طول مسیر خطی بین دو رأس واقع هستند، محاسبه کند؟؟؟؟
اسلاید 8 :
بعد از آنکه مواضع پیکسلی برای شئ محاسبه شد، مقادیر رنگ متناسب باید در فریم بافر ذخیره شوند برای این منظور فرض می کنیم که پردازه ای سطح پایین به صورت زیر داریم:
setPixel ( x , y ) ;
این پردازه رنگ قرار داده شده فعلی را در فریم بافر در مکان صحیح ( x , y ) نسبت به موضع انتخاب شده از مختصات ذخیره می کند. گاهی لازم است تا مقدار ذخیره شده در فریم بافر برای مکانی پیکسلی را بازیابی کنیم.
getPixel ( x , y ,color ) ;
در این تابع پارامتر color مقدار صحیحی متناظر با کد بیتهای RGB مرکب ذخیره شده برای پیکسل واقع در مکان ( x , y ) دریافت می کند.
اسلاید 9 :
فصل سوم : مشخصات مختصه ای نسبی و مطلق
بعضی از بسته های گرافیکی تعریف مواضع با استفاده از مختصات نسبی را امکان پذیر می سازند.
کاربرد های این روش
تولید ترسیمات با رسام های قلمی
سیستم های نقاشی
ترسیمات هنری
اسلاید 10 :
مشخص کردن چهار چوب مرجع مختصات جهانی دو بعدی در OpenGL
برای مثال دو بعدی، چهار چوب مختصات پنجره نمایش را می توانیم با عبارات زیر تعریف کنیم:
glMatrixMode ( GL_PROJECTION ) ;
glLoadIdentity ( ) ;
Glu0rtho2d (xmin, xmax, ymin, ymax ) ;
بنابر این پنجره نمایش با مختصات (xmin, ymin) در گوشه پایین – چپ و با مختصات ( xmax, ymax ) در گوشه بالا - راست به گونه نشان داده شده درشکل تعریف می شود.
اسلاید 11 :
فصل سوم : توابع نقطه در OpenGL
تابع OpenGL زیر برای بیان مقادیر مختصات برای یک نقطه به کار می رود:
glVertex* ( ) ;
علامت ستاره ( * ) بیانگر این است که برای این تابع، کد های پسوند مورد نیاز است. کد های پسوند برای شناسایی بعد فضایی، نوع داده عددی که باید برای مقادیر مختصات به کار برده شوند و فرم برداری ممکن برای مشخصات مختصات به کار می روند. یک تابع glVertex باید بین تابع glBegin و تابع glEnd قرار گیرد. از آرگومان تابع glBegin برای شناسایی نوع مبنای خروجی که باید نمایش داده شود، استفاده می شود ولی تابع glEnd هیچ آرگومانی نمیگیرد.
اسلاید 12 :
صورت مشخصه OpenGL برای نقطه عبارت است از:
glBegin (GL_POINTS) ;
glVertex* ( ) ;
glEnd ( ) ;
تابع glVertex در OpenGL برای مشخص کردن مختصات هر نوع موضع نقطه ای به کار می رود.
دانلود شده از مرکز دانلود ویدئوهای آموزشی مرتبط با کامپیوتر www.p30learning.com
اسلاید 13 :
مواضع مختصات را در OpenGL می توان بصورت دو بعدی، سه بعدی، یا چهار بعدی نشان داد. به این منظور از مقدار پسوندی 2، 3، یا 4 در تابع glVertex برای مشخص کردن بعد نقطه استفاده می کنیم. مشخصه ای چهار بعدی بیانگر مختصاتی متجانس است که در آن پارامتر تجانس h (مختصه چهارم) ضریب بزرگ نمایی برای مقادیر مختصات دکارتی است. OpenGL، با با فضای دو بعدی به صورت حالت خاصی از فضای سه بعدی رفتار می کند، هر مشخصه مختصه ای (x,y) معادل با(x, y , 0 ) با h = 1 است.
اسلاید 14 :
کد های پسوند تابع glVertex برای تعیین نوع داده عددی :
اعداد صحیح : i
اعداد حقیقی کوتاه : s
اعداد حقیقی با ممیز شناور : f
اعداد حقیقی مضاعف : d
مقادیر مختصات را می شود به صورت صریح در تابع glVertex فهرست کرد یا می توان از آرگومانی که موضع مختصه را به صورت آرایه تعریف می کند، استفاده کرد. اگر از آرایه استفاده کنیم، از کد پسوند سومی،V برای (Vector ) استفاده می کنیم.
اسلاید 15 :
مثال 1 : سه نقطه با فاصله های متساوی در طول یک خط مستقیم دو بعدی با ضریب زاویه 2 رسم شده اند.
glBegin (GL_POINTS ) ;
glVertex2i ( 50, 100 ) ;
glVertex2i ( 75, 150 ) ;
glVertex2i (100, 200) ;
glEnd ( ) ;
مقادیر مختصات برای این نقاط در آرایه :
Int point1 [ ] = { 50, 100 } ;
Int point2 [ ] = { 75, 150 } ;
Int point3 [ ] = { 100, 200 } ;
نمایش 3 نقطه تولید شده با glBegin (GL_POINTS )
اسلاید 16 :
فصل سوم : توابع نقطه در OpenGL
توابع OpenGL را برای رسم این سه نقطه بصورت زیر فرا می خوانیم :
glBegin ( GL_POINTS ) ;
glVertex2iv ( point1) ;
glVertex2iv (point2 ) ;
glVertex2iv ( point3 ) ;
glEnd ( ) ;
اسلاید 17 :
در OpenGL سه ثابت نمادین وجود دارند که از آنها می توان برای مشخص کردن این مسئله استفاده کرد که فهرستی از نقاط انتهایی چگونه باید بهم وصل شوند تا مجموعه ای از پاره خط های مستقیم تشکیل شود. به طور ضمنی هر ثابت نمادین، خط های ممتد و به رنگ سفید نمایش می دهد.
با استفاده از ثابت خط GL_Line مجموعه ای از پاره خطهای مستقیم بین هر زوج متوالی در فهرستی تولید می شود.
glBegin (GL_LINES ) ;
glVertex2iv (p1) ;
glVertex2iv (p2) ;
glVertex2iv (p3) ;
glVertex2iv (p4) ;
glVertex2iv (p5) ;
glEnd ( ) ;
GL_LINES مجموعه ای از پاره خطهای غیر متصل، تولید شده با
اسلاید 18 :
با ثابت GL_LINE_STRIP یک چند ضلعی حاصل می شود.
glBegin (GL_LINE_STRIP ) ;
glVertex2iv (p1) ;
glVertex2iv (p2) ;
glVertex2iv (p3) ;
glVertex2iv (p4) ;
glVertex2iv (p5) ;
glEnd ( ) ;
GL_LINE_STRIP چند ضلعی تولید شده با
دانلود شده از مرکز دانلود ویدئوهای آموزشی مرتبط با کامپیوتر www.p30learning.com
اسلاید 19 :
ثابت GL_LINE_LOOP چند ضلعی بسته تولید می کند.
glBegin (GL_LINE_LOOP ) ;
glVertex2iv (p1) ;
glVertex2iv (p2) ;
glVertex2iv (p3) ;
glVertex2iv (p4) ;
glVertex2iv (p5) ;
glEnd ( ) ;
GL_LINE_LOOP چند ضلعی بسته تولید شده با
اسلاید 20 :
فصل سوم : الگوریتمهای ترسیم خط
مواضع پیکسلی در طول مسیری خطی، از روی ویژگی های هندسی خط محاسبه کردنی است.
(1.3) معادله ضریب زاویه - عرض از مبدأ دکارتی خط y = m . X + b
که در آن m ضریب زاویه و b عرض از مبدأ است.
(2.3) ضریب زاویه m =
(3.3) عرض از مبدا b = y - m . x
مسیر خطی بین رئوس (x0,y0)و (xend,yend)