آموزش تخصصی ویژوال بیسیک 6

مسائل مربوط به برنامه نویسی ویژوال بیسیک 6

آموزش تخصصی ویژوال بیسیک 6

مسائل مربوط به برنامه نویسی ویژوال بیسیک 6

آموزش open gl قسمت پنجم

خوب میرویم سر آموزش قسمت پنجم OpenGL

در این جلسه یاد میگیرین که:

۱- رسم مکعب:

۲- رسم کره:

۳- رسم منشور و اهرام( مکعب مثلث):

۴- رسم استوانه ( یا دیسک):

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



۱- رسم مکعب (مکعب مربع و مستطیل):

رسم مکعب های سه بعدی بسیار ساده است و ما با استفاده از بلوک glBegin/glEnd مکعب های سه بعدی خودمان را رسم می کنیم. برای اینکه چگونگی رسم مکعب های سه بعدی رو یاد بگیرین خطوط زیر را با دقت بخونین:

می دونید که مربع دارای چهار راس است . همچنین از چهار پاره خط تشکیل شده است. یک مکعب مربع یا مستطیل از شش تا چهار ضلعی تشکیل شده است . همچنین این شش تا چهار ضلعی دارای ۱۲ پاره خط است . برای درک بهتر شما یک مثال میزنم تا بهتر بفهمین.

در مثال زیر با استفاده از رسم شش تا مربع یک مکعب مستطیل میسازیم:

glShadeModel smSmooth

glRotatef 1,0.5,0.3,0.2

glBegin bmQuads
glColor3f 0#, 1#, 0#
glVertex3f 0.5, 0.5, -0.5
glVertex3f -0.5, 0.5, -0.5
glVertex3f -0.5, 0.5, 0.5
glVertex3f 0.5, 0.5, 0.5
glColor3f 1#, 0.5, 0#
glVertex3f 0.5, -0.5, 0.5
glVertex3f -0.5, -0.5, 0.5
glVertex3f -0.5, -0.5, -0.5
glVertex3f 0.5, -0.5, -0.5
glColor3f 1#, 0#, 0#
glVertex3f 0.5, 0.5, 0.5
glVertex3f -0.5, 0.5, 0.5
glVertex3f -0.5, -0.5, 0.5
glVertex3f 0.5, -0.5, 0.5
glColor3f 1#, 1#, 0#
glVertex3f 0.5, -0.5, -0.5
glVertex3f -0.5, -0.5, -0.5
glVertex3f -0.5, 0.5, -0.5
glVertex3f 0.5, 0.5, -0.5
glColor3f 0#, 0#, 1#
glVertex3f -0.5, 0.5, 0.5
glVertex3f -0.5, 0.5, -0.5
glVertex3f -0.5, -0.5, -0.5
glVertex3f -0.5, -0.5, 0.5
glColor3f 1#, 0#, 1#
glVertex3f 0.5, 0.5, -0.5
glVertex3f 0.5, 0.5, 0.5
glVertex3f 0.5, -0.5, 0.5
glVertex3f 0.5, -0.5, -0.5
glEnd

مثال بالا رو اجرا کنین و نتیجه رو نگاه کنین.


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

۲- رسم کره:

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

در مثال زیر یک کره به شعاع ۵/۰ رسم میکنیم.

Dim Q

Q = gluNewQuadric

glColor4f 1 , 1 , 0 , 1

gluQuadricDrawStyle Q , qdsLine

glSphere Q , 0.5 , 25 , 25

شاید برای شما این سوال پیش آید که آیا تابع glColor4f هم وجود دارد؟ باید در پاسخ شما بگم که بله البته که وجود داره. شکل کلی تابع glColor4f به صورت زیر است:

مقدار آلفا , رنگ آبی , رنگ سبز , رنگ قرمز glColor4f

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


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

این قسمت هم به پایان رسید. و اما تمرین این جلسه شما:
۱- سعی کنین که یک مکعب متوازی الاضلاع رسم کنین و اون رو متحرک کنین.

۲- قسمت های اصلی کره زمین ( پوسته و گوشته و هسته) را با رسم سه کره شبیه سازی کنین و سعی کنین هر قسمت یک رنگ داشته باشد.(مثلا پوسته آبی , گوشته نارنجی , هسته قرمز)

یه وقت برای انجام تمرین ها تنبلی نکنین ها !
اگه احیانآ مشکلی پیش اومد در قسمت نظرات بگو . حتما جوابتو می گیری.
نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد