จำลองโลกบน GPU
4 พันล้านปีใน 4 นาที
- บทความนี้กล่าวถึงการสร้างระบบจำลองโลกแบบเชิงกระบวนการด้วย GLSL fragment shader
- จำลองประวัติศาสตร์ทั้งหมดของดาวเคราะห์คล้ายโลกได้ภายในไม่กี่นาที และอัปเดตที่ 60 เฟรมต่อวินาที
ดาวเคราะห์ยุคบรรพกาล
- เรื่องราวเริ่มต้นเมื่อ 4.5 พันล้านปีก่อน จากก้อนลาวาเดือด
- โลกยุคแรกเป็นดาวเคราะห์ดึกดำบรรพ์ที่แดงฉานและร้อนจัดจากการชนของดาวเคราะห์น้อย
- คำนวณความสูงของภูมิประเทศผ่านแผนที่ภูมิประเทศที่สร้างขึ้นแบบเชิงกระบวนการ
- สร้างหลุมอุกกาบาตจากการชนของดาวเคราะห์น้อยหลายขนาด และใช้สิ่งนี้กำหนดความสูงของภูมิประเทศ
- หลุมอุกกาบาตจากดาวเคราะห์น้อยถูกสร้างในกริด 3 มิติ และเพิ่มความไม่สม่ำเสมอด้วยฟังก์ชันแฮช
- แผนที่ความสูงที่สร้างขึ้นในท้ายที่สุดสามารถถ่ายทอดรูปลักษณ์ของโลกยุคแรกได้
การแปรสัณฐานของแผ่นเปลือกโลก
- ใช้โมเดลการแปรสัณฐานของแผ่นเปลือกโลกเพื่อสร้างเทือกเขา ร่องลึกก้นสมุทร และภูมิประเทศของทวีป
- สุ่มสร้างตำแหน่ง seed ของแผ่นเปลือกโลกด้วยความเร็วเริ่มต้น แล้วให้แผ่นเติบโตเมื่อเวลาผ่านไป
- เมื่อเกิดการชนกันที่ขอบแผ่นเปลือกโลก ความสูงของภูมิประเทศจะเพิ่มขึ้น
- การชนนี้จะแพร่กระจายไปยังพิกเซลรอบข้างผ่านโมเดลการกัดเซาะจากความร้อน
การกัดเซาะโดยน้ำ
- ลักษณะขรุขระของภูมิประเทศตามธรรมชาติส่วนใหญ่ถูกกำหนดโดยการก่อตัวของลุ่มน้ำแม่น้ำ
- ใช้โมเดลที่สามารถจำลองแม่น้ำได้แม้บนแผนที่ภูมิประเทศความละเอียดต่ำ
- แต่ละพิกเซลจะตรวจสอบพิกเซลรอบข้าง 8 จุดเพื่อให้น้ำไหลไปตามทิศทางที่มีความชันมากที่สุด
- การกัดเซาะขับเคลื่อนด้วยกฎ stream power
- ปฏิสัมพันธ์ระหว่างการไหลของน้ำกับการกัดเซาะทำให้เกิดลุ่มน้ำแม่น้ำที่ดูเป็นธรรมชาติ
ภูมิอากาศระดับโลก
- การจำลองระบบภูมิอากาศอิงจากแผนที่ความกดอากาศเฉลี่ยที่ระดับน้ำทะเล (MSLP)
- แผนที่ MSLP ได้รับอิทธิพลจากตำแหน่งของแผ่นดิน มหาสมุทร และละติจูด
- ปรับแผนที่ MSLP เพื่อให้รูปแบบภูมิอากาศเปลี่ยนไปตามฤดูกาล
- สร้างลมและอุณหภูมิจาก MSLP
- ลมเคลื่อนที่จากความกดอากาศสูงไปยังความกดอากาศต่ำ โดยคำนึงถึงผลคอริออลิส
- ปริมาณน้ำฝนเคลื่อนจากมหาสมุทรสู่แผ่นดินผ่านสนามเวกเตอร์ลม
ชีวิต
- ภูมิอากาศส่งผลต่อการกระจายตัวของสิ่งมีชีวิตบนดาวเคราะห์
- รูปแบบฝนและการเปลี่ยนแปลงของอุณหภูมิกำหนดอัตราการเติบโตของพืช
- สัตว์กินพืชและสัตว์นักล่าอพยพตามการเปลี่ยนแปลงของฤดูกาล
- ใช้โมเดลการแพร่แบบ Lotka-Volterra เพื่อจำลองการเปลี่ยนแปลงเชิงพลวัตเหล่านี้
มนุษย์
- เมื่อบทนำของโลกยุคแรกสิ้นสุดลง มนุษย์ก็เข้ามาตั้งถิ่นฐานบนพื้นผิวดาวเคราะห์
- เผาเชื้อเพลิงฟอสซิลและปล่อยคาร์บอนสู่ชั้นบรรยากาศ
- ตลอดหลายร้อยปี มนุษย์ใช้ทรัพยากรเชื้อเพลิงฟอสซิลจนหมด และปล่อยคาร์บอน 5 ล้านล้านตันสู่ชั้นบรรยากาศ
- ส่งผลให้ปรากฏการณ์เรือนกระจกรุนแรงขึ้น และอุณหภูมิเฉลี่ยของโลกสูงขึ้นราว 10 องศา
- พื้นที่กว้างใหญ่บริเวณใกล้เส้นศูนย์สูตรกลายเป็นเขตที่มนุษย์อยู่อาศัยไม่ได้จากอุณหภูมิสุดขั้ว
สรุปโดย GN⁺
- บทความนี้อธิบายกระบวนการสร้างระบบจำลองโลกแบบเชิงกระบวนการอย่างละเอียด
- ใช้ GLSL fragment shader เพื่อจำลองภูมิประเทศ การแปรสัณฐานของแผ่นเปลือกโลก การกัดเซาะโดยน้ำ ภูมิอากาศ และชีวิต
- จำลองผลกระทบของกิจกรรมมนุษย์ต่อสิ่งแวดล้อมของโลกเพื่อกระตุ้นให้ตระหนักถึงปัญหา
- โปรเจ็กต์ที่แนะนำซึ่งมีความสามารถคล้ายกันคือ "SimEarth" และ "Universe Sandbox"
1 ความคิดเห็น
ความเห็นจาก Hacker News