Darius the Greatest در حال رشد
تاريخ عضويت: 4 شنبه 18 آذر 1383 تعداد ارسالها: 34 محل سكونت: پايتخت
3 شنبه 8 دي 1383 - 18:15 |
|
|
به نام یزدان پاک
بیایید در این تاپیک به بحث و گفتگو درباره نخستین دانستنیهایی که باید برای ساخت یک موتور گرافیکی 3 بعدی دانست بپردازیم.
میدانیم که در زبانهای برنامه نویسی هرچند ساده میشود با کد نویسی شکل ها و خط های 2 بعدی کشید. برای نمونه وقتی میخواهیم یک خط بکشیم نشانی 2 نقطه از صفحه را به طور X و Y همراه با دستور کشیدن خط (در هر زبان جداگانه است) برای آنکه ماشین بفهمد که با استفاده از این 2 نقطه یک خط بکشد. اینجا این پرسش به میان می آید که اگر بخواهیم یک مکعب (3 بعدی) بکشیم باید چه کار کنیم. منطق میگوید که باید به دستگاه بعد سوم یعنی Z را بشناسانیم و سپس نشانی چهار نقطه از صفحه (4 گوشه ی مکعب) را به دستگاه بدهیم و با دستور لازم به دستگاه بگوییم که این شکل را بکشد. ولی تنها این کافی نیست! ماشین برای نمایش این شکل 3 بعدی نیاز به یک نقطه دید دارد. پس به شناساندن معنی نقطه دید و سپس دادن نشانی نقطه ای از این فضای 3 بعدی که به جای نقطه دید استفاده شود نیز نیازمندیم.
نخستین پرسشی که به میان می آید اینست که چگونه این 2 چیز (بعد سوم – نقطه دید) را به ماشین بشناسانیم.
به نظر نمی آید که این کار به زبان برنامه نویسی سطح بالایی نیاز داشته باشد و در QBASIC و PASCAL قابل اجراست. از دوستانی که توانایی انجام این کار را در زبانهای گفته شده دارند خواهشمندم چگونگی انجام این کار را به طور کامل در این تاپیک آموزش دهند. من منطق و پایه های ایجاد یک موتور گرافیکی 3 بعدی را میدانم و تنها زبان برنامه نویسی را به درستی بلد نیستم. از این پس من در زمینه منطق این کار شما را یاری میکنم و شما هم در زمینه برگرداندن منطق این کار به زبان ماشین، امیدوارم تا پایان این تاپیک بتوانیم یک موتور گرافیکی هر چند ساده امّا 3 بعدی ساخته باشیم.
در مرحله بعدی (پس از اجرا شدن نخستین خواهش من از شما) به بحث درباره ایجاد امکان خواندن نشانی نقطه ها از روی یک فایل و کشیدن آنها خواهیم پرداخت. |
|
|