// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"
#include <GL/glut.h>
#include <stdlib.h>static int year = 0, day = 0,year2 = 0,day2 = 0;void init(void)
{glClearColor (0.0, 0.0, 0.0, 0.0);glShadeModel (GL_FLAT);
}void display(void)
{glClear (GL_COLOR_BUFFER_BIT);glColor3f (1.0, 1.0, 1.0);glPushMatrix();// glRotatef(90.0,1.0,0.0,0.0);glutWireSphere(1.0, 20, 16);   /* draw sun */glPopMatrix();glPushMatrix();glRotatef ((GLfloat) year2, 0.0, 1.0, 0.0);glTranslatef (2.0, 0.0, 0.0);glRotatef ((GLfloat) day2, 1.0, 1.0, 0.0);glutWireSphere(0.1, 10, 8);    /* draw another smaller planet */glPopMatrix();glPushMatrix();glRotatef ((GLfloat) year, 0.0, 1.0, 0.0);glTranslatef (1.5, 0.0, 0.0);glRotatef ((GLfloat) day, 1.0, 1.0, 0.0);glRotatef(-45.0,0.0,0.0,1.0);glRotatef(90.0,1.0,0.0,0.0);glutWireSphere(0.2, 10, 8);    /* draw smaller planet */glPopMatrix();glutSwapBuffers();
}void reshape (int w, int h)
{glViewport (0, 0, (GLsizei) w, (GLsizei) h); glMatrixMode (GL_PROJECTION);glLoadIdentity ();gluPerspective(60.0, (GLfloat) w/(GLfloat) h, 1.0, 20.0);glMatrixMode(GL_MODELVIEW);glLoadIdentity();gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
}void keyboard (unsigned char key, int x, int y)
{switch (key) {case 'd':day = (day + 10) % 360;glutPostRedisplay();break;case 'D':day = (day - 10) % 360;glutPostRedisplay();break;case 's':day2 = (day2 + 10) % 360;glutPostRedisplay();break;case 'S':day2 = (day2 - 10) % 360;glutPostRedisplay();break;case 'y':year = (year + 5) % 360;year2 = (year2+3)%360;glutPostRedisplay();break;case 'Y':year = (year - 5) % 360;year2 = (year2-3)%360;glutPostRedisplay();break;case 27:exit(0);break;default:break;}
}int main(int argc, char** argv)
{glutInit(&argc, argv);glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB);glutInitWindowSize (500, 500); glutInitWindowPosition (100, 100);glutCreateWindow (argv[0]);init ();glutDisplayFunc(display); glutReshapeFunc(reshape);glutKeyboardFunc(keyboard);glutMainLoop();return 0;
}

opengl简单模拟行星运转相关推荐

  1. 用 Python 简单做个 动态模拟太阳系运转 吧

    提到太阳系,大家可能会想到哥白尼和他的日心说,或是捍卫.发展日心说的斗士布鲁诺,他们像一缕光一样照亮了那个时代的夜空,对历史感兴趣的小伙伴可以深入了解一下,这里就不多说了. 太阳以巨大的引力使周边行星 ...

  2. 150行Python代码模拟太阳系行星运转

    今天我们用Python来模拟一下太阳系行星运动轨迹玩玩~ 先上成品图(运行效果含音乐的呦) 想要实现这样的效果并不难 1.准备材料 首先我们需要准备这样一些材料 宇宙背景图 背景透明的行星图 2:编写 ...

  3. 用python画太阳系_用 Python 动态模拟太阳系运转

    提到太阳系,大家可能会想到哥白尼和他的日心说,或是捍卫.发展日心说的斗士布鲁诺,他们像一缕光一样照亮了那个时代的夜空,对历史感兴趣的小伙伴可以深入了解一下,这里就不多说了. 太阳以巨大的引力使周边行星 ...

  4. python绘制动态模拟图-如何利用Python动态模拟太阳系运转

    前言 提到太阳系,大家可能会想到哥白尼和他的日心说,或是捍卫.发展日心说的斗士布鲁诺,他们像一缕光一样照亮了那个时代的夜空,对历史感兴趣的小伙伴可以深入了解一下,这里就不多说了. 太阳以巨大的引力使周 ...

  5. python模拟太阳系_用 Python 动态模拟太阳系运转

    提到太阳系,大家可能会想到哥白尼和他的日心说,或是捍卫.发展日心说的斗士布鲁诺,他们像一缕光一样照亮了那个时代的夜空,对历史感兴趣的小伙伴可以深入了解一下,这里就不多说了. 太阳以巨大的引力使周边行星 ...

  6. 如何利用Python动态模拟太阳系运转

    更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接:好看站 http://www.nrso.net/ 高州阳光论坛https://www.hnthzk.com/ 前 ...

  7. 用 Python 动态模拟太阳系运转

    文 | 野客 来源:Python 技术「ID: pythonall」 提到太阳系,大家可能会想到哥白尼和他的日心说,或是捍卫.发展日心说的斗士布鲁诺,他们像一缕光一样照亮了那个时代的夜空,对历史感兴趣 ...

  8. python绘制太阳系_如何利用Python动态模拟太阳系运转

    前言 提到太阳系,大家可能会想到哥白尼和他的日心说,或是捍卫.发展日心说的斗士布鲁诺,他们像一缕光一样照亮了那个时代的夜空,对历史感兴趣的小伙伴可以深入了解一下,这里就不多说了. 太阳以巨大的引力使周 ...

  9. python怎么画地球绕太阳转_如何利用Python动态模拟太阳系运转

    前言 提到太阳系,大家可能会想到哥白尼和他的日心说,或是捍卫.发展日心说的斗士布鲁诺,他们像一缕光一样照亮了那个时代的夜空,对历史感兴趣的小伙伴可以深入了解一下,这里就不多说了. 太阳以巨大的引力使周 ...

最新文章

  1. linux定时任务定向到空,Linux 定时任务下 /dev/null 21 相关知识说明
  2. poj2154-color-polyan次二面体+欧拉函数优化
  3. 马斯克,带动大盘的男人:财报一出市值飙升 840 亿!
  4. (0013)iOS 开发之集成友盟第三方登录
  5. 《A Berkeley View of systems challenges for AI》总结
  6. 设计模式之 六大原则
  7. 深入了解Token认证的来龙去脉
  8. Git提交branch到remote
  9. 干旱的草原与拉大提琴的牧人
  10. java 信息增益_对信息增益(IG,Information Gain)的理解和计算
  11. Catalan数(卡特兰数)
  12. Spring中AOP开发步骤
  13. 里面怎么打中文字_“标题党”英语应该怎么翻译?不要翻译成“title party”!...
  14. python和jupyter安装
  15. jquery.dataTables列中内容居中问题?求解?
  16. python怎么读取excel-python读写excel文件
  17. windows10误删Administrator用户的家目录之后
  18. 商淘软件已成为ThinkPHP商城系统之标杆产品
  19. 强大的Windows 10数字权利获取工具HWIDGEN
  20. 《Robot Framework自动化测试修炼宝典》道长

热门文章

  1. 朱清时——物理学步入禅境:缘起性空-(技术工作者上升到哲学思维)
  2. java io 呕心沥血的学习 学了就忘
  3. 第五代人工智能计算机英语,计算机专业英语——关于第五代计算机
  4. 线性表的顺序存储结构及基本操作
  5. img 格式相互转换 url, base64,blob, file
  6. 关于物联网你需要知道的一切
  7. .net 3des 解密
  8. com.zxy.android tiny,遇到一个 SIGABRT 这样的错误
  9. 云虚拟主机bch 和 云服务器bcc,虚拟主机bch和云服务器bcc
  10. python程序设计与案例教程王小银_《Python程序设计与案例教程》王小银著【摘要 书评 在线阅读】-苏宁易购图书...