文件名称:
qq.mmatlab编程,太阳地球月亮公转自转,球体贴图
开发工具:
文件大小: 3kb
下载次数: 0
上传时间: 2020-06-15
详细说明:matlab编程,太阳地球月亮公转自转,球体贴图,基于matlab的仿真,实现了太阳的自转以及地球月球的自转公转。
k=6;
n = 2^k-1;
[x,y,z]=sphere(n );
A = imread('taiyang.png');
patches0=surf2patch(x,y,z,A);
k=6;
n = 2^k-1;
[x,y,z]=sphere(n );
AA = imread('diqiu00.png');
patches1=surf2patch(x,y,z,AA);
k=6;
n = 2^k-1;
[x,y,z]=sphere(n );
AAA = imread('yueqiu.png');
patches2=surf2patch(x,y,z,AAA);
%set(patches,'edgecolor','none')
% 设计太阳月亮地球的相对大小
Ssun=1;
Searth=0.4;
Smoon=0.2;
% 设置太阳与地球间的距离
Res=4;
% 设置地球与月亮之间的距离
Rme=1;
alpha=0;
beta=0;
theta=0;
% 设置旋转速度
step_a=0.1; %a的步长
step_b=0.2; %b的步长
step_t=0.05; %c的步长
% 设置太阳的位置
Csun=[0,0,0];
% 计时器
time=0;
h=figure;
% 取消坐标轴之类的属性
set(h,'toolbar','none','menubar','none','numbertitle','off')
% 进入大循环
while 1==1
clf
% 设置地球的位置
Cx=4*cos(alpha);
Cy=4*sin(alpha);
Cz=0;
Cearth=[Cx,Cy,Cz];
Cmoon=[Cx+cos(2*alpha);Cy+sin(2*alpha);0;1];
patches_sun=patches0;
% 绕z轴旋转坐标公式
Rz=[cos(5*theta) -sin(5*theta) 0;sin(5*theta) cos(5*theta) 0;0 0 1];
[len]=64*64;
for i=1:len
P=Rz*[patches0.vertices(i,1);patches0.vertices(i,2);patches0.vertices(i,3)];
patches_sun.vertices(i,1)=P(1);
patches_sun.vertices(i,2)=P(2);
patches_sun.vertices(i,3)=P(3);
end
patch(patches_sun),shading flat,hold on
patches_moon=patches2;
[len,t]=size(patches2.vertices);
for i=1:len
P=Rz*[patches2.vertices(i,1)*Smoon;patches2.vertices(i,2)*Smoon;patches2.vertices(i,3)*Smoon]+[Cmoon(1);Cmoon(2);Cmoon(3)];
patches_moon.vertices(i,1)=P(1);
patches_moon.vertices(i,2)=P(2);
patches_moon.vertices(i,3)=P(3);
end
patch(patches_moon),shading flat
% 与改变太阳顶点值一致,改变地球的顶点值
patches_earth=patches1;
[len,t]=size(patches1.vertices);
for i=1:len
P=Rz*[patches1.vertices(i,1)*Searth;patches1.vertices(i,2)*Searth;patches1.vertices(i,3)*Searth]+[Cx;Cy;Cz];
patches_earth.vertices(i,1)=P(1);
patches_earth.vertices(i,2)=P(2);
patches_earth.vertices(i,3)
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.