سورس کد شبیه سازی منظومه شمسی در سی شارپ عنوان محصولی است که در این پست به آن پرداخته ایم. منظومه شمسی از تمام سیاراتی که به دور خورشید گردش می کنند، تشکیل شده است. افزون بر سیارات، در این منظومه قمرها، ستاره های دنباله دار، سیارک ها، خرد سیارات و گرد و غبار و گاز نیز حضور دارند.
برنامهنویس: تیم برنامه نویسی پی استور
متشکل از اساتید و فارغ التحصیلان رشته های فنی - مهندسی
تیم برنامه نویسی پی استور یکی از اولین گروه های تشکیل شده در مجموعه آموزشی پی استور می باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته های فنی و مهندسی تشکیل شده که در زمینه های مختلف برنامه نویسی و تهیه سورس کد فعال هستند.
سورس کد شبیه سازی منظومه شمسی در #C با OPENGL
منظومه شمسی دارای 9 سیاره با نام های عطارد، زهره، زمین، مریخ، مشتری، زحل، اورانوس، نپتون، پلتون است که در مداراتی حول خورشید در چرخش هستند. برای شبیه سازی منظومه شمسی در سی شارپ از کتابخانه گرافیکی اپن جی ال OpenGL استفاده شده است. این کتابخانه در قالب چارچوب Tao.OpenGl به Microsoft Virtual Studio افزوده می شود تا بتوان از قابلیت های گرافیکی OpenGL در سی شارپ استفاده کرد.
سورس کد شبیه سازی منظومه شمسی در سی شارپ در 7 کلاس و یک فرم اصلی نوشته شده است که دارای توضیحات زیر می باشد.
توضیحات برنامه
- کلاس Camara.cs
این کلاس مربوط به دید شخص از فضای موجو می باشد و دارای خصوصیات زیر است:
-
- مختصات ماوس از وسط صفحه شروع می شود.
- هنگامی که کاربر ماوس را حرکت می دهد، دلتا X و Delta Y از نقطه شروع محاسبه می شوند.
- Delta X و Delta Y به چگونگی تغییر دوربین و زوایای دید تنظیم می شود.
- هنگامی که شما مایل به حرکت به عقب یا جلو هستید، دوربین در جهت زاویه اشاره حرکت می کند.
- کلاس Satellite.cs
این کلاس حاوی همه چیزهایی است که یک سیاره دارد. تنها تفاوت این است که نقطه چرخش آن خورشید نیست بلکه سیاره ای است که حاوی آن است. بنابراین هر زمان که آن را صدا می کنید باید موقعیت سیاره حاوی آن را بدست آورید.
- کلاس SolarSystem.cs
این کلاس حاوی لیستی از سیارات، ستاره ها و ماهواره ها است برای ایجاد و رسم آنها.
- کلاس Star.cs
این کلاس ستاره ها را ترسیم می کند. ستاره ها GL_POINTS هستند که در موقعیت های تصادفی تولید می شوند. این تابع است که آنها را تولید می کند:
publicvoid CreateStars(int amount) { Random r = newRandom(); int count = 0; while (count != amount) { Position p = default(Position); p.x = (r.Next(110)) * (float)Math.Pow(-1, r.Next()); p.z = (r.Next(110)) * (float)Math.Pow(-1, r.Next()); p.y = (r.Next(110)) * (float)Math.Pow(-1, r.Next()); if (Math.Pow(Math.Pow(p.x, 2) + Math.Pow(p.y, 2) + Math.Pow(p.z, 2), 1 / 3f) > 15) { stars.Add(p); count++; } } }
- کلاس Sun.cs
کلاس خورشید ساده ترین کلاس است بر خلاف کلاس سیاره تنها یک چرخش دارد و آن فقط یک چرخش در اطراف محور خود است.
- کلاس Planet.cs
- موقعیت
- بافت
- مدار (فاصله جاری از خورشید)
- زاویه چرخش کنونی
- سرعت مدار فعلی
این کلاس خصوصیات یک سیاره را طبق 5 بند گفته شده بالا ارائه می کند. بعنوان مثال برای رسم مدار از کد زیر استفاده شده است:
publicvoid DrawOrbit() { Gl.glBegin(Gl.GL_LINE_STRIP); for (int i = 0; i < 361; i++) { Gl.glVertex3f(p.x * (float)Math.Sin(i * Math.PI / 180), 0, p.x* (float)Math.Cos(i * Math.PI / 180)); } Gl.glEnd(); }
تمامی این کلاس ها از داخل فرم اصلی MainForm.cs ایجاد و صدا زده می شوند. این فرم شکل پروژه است که شامل فراخوانی برای بارگذاری بافت، تنظیم اولیه مفاهیم 3D، نقاشی محتوای سه بعدی و غیره می باشد. همچنین کلید کاربر و ورودی ماوس را مدیریت می کند. از آنجا که محتوای سه بعدی نیاز به حداقل 30 فریم در ثانیه دارد، از یک تایمر استفاده شده است و تمام کد داخل آن را قرار داده می شود.
تصویر خروجی
ویدئوی معرفی محصول
درباره محصول
این پروژه بااستفاده از زبان برنامه نویسی سی شارپ در microsoft visual studio 2013 نوشته شده است. پروژه توسط کارشناسان پی استور تست و بررسی شده است و مورد تایید پی استور می باشد. این محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود پروژه آن را خریداری کنید. به محض خریداری لینک دانلود در دسترس خواهد بود.
پروژه های مرتبط با OpenGl
سورس کدهای آماده پیشنهادی در سی شارپ و سی پلاس پلاس
تاریخ انتشار: | 5 خرداد 1397 |
---|---|
تاریخ بروزرسانی: | 4 اردیبهشت 1400 |
حجم فایل: | 1.4 مگابایت |
فرمت فایل | sln. در قالب ویژوال استودیو |
نسخه: | 1.0 |
هماهنگی با: | Microsoft Visual Studio 2013 و بالاتر |
تاکنون 265 نفر این محصول را تهیه کرده اند و 2 نظر برای آن ثبت شده است.
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- لطفاً دیدگاه های خود را فارسی تایپ کنید.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.
قیمت 39,000 تومان
تاریخ انتشار: | 5 خرداد 1397 |
---|---|
تاریخ بروزرسانی: | 4 اردیبهشت 1400 |
حجم فایل: | 1.4 مگابایت |
فرمت فایل | sln. در قالب ویژوال استودیو |
نسخه: | 1.0 |
هماهنگی با: | Microsoft Visual Studio 2013 و بالاتر |
2 بازخورد (مشاهده نظرات)
قیمت: 39,000 تومان
واحدی
برای ارائه کلاسی از این پروژه استفاده کردم. استادمون خیلی خوشش اومد و نمره کامل داد.
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما در میان بگذارید.