یه برنامه سه بعدی ساده ساخت خودم

prince_Persia_7

Well-Known Member
البته اسم برنامه رو که نمیشه روش گذاشت چون خیلی خیلی سادست ولی در حال تکمیله. در واقع با استفاده از گرافیک دوبعدی #c گرافیک سه بعدی واسش تعریف کردم. من اصلا نمیدونم نرم افزار های گرافیک سه بعدی رو چطوری میسازن وهیچ مطالعه ای هم در این زمینه نداشتم. خودم برای این کار از فرمول های هندسه تحلیلی استفاده کردم. به این صورت که ابتدا یه صفحه با تعریف بردار نرمال و سه نقطه روی اون یک دوربین تعریف کردم. سپس یک باکس رو با تعریف 8 نقطه ی متمایز با سه مشخصه ی (x و y و z ) تعریف کردم. از تصویر نقاط بر روی صفحه برای تبدیل مختصات سه بعدی به دو بعدی استفاده کردم که مبدا مختصات دو بعدی یکی از نقاط مشخص روی صفحه است. الان درگیر تعریف پرسپکتیو هستم.( fov دوربین )
برای ایجاد حالت پرسپکتیو میتونم از یک هرم استفاده کنم سپس تصویر هر نقطه بر روی صفحه ی ای که با بردار نرمال هرم موازی باشه و شامل اون نقطه باشه رو محاسبه کنم در این صورت اشیائی که از مبدا هرم دورتر باشند کوچکتر به نظر خواهند رسید. اگه دقت کنید توی تری دی مکس هم دوربین به شکل هرم هست.
 

پیوست ها

  • 3D_01.rar
    7.9 کیلوبایت · بازدیدها: 14
  • 3D.jpg
    3D.jpg
    76.7 کیلوبایت · بازدیدها: 55

Saeed2vfx

Member
آفرین!
منم سال 88 میخواستم یه چیزی شبیه به 3dsmax بسازم ! تا یه جاهایی هم پیش رفتم ولی بعد دیدم .......... شتر در خواب بیند پنبه دانه !!
تصویرشو پیوست میکنم.
persian studio 3.jpg
 

majid1605

Active Member
جالب بود واسه تجربه خیلی خوبه :green:
در ضمن برنامه های 3D معمولاْ با یکی از زبانهای برنامه نویسی که اغلب ++C به همراه یکی از API های Direct3D یا OpenGl و یا با هردو api نوشته میشن البته بلندر با زبان python و OpenGl نوشته شده که نرم افزار قدرتمندی هستش
 

amin256

Well-Known Member
البته اسم برنامه رو که نمیشه روش گذاشت چون خیلی خیلی سادست ولی در حال تکمیله. در واقع با استفاده از گرافیک دوبعدی #c گرافیک سه بعدی واسش تعریف کردم. من اصلا نمیدونم نرم افزار های گرافیک سه بعدی رو چطوری میسازن وهیچ مطالعه ای هم در این زمینه نداشتم. خودم برای این کار از فرمول های هندسه تحلیلی استفاده کردم. به این صورت که ابتدا یه صفحه با تعریف بردار نرمال و سه نقطه روی اون یک دوربین تعریف کردم. سپس یک باکس رو با تعریف 8 نقطه ی متمایز با سه مشخصه ی (x و y و z ) تعریف کردم. از تصویر نقاط بر روی صفحه برای تبدیل مختصات سه بعدی به دو بعدی استفاده کردم که مبدا مختصات دو بعدی یکی از نقاط مشخص روی صفحه است. الان درگیر تعریف پرسپکتیو هستم.( fov دوربین )
برای ایجاد حالت پرسپکتیو میتونم از یک هرم استفاده کنم سپس تصویر هر نقطه بر روی صفحه ی ای که با بردار نرمال هرم موازی باشه و شامل اون نقطه باشه رو محاسبه کنم در این صورت اشیائی که از مبدا هرم دورتر باشند کوچکتر به نظر خواهند رسید. اگه دقت کنید توی تری دی مکس هم دوربین به شکل هرم هست.
نمی خوام خدای نکرده تو ذوقت بزنم. ولی این کار چرخ رو از نو اختراع کردنه. به نظر من بزن تو کار اسکریپت نویسی که هم به شدت مورد نیازه هم اینجور که پیداست استعدادشو داری.
 

جدیدترین ارسال ها

بالا