OpenGL 地球,月亮,太陽 相對運動

2021-05-23 12:34:07 字數 1014 閱讀 6074

/*

file:earch_moon_sun.c

每個月,月亮繞地球一圈,每年,地球繞太陽一圈。

為簡單起見,假設每個月30天,一年共30x12 = 360 天。

假設天體都是球形,處於同一平面,太陽不動。

單位 km 放大倍數

太陽半徑 = 696000*100= 69600000

地球半徑 = 6378*2500 = 15945000

月球半徑 = 1738*5000 = 4345000

地月距離 = 380000*100

地日距離 = 150000000*1

把太陽放在原點。

觀察點=(0,-200000000,200000000)

透視,最近可視距離為1,最遠可視距離為20000000*2,

可視角75度,寬高比為1

設今天為第day天,則地球轉過的角度為day/一年的天數*360度 = day

對於月球:

glrotatef(月球旋轉的角度,0,0,-1);

gltranslatef(月球軌道半徑,0,0);

glutsolidsphere(月球半徑,20,20);

月球旋轉地角度 = day/乙個月的天數*360度 - 地球轉過的角度

註記:若按上面的資料填入,則太陽好像破裂了;下面的長度資料

都除以1000,使得太陽正常顯示。另外,月球時快時慢 沒有處理好

相對運動。

*/#include

static

intday = 200

;voiddisplay()

voidtimer(intp)

intmain(intargc,char**argv)

OpenGL 太陽 地球 月球模型模擬動畫

源 include define glut disable atexit hack include static float year 0,day 0 void init void void display void void spindisplay void day day 0.06 if day...

opengl的配置和太陽 地球 月球演示

詳細配置過程鏈結 下面介紹opengl例項,太陽 地球 月球演示 建立乙個控制台程式 sun.cpp include stdafx.h include include void light void glfloat ambient glfloat diffuse glfloat specular g...

模擬太陽月亮嫦娥關係

mooon and sun and the girl figure name 嫦娥一號與月亮 地球關係 設定標題名字 s1 0 01 2 pi hold on axis equal 建立座標系 axis off 除掉axes r1 10 月亮到地球的平均距離 r2 3 嫦娥一號到月亮的平均距離 w1...