使用opengl模拟太阳系的问题

humazi 2010-04-13 06:51:41
40度倾斜。给地球、月球及其卫星一个40度的倾斜。这种倾斜类似于真实地球的角度小一些的倾斜,这种倾斜使地球产生了四季。注意地球的轨道不要倾斜,仅仅是地球、月球及其卫星这一系统的整体倾斜。因此该倾斜的方向总是相同的(例如朝向x轴正向);相对于太阳,倾斜的角度不是一成不变的。
月球及其卫星的轨道的倾斜角度必须相同,这样才能使它们始终位于地球赤道的上方。也就是说,地球的中心、月球、月球的卫星是共面的,同时地球自转的轴与此平面垂直。
视觉效果是:地球系统始终向右倾斜40度。地球和行星X的轨道在同一平面上。
谁能解释下,顺便说说思路,该如何去做呢,不胜感激。
...全文
601 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xcytdn 2012-09-24
  • 打赏
  • 举报
回复
正在做毕设,很需要
xiaoyuandeyu 2010-05-05
  • 打赏
  • 举报
回复
路过...
离草 2010-05-04
  • 打赏
  • 举报
回复
我有一个VC MFC +opengl的行星模拟系统,要不?
wxy_620 2010-05-01
  • 打赏
  • 举报
回复
glPushMatrix();
//glTranslatef(0.0,0.0,-5.0);
gluLookAt(0.0,0.0,10.0,0.0,0.0,0.0,0.0,1.0,0.0);
glRotatef();//太阳自转
glPushMatrix();
glutSolidSphere (1.0, 40, 32);
cout<<"spin is : "<<spin<<endl;
glPopMatrix();

glRotatef();//地球绕太阳公转
glTranslatef();
glRotatef();//地球自转
glPushMatrix();
glutSolidSphere (0.4, 20, 16);

glRotatef();//月球绕地球转
glTranslatef();
glRotatef();//月球自转
glPushMatrix();
glutSolidSphere (0.2, 20, 16);
glPopMatrix();
glPopMatrix();

glPopMatrix()
glPopMatrix();

glFlush ();

感觉是这样的结构吧
dream17953 2010-04-30
  • 打赏
  • 举报
回复
对每一个物体都用变换函数放在前边, 按照正常顺序来就行。
cdm2179 2010-04-29
  • 打赏
  • 举报
回复
glRotatef( 360.0*DayOfYear/365.0, 0.0, -1.0, 0.0 ); // 反转
glRotatef( 40, 0, 0, -1);

07数媒路过。。。
syz 2010-04-20
  • 打赏
  • 举报
回复
其实就是基本MATRIX 运算.看看例程吧.
SomaCruz 2010-04-14
  • 打赏
  • 举报
回复
水手。。我的思路是在某些地方加上glRotatef( 40.0, 0.0, 0.0, 1.0 ); glPushMatrix(); glPopMatrix();但是在哪里加我也不知道,同问

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧