همونطور که می دونید Screen ما دو بعدی(2D) است سوال من اینکه چگونه نقطه ای در محور z بدست بیاریم یعنی چه رابطه ای بین xها و y ها وجود داره که نقطه ای می توان روی محور Z فرض کرد؟
همونطور که می دونید Screen ما دو بعدی(2D) است سوال من اینکه چگونه نقطه ای در محور z بدست بیاریم یعنی چه رابطه ای بین xها و y ها وجود داره که نقطه ای می توان روی محور Z فرض کرد؟
آخرین ویرایش به وسیله returnx : دوشنبه 12 مهر 1389 در 15:25 عصر
یعنی هیچ کس اینکارو تا حالا نکرده؟!!!؟!!!؟
فرض کنید در نرم افزار 3D max برای رسم یک مکعب باید یک pixle روشن بشه خوب ما فقط x,y داریم مختصات z رو با چه رابطه ای محاسبه میکنند؟؟؟؟؟
در ضمن ما که محور z نداریم ، باید خودمون یک محور z فرض کنیم خوب چه طور این کارو میکنند؟؟؟
همین مکعب رو در نظر بگیرید و فکر کنید که یکی از کنجهای اون همون مبدا مختصات ما و سه ضلع متقاطع در اون کنج سه محور هستن. حالا شما می تونید به این مکعب از زوایای مختلف نگاه کنید و محل محورها از زاویه های مختلف ببینید.
اگر با مختصات کروی یا استوانه ای آشنایی دارید اول مشخص کنید که زاویه دید ناظر با اون مختصات کدومه. اگه آشنایی ندارید بگید که مثلا خودتون رو در کدوم نقطه مختصات دکارتی در نظر می گیرید که دارید از اون دید به سمت مبدا نگاه می کنید.
ما توی صفحه این مساله رو نداریم. چون همیشه بیرون صفحه هستیم و از دور نگاه می کنیم. اما وقتی بحث بعد سوم پیش می یاد، همه چیز عوض می شه.
فرض کنید ما همون مکعب رو میخواهیم رسم کنیم ،برای رسم مستطیل فقط 4 نقطه نیاز داریم(در برنامه نویسی 2 نقطه هم کفایت میکنه) اما برای رسم مکعب ما نیاز به 7 نقطه داریم.
این عکس ببینید شاید بهتر بتونم منظورم برسونم (پیشا پیش از گرافیک و کیفیت پایین عکس عذر خواهی میکنم)
کسی تا حالا این کار انجام نداده؟؟
بحث پیچیده تر از این حرفاست مهندس شما بهتره این کتاب رو بخونی که در مورد Direct 3d اونوقت متوجه میشی که محور Z هیچ ارتباطی به x,y نداره تا ما بخوایم از رو این دوتا اون سومی رو پیدا کنیم .
اینم بگم چون حجم کتاب بالا بود نتونستم اینجا اپلود کنم حدود 54 مگابایته و موفق باشی .
نام کتاب هست : J.Sanchez, M.P.Canton - Direct3D Graphics Programming Bible
این کار رو با ماتریس های دوران و تبدیل و این حرف ها با دیرکت اکس پیاده می کنند. یه مدت برای خودمم هم سوال بود. باید الگوریتم ضرب ماتریس رو هم بنویسی که خودش پروژه ایه. از DirectX یا OpenGL استفاده کنید.