大作業 月球繞地球旋轉簡版

2021-10-06 10:36:35 字數 2798 閱讀 7598

%生成乙個地球

r=3; %地球半徑

[k,j,l] = sphere(200); %獲得三維球面得座標,生成三個n乘n得矩陣,n預設為20,三個矩陣分別是x,y,z單位球得座標,然後是一列一列來的

k=reshape(k,1,); %b = reshape(a,m,n) 將矩陣a的元素返回到乙個m×n的矩陣b。代表讓他自己生成

j=reshape(j,1,); %這裡相當於把矩陣展平,變成一向量

l=reshape(l,1,);

tz=[cos(x),-sin(x),0; %地球自轉速度

sin(x),cos(x),0;

0,0,1];

p=tz*[k;j;l];

% k=k'*tz(1,:);

% j=j'*tz(2,:);

% l=i'*tz(3,:);

plot3(p(1,:),p(2,:),p(3,:)); %分別取第一列第二列三列,也就是x,y,z

%plot3根據x,y,z繪製三維曲線,p(:,1)為取矩陣的第一列元素

%這裡的xyz可以是三個數,或者三個相同維數的向量或者矩陣

% plot3(k,j,l);

%生成乙個月亮  

u=1;

v=1;

w=1;

% [u,w,v] = sphere(200);

%% u=reshape(u,1,);

% w=reshape(w,1,);

% v=reshape(v,1,);

tt=[6,0,0;

0,0,0;

0,0,0];

t=[cos(x),-sin(x),0; %每次轉pi/10

sin(x),cos(x),0;

0,0,1];

ty=[cos(pi/4),0,sin(pi/4);

0,1,0;

-sin(pi/4),0,cos(pi/4)];

tx=[1,0,0;

0,cos(pi/6),-sin(pi/6);

0,sin(pi/6),cos(pi/6)];

op=tytxttt[u;v;w];

%plot3((op(1,:)+6),(op(2,:)+6),(op(3,:)+6));

%op=t*[u;v;w];

% [x,y,z] = sphere(20);

% surf=[x,y,z];

drawframe(or, op,0);

x=x+pi/10;

or1=[cos(pi+x),-sin(pi+x),0;

sin(pi+x),cos(pi+x),0;

0,0,1];

or=ty*tx*or1;

end

呼叫的乙個函式

function drawframe(or, op, fcla)

todeg=180/pi;

torad=pi/180;

%% 設定座標軸端點

px=[2,0,0]』;

py=[0,2,0]』;

pz=[0,0,2]』;

px=orpx+op;

py=orpy+op;

pz=or*pz+op;

%% 設定固定參考座標軸端點

wx=[4,0,0]』;

wy=[0,4,0]』;

wz=[0,0,4]』;

wo=[0,0,0]』;

% %繪製固定參考座標系

connect3d(wo,wx,『r』,0.5); hold on;

connect3d(wo,wy,『b』,0.5); hold on;

connect3d(wo,wz,『g』,0.5);hold on;

plot3(wo(1),wo(2),wo(3),『rx』);

plot3(wo(1),wo(2),wo(3),『ro』);

% %繪製區域性座標系

connect3d(op,px,『r』,2); hold on;

connect3d(op,py,『b』,2); hold on;

connect3d(op,pz,『g』,2);hold on;

view(145,33);

axis equal

axis([-10,10,-10,10,-10,10]);

xlabel(『x』);

ylabel(『y』);

zlabel(『z』);

grid on;

pause(0.1);

drawnow;

if(fcla)

cla;

end效果圖

大作業感悟

作為本次大作業的組長,看著專案從呱呱墜地到瓜熟蒂落,就像看著自己的孩紙長大一樣。心中感慨萬千,成長的過程總是快樂與痛苦並行,喜悅與煩惱同在的。從兩個星期前的頭腦風暴到前期的精心設計 中期的分工實施再到後期的測試與優化。每一步走的都讓 連忘返,每一步都讓人記憶猶新。在這兩個星期中,我們不僅得到了知識和...

爬蟲大作業

1 選乙個自己感興趣的主題。2 用python 編寫爬蟲程式,從網路上爬取相關主題的資料。3 對爬了的資料進行文字分析,生成詞云。4 對文字分析結果進行解釋說明。5 寫一篇完整的部落格,描述上述實現過程 遇到的問題及解決辦法 資料分析思想及結論。6 最後提交爬取的全部資料 爬蟲及資料分析源 impo...

爬蟲大作業

1.選乙個自己感興趣的主題。2.用python 編寫爬蟲程式,從網路上爬取相關主題的資料。3.對爬了的資料進行文字分析,生成詞云。4.對文字分析結果進行解釋說明。5.寫一篇完整的部落格,描述上述實現過程 遇到的問題及解決辦法 資料分析思想及結論。6.最後提交爬取的全部資料 爬蟲及資料分析源 impo...