詳細配置過程鏈結
下面介紹opengl例項,太陽-地球-月球演示
建立乙個控制台程式
sun.cpp
#include "stdafx.h"
#include #include void light(void)
; glfloat ambient = ;
glfloat diffuse = ;
glfloat specular = ;
gllightfv(gl_position, gl_position, position);
gllightfv(gl_light0, gl_ambient, ambient);
gllightfv(gl_light0, gl_diffuse, diffuse);
gllightfv(gl_light0, gl_specular, specular);
glenable(gl_light0);
glenable(gl_lighting);
}void initial()
void timerfunc(int value)
void changesize(int w, int h)
void display(void)
; glfloat wall_mat_diffuse = ;
glfloat wall_mat_specular = ;
glfloat wall_mat_emission = ;
glfloat wall_mat_shininess = 9.846150;
glmaterialfv(gl_front, gl_ambient, wall_mat_ambient);
glmaterialfv(gl_front, gl_diffuse, wall_mat_diffuse);
glmaterialfv(gl_front, gl_specular, wall_mat_specular);
//glmaterialfv(gl_front, gl_emission, wall_mat_emission);
glmaterialf(gl_front, gl_shininess, wall_mat_shininess);
}static glfloat angle=0.0f;//光照角度
static float felect1 = 0.0f;
static float felect2 = 0.0f; // 繞星球旋轉的角度
glclear(gl_color_buffer_bit | gl_depth_buffer_bit); //清除顏色和深度緩衝區
; felect2 += 10.0f;// 增加旋轉步長,產生動畫效果
felect1 += 2.0f;// 增加旋轉步長,產生動畫效果
angle+=2.0f;
if(angle>360.0f)angle=2.0f;
if(felect2>360.0f)felect2=10.0f;
if(felect1>360.0f)felect1=2.0f;
glutswapbuffers();
}int main(int argc, char* ar**)
#include "stdafx.h"
//
#include "stdafx.h"
////
//int main()
////
效果圖
OpenGL 地球,月亮,太陽 相對運動
file earch moon sun.c 每個月,月亮繞地球一圈,每年,地球繞太陽一圈。為簡單起見,假設每個月30天,一年共30x12 360 天。假設天體都是球形,處於同一平面,太陽不動。單位 km 放大倍數 太陽半徑 696000 100 69600000 地球半徑 6378 2500 159...
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...
2023年地球與太陽的磁極同時顛倒 可能引發混亂
2012年地球與太陽的磁極同時顛倒 可能引發混亂 2005年03月02日03 51 重慶晨報 中國飛碟資訊網 ufo 電腦模擬顯示 2012年地球與太陽的磁極同時顛倒,可能引發系列混亂 磁力危機威脅地球 據印度報業托拉斯3月1日訊息,一項電腦模擬 顯示,地球與太陽的磁極將於2012年發生顛倒,所引發...