学习于OpenGL入门、OpenGL编程指南、gluPerspective
#include "pch.h"
#include <GL/glut.h>
#include <iostream>
#include <stdio.h>
#include <time.h>
const GLdouble Pi = 3.1415926536;
/*
太阳半径69600km
地球半径6378km
月球半径1739km
地球到太阳的距离约为1.5亿km=150000000km
月亮到地球的距离约为 380000km
*/
/*修改不至于比例差距太大
太阳半径69600000km(放大100倍)
地球半径15945000km(放大 2500 倍)
月球半径4345000km (放大 2500 倍)
地球到太阳的距离约为1.5亿km=150000000km(保持不变)
月亮到地球的距离约为 38000000km(放大 100 倍)
*/
/*
假设三个天体都是球体,都处于同一平面
假设每个月都是30天,一年12个月,共有360天
太阳中心为原点,天体轨迹所在的平面表示了 X 轴与 Y 轴决定的平面,
且每年第一天,地球在 X 轴正方向上,月亮在地球的正 X 轴方向。
*/
static int day = 200;
double CalFrequency() {
static int count;
static double save;
static clock_t last, current;
double timegap;
++count;
if (count <= 50)
return save;
count = 0;
last = current;
current = clock();
timegap = (current - last) / (double