天体运动模型程序代码.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
天体运动模型程序代码

#includegraphics.h#includeconio.h#includemath.h#includetime.h#define PI 3.14159 #define MAXSTAR 20000//星星总数#pragma comment( lib, MSIMG32.LIB)struct STAR{double x;int y;double step;int color;};STAR star[MAXSTAR];void InitStar(inti)//初始化星星{star[i].x = 0;star[i].y =rand() % 800;star[i].step =((rand() % 5000) / 1000.0 + 1)*100000000;star[i].color = (int)(star[i].step * 255 / 6.0 +10);star[i].color = RGB(star[i].color, star[i].color, star[i].color);}voidMoveStar(inti){if (star[i].x 1360)InitStar(i);putpixel(pow(-1,i)*(int)star[i].x,pow(-1,i)*star[i].y, star[i].color);//画新星星putpixel(pow(-1,i)*(int)star[i].x,pow(-1,i+1)*star[i].y, star[i].color);//画新星星putpixel(pow(-1,i)*(int)star[i].x+1,pow(-1,i)*star[i].y, star[i].color);//画新星星putpixel(pow(-1,i)*(int)star[i].x+1,pow(-1,i+1)*star[i].y, star[i].color);//画新星星putpixel(pow(-1,i)*(int)star[i].x,pow(-1,i)*star[i].y+1, star[i].color);//画新星星putpixel(pow(-1,i)*(int)star[i].x,pow(-1,i+1)*star[i].y+1, star[i].color);//画新星星putpixel(pow(-1,i)*(int)star[i].x-1,pow(-1,i)*star[i].y, star[i].color);//画新星星putpixel(pow(-1,i)*(int)star[i].x-1,pow(-1,i+1)*star[i].y, star[i].color);//画新星星putpixel(pow(-1,i)*(int)star[i].x,pow(-1,i)*star[i].y-1, star[i].color);//画新星星putpixel(pow(-1,i)*(int)star[i].x,pow(-1,i+1)*star[i].y-1, star[i].color);//画新星星}class Solar{float a[8]; //公转轨道的半长轴float e[8]; //轨道的偏心率float t[8]; //公转周期float r[8]; //行星半径float x[8]; //在某处时的横坐标float y[8]; //在某处时的纵坐标public:Solar(float a1[8],float e1[8],float t1[8],float r1[8]){for(inti=0;i8;i++){a[i]=a1[i];e[i]=e1[i];t[i]=t1[i];r[i]=r1[i];}}void Sun(){float m=0;m=a[0]*e[0];IMAGE img;loadimage(img, E:\\x\\0.jpg);putimage(-m-60,-39, img);}void Xx(){srand((unsigned)time(NULL)); //随机种子int N=0;floatm,n,A,C,X[2],Y[2];BeginBatchDraw();for(int c=0;cpow(10,8);c++){Sun();for(int j=0;j8;j++){A=2*PI*c/t[j]+PI*j/60;switch(j){case 0:C=A+3;break;case 1:C=A+5;break;case 2:C=A+2;break;case 3:C=A+3;break;case 4:C=A+2.5;break;case 5:C=A+0;break;case 6:C=A-0.5;break;case 7:C=A+0;break;

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档