How can I make the Earth rotate around it's axis in matlab?

조회 수: 5 (최근 30일)
So I want to represent the Earth rotating for a number of seconds from a tspan knowing that a full rotation happens in 86160 seconds. It means that for 239.33 seconds , the Earth rotates with a degree. The problem is that I don t know how to use the rotate command in a right way. This is the code:
tspan=[0 :72000];
[X,Y,Z]=sphere(50);
R=6400000;
earth = imread('earth.jpg');
globe= surf(-X*R,Y*R,-Z*R);
image_file='earth.jpg';
cdata = imread(image_file);
set(globe, 'FaceColor', 'texturemap', 'CData', cdata, 'EdgeColor', 'none');
set(gcf,'Color','k')
set(gca, 'visible', 'off')
axis equal
view (90,0)
rotating=1; % 1 degree ever 239.33 seconds from tspan
rotate(earth, [0 1 0],1) % test to see if it's working

채택된 답변

David Goodmanson
David Goodmanson 2018년 2월 25일
편집: David Goodmanson 2018년 2월 26일
Hi Alexandru,
MODIFIED answer
I used a jpg of my own and reproduced your code, eliminating some lines that were not in use. It works really well. I am not sure what you mean by 'doesn't stay on fixed axis, moves around it'. When I run this, the globe stays in place. I am using [0 0 1] instead of [0 1 0] so that the globe rotates about the north pole. With [0 1 0] the globe is rotating about an unusual axis, but it is still staying in place and rotating about its center of mass.
[X,Y,Z]=sphere(50);
R=6400000;
globe= surf(-X*R,Y*R,-Z*R);
cdata = imread('chilis.jpg');
set(globe, 'FaceColor', 'texturemap', 'CData', cdata, 'EdgeColor', 'none');
set(gcf,'Color','k')
set(gca, 'visible', 'off')
axis equal
view (90,0)
rotate(earth, [0 0 1],1) % test to see if it's working
  댓글 수: 12
Alexandru Lapusneanu
Alexandru Lapusneanu 2018년 3월 2일
I figured it out , after all. The code it's working, but the problem is that the axis are rescaling after the orbit is being displayed as growing from values that are close to the Earth's radius, when it's at perigee, to bigger values at apogee.
David Goodmanson
David Goodmanson 2018년 3월 2일
just a matter of time before you solved it.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Map Display에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by