PDA

نسخه کامل مشاهده نسخه کامل : اموزش گرافیک کامپیوتری ( OpenGL )



lord arthas
18-05-2013, 13:16
با سلام ، قصد دارم تو این سری اموزش ها بچه های فروم رو با OpenGL بیشتر اشنا کنم ، امیدوارم که خوشتون بیاد ! :31:
نکته : در این قسمت قرار نیست به برنامه نویسی یا چیزی شبیه این بپردازیم ، فعلا قراره با مفاهیم اولیه اشنا بشیم :n02:
نکته 2 : منم دارم همزمان با شما یاد میگیرم ، پس از اساتید درخواست دارم اگه کسی سوالی پرسیدو اونا بلد بودند ، دریغ نکنند :n16:


قسمت اول : اشنایی ، مقدمه و پیش نیاز ها

در ابتدا بگم که این اموزش ها از زبان ++C استفاده میکنن پس اشنایی با این زبان لازمه ، البته لازم نیست کامل با این زبان اشنا باشین ، در حد اشنایی با سینتکس و طرز کار باهاش کافیه ، دیگه صحبت اضافی ( :31: ) کافیه بریم سراغ اموزش :

یک وکتور میتواند معانی زیادی داشته باشد ، بستگی به این دارد که در زمینه ی هندسی بحث کنیم یا عددی . در هردو بحث وکتور ها دارای ابعاد هستند ک این نشان دهنده ی این است که وکتور ها دارای چند بعد هستند ؛ یک وکتور 2بعدی محدود شده است به یک صفحه ساده در حالی که یک وکتور 3بعدی میتواند به هر نقطه ای در فضا اشاره کند ، وکتور ها میتوانند ابعاد بیشتری هم داشته باشند ، اما معمولا ما فقط با ابعاد 2 - 4 سروکار داریم .

درواقع ، یک وکتور فقط میتواند یک بعد داشته باشد ؛ چنین وکتوری یک وکتور اسکالر یا عددی نامیده میشود .

در قوانین هندسی ، یک وکتور میتواند یکی از دو مفهوم : مکان یا جهت رو در یک مکان خاص نشان دهد ، یک وکتور مکان به یک تقطه ی خاص در یک فضا اشاره میکند ، بعنوان مثال در این بردار ما یک وکتور مکانی A داریم :

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
(شکل 1 . وکتور های مکان )

همچنین یک وکتور میتوناد به یک جهت اشاره کند . وکتور های جهت دارای یک مرکز نیستند ؛ انها به راحتی به یک جهت مشخص در فضا اشاره میکنند . اینها همه وکتور های جهت هستند ، اما وکتور های B و D یکی هستند حتا با اینکه انها در نقاص مختلفی رسم شده اند .

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
(شکل 2 . وکتور های جهت )

اینها همه ی اون چیزهایی هستند که باید در مورد وکتور های هندسی میدونستید ، در قسمت بعد به وکتور ها در مبحث عددی میپردازیم

تا درودی دیگر ، بدرود !

lord arthas
19-05-2013, 21:30
قسمت 2 : اشنایی با وکتور در مبحث عددی

یک وکتور در مبحث عددی یک دنباله ای از اعداد است ، هر عدد برای یک بعد ؛ در نتیجه یک وکتور 2بعدی دارای 2 عدد است ، یک وکتور 3 بعدی دارای 3 عدد و به همین صورت 4 بعدی ،بردار های سکالر در مبحث عددی دارای 1 عدد هستند .

هر عدد در یک وکتور یک مولفه نامیده میشود ، هر مولفه معمولا دارای اسم خاصی است در مبحث مورد بحث ما مولفه ی اول X مولفه ی دوم Y مولفه ی سوم Z و اگر مولفه ی چهرم هم استفاده شد W خوانده میشود .

برای نشوتن وکتور ها انها را داخل پرانتز مینویسیم در نتیجه یم وکتور 3بعدی همانند ( X , Y , Z ) خواهد بود . مثال : ( 0 , 1 , 2 ) در اینجا مولفه ی X = 0 مولفه ی Y = 1 و مولفه ی Z = 2 میباشد . هنگامی که انها را بهنوان قسمتی از فرمول مینویسیم انها به سورت زیر نوشته میشوند :


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

در فرمول های ریاضی ، وکتور های به صورت حروف بزرگ یا حروف کوچک با یک خط صاف نشوته میشوند ( همانند شکل )

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

اگرچه وکتور ها دارای مولفه های عددی تکی هستند ، اما بر ری کل یک وکتور میتوان عملیات های ریاضی ( جمع ، تفریق ، ضرب ، تقسیم ) انجام داد ، در اینجا چند نوع از انها را نشان خواهم داد ، در هر دو نوع عددی و هندسی !

جمع وکتور ها . شما میتوانید 2 وکتور را با هم جمع کنید و به عنوان یمک وکتور نمایش دهید

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
( شکل 3 . جمع 2 وکتور با هم )

به یاد داشته باشید که جهت وکتور ها میتواند عوض شود بدون اینکه مقدار انها تغییری کند در نتیجه اگر شما 2 وکتور را که ابتدای یسکان و انتهای متفاوت دارند داشته باشید ، جهت وکتور بدست امده از انها در جهت ابتدای وکتور اول به انتهای وکتور دوم است .

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
(شکل 4 . جمع وکتور ها با ابتدای یکسان )

در مبحث عددی ، مقدار وکتور بدست امده از جمع دو وکتور برابر با جمع مولفه های انهاست .

فرمول 1 . جمع وکتور ها در حالت عددی

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


هر عملیات ریاضی که بر روی مولفه های یک وکتور انجم میگیرد ، Component Wise ، نام دارد ، جمع بردار ها نیز یک عملیات CW است ، هر عملیات CW بر روی وکتور ها نیازمند ان است که هر دو وکتور دارای یک بعد باشند ( 2 بعدی با 2 بعدی ، 3 بعدی با 3 بعدی و ... )

قرینه سازی و تفریق وکتور ها . شما مینتوانید یک وکتور را قرینه کنید ، اینکار باعث برعکس شدن جهت ان میشود :

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
(شکل 5 . قرینه سازی وکتور ها )

در مبحث عددی این کار به معنای منفی کردن هر مولفه از وکتور است .

فرمول 2 . قرینه کردن وکتور ها

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]




تفریق بردار ها نیز همانند جمع انهاست با این تفاوت که در تفریق مولفه های وکتور اول را از مولفه های وکتور دوم کم میکنیم .

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
(شکل 6. تفریق بردار ها )

ضرب بردار ها . این عمل یکی از چند عملیست که دارای شکل هندسی نیست به این خاطر که ضرب دو جهت یا دو مکان در هم زیاد با عقل جور در نمیاد ! ( :31: ) ولی لین به این معنا نیست که این عمل در مبحث عددی بی کاربرد است .

ضرب وکتور ها در هم نیز یک CW ساده است و بسیار شبیه به جمع انها .

فرمول 3 . ضرب وکتور ها

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

عملیات ریاضی به صورت روی وکتور / اسکالر . عملیات ریاضی میتتوانند بر روی وکتور ها با مقدار های اسکالر انجام شوند . اینجا باید یاد اوری کنم که اسکالر ها فقط یک عدد هستند ، وکتور ها میتواند در یک اسکالر ضرب شوند ، اینکار باعث بزرگ یا کوچک شدن اندازه ی وکتور میشود که بستگی به مقدار اسکالر دارد .

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
( شکل 7 . ضرب اسکالر در وکتور )

در مبحث عددی این یک ضرب CW میباشد که در ان هر مولفه ی وکتور در مولفه ی اسکالر ضرب میشود .

فرمول 4 . صرب وکتور در اسکالر

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

همچنان اسکالر ها میتوانند به وکتور ها اضافه نیز شوند ، این عملیات نیز دقیقا مثل ضرب انهاست ( انها را به صورت هندسی نمیتوان نشان داد ) با این تفاوت که به جای ضرب مولفه ها در هم انها را با هم جمع میکنیم ( این عمل نیز CW است )

فرمول 5 . جمع وکتور / اسکالر .

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

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

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

این فرمول از قضیه ی فیثاغورس برای پیدا کردن اندازه استفاده میکند و برای همه ی وکتور ها و نه فقط 2 و 3 بعدی استفاده میشود .

وکتور واحد و واحد سازی وکتور ها . وکتوری که دقیقا اندازه ی 1 را دارد وکتور واحد خوانده میشود ، وکتور های واحد در ریاضی با یک ^ بالای اسم وکتور نشان داده میشوند .

یک وکتور میتواند به یک وکتور واحد تبدیل شود . این کار با تقسیم وکتور بر اندازه اش یا ضرب ان با قرینه ی اندازه اش انجام میگیرد

فرمول 8 . واحد سازی وکتور

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

پایان بحث وکتور ها !

نکته : اینها همه ی اون چیزخایی نستند که در این سری اموزش ها بر وکتور ها انجام میدهیم و عملیات دیگه ای که میشه بر روی وکتور ها انجام داد در موقع نیاز توضیح داده میشه .