תוכן עניינים:

הדמיית מערכת השמש: 4 שלבים
הדמיית מערכת השמש: 4 שלבים

וִידֵאוֹ: הדמיית מערכת השמש: 4 שלבים

וִידֵאוֹ: הדמיית מערכת השמש: 4 שלבים
וִידֵאוֹ: כל מה שרציתם לדעת על מערכת השמש 2024, נוֹבֶמבֶּר
Anonim

לפרויקט זה יצאתי ליצור הדמיה כיצד כוח הכבידה משפיע על תנועתם של גופים פלנטאריים במערכת השמש. בסרטון שלמעלה, גוף השמש מיוצג על ידי כדור רשת תיל, וכוכבי הלכת נוצרים באופן אקראי.

תנועת כוכבי הלכת מבוססת על פיזיקה אמיתית, חוק הכבידה האוניברסלית. חוק זה מגדיר את כוח הכבידה המופעל על מסה במסה אחרת; במקרה זה השמש על כל כוכבי הלכת, כוכבי הלכת זה על זה.

לפרויקט זה השתמשתי בעיבוד, סביבת תכנות מבוססת ג'אווה. השתמשתי גם בקובץ דוגמת העיבוד המדמה את כוח הכבידה של כוכבי לכת. כל מה שתצטרך לשם כך הוא תוכנת העיבוד והמחשב.

שלב 1: סימולציה ממדית

התחלתי בצפייה בכמה סרטונים כיצד לקודד את זה שיצר דן שיפמן בערוץ היוטיוב שלו, רכבת הקידוד (חלק 1/3). בשלב זה חשבתי שאשתמש ברקורסיה ליצירת מערכת השמש, בדומה לאופן שבו עושה שיפמן רק באמצעות חוקי הפיזיקה.

יצרתי אובייקט כוכבי לכת בעל 'כוכבי לכת ילדים', שבתורו היו גם כוכבי לכת 'ילדים'. הקוד להדמיית הדו מימד לא הסתיים מכיוון שלא הייתה לי דרך מצוינת לדמות את כוחות הכבידה של כל כוכב לכת. הסתובבתי מדרך חשיבה זו, בכיוון המבוסס על דוגמת העיבוד המובנית של משיכה כבידה. הבעיה הייתה שאני צריך לחשב את כוח הכבידה מכל כוכבי הלכת האחרים על כל כוכב לכת, אבל לא יכולתי לחשוב איך למשוך את המידע של כוכב לכת בודד בקלות. לאחר שראיתי כיצד מדריך העיבוד עושה זאת, הבנתי בדיוק כיצד לעשות זאת באמצעות לולאות ומערכים במקום

שלב 2: העברת אותו ל -3 מידות

בעזרת הקוד לדוגמא עבור Planetary Attraction שמגיע עם עיבוד, התחלתי תוכנית חדשה לסימולציה תלת מימדית. ההבדל העיקרי הוא במחלקה Planet, שבה הוספתי פונקציית משיכה, המחשבת את כוח הכבידה בין שני כוכבי לכת. זה איפשר לי לדמות כיצד מערכות השמש שלנו פועלות, שבהן כוכבי הלכת אינם נמשכים רק לשמש, אלא גם לכל כוכב לכת אחר.

לכל כוכב לכת יש מאפיינים שנוצרו באופן אקראי, כגון המסה, הרדיוס, מהירות המסלול ההתחלתית וכו '. כוכבי הלכת הם כדורים מוצקים והשמש היא כדור רשת. בנוסף, מיקום המצלמה מסתובב במרכז החלון.

שלב 3: שימוש בכוכבי לכת אמיתיים

Image
Image

לאחר שהורדתי את המסגרת להדמיית התלת -ממד, השתמשתי בויקיפדיה כדי למצוא את הנתונים הפלנטאריים בפועל למערכת השמש שלנו. יצרתי מערך של אובייקטים של כוכבי לכת, והכנסתי את הנתונים האמיתיים. כשעשיתי זאת, הייתי צריך להקטין את כל המאפיינים. כשעשיתי את זה הייתי צריך לקחת את הערכים האמיתיים ולהכפיל בגורם כדי להקטין את הערכים, במקום זאת עשיתי את זה ביחידות של כדור הארץ. כלומר לקחתי את היחס בין ערך כדור הארץ לערך העצמים האחרים, למשל לשמש יש מסה פי 109 מכדור הארץ. אולם זה הביא לכך שגדלי כוכבי הלכת נראים גדולים מדי או קטנים מדי.

שלב 4: מחשבות והערות אחרונות

אם הייתי ממשיך לעבוד על סימולציה זו הייתי מחדד/משפר כמה דברים:

1. ראשית הייתי מסדר הכל בצורה אחידה באמצעות אותו גורם קנה מידה. ואז כדי לשפר את נראות המסלולים, הייתי מוסיף שובל מאחורי כל כוכב לכת כדי לראות כיצד כל מהפכה משתווה לקודמת

2. המצלמה אינה אינטראקטיבית, מה שאומר שחלק מהמסלולים מחוץ למסך, "מאחורי האדם" צופה. יש ספריית מצלמות תלת מימד בשם Peazy Cam, המשמשת בחלק 2 מסדרת הווידאו של רכבת הקידוד בנושא זה. ספרייה זו מאפשרת לצופה לסובב, להזיז ולזום את המצלמה כך שיוכל לעקוב אחר כל מסלולו של כוכב לכת.

3. לבסוף, כוכבי הלכת אינם נבדלים זה מזה. הייתי רוצה להוסיף 'עורות' לכל כוכב לכת ולשמש, כדי שהצופים יזהו את כדור הארץ וכאלה.

מוּמלָץ: