Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 30.04.2014
Сообщений: 1
1

сложное вращение объектов

15.05.2015, 20:46. Показов 778. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте,нужно смоделировать такую систему: солнце вокруг которого вращается юпитер,вокруг него вращается титан,а вокруг титана в свою очередь спутник,который в коде зовется луной. Нужно срочно отослать код преподавателю,а я никак не могу заметить где я накосячил с вращением и как более реалистичными сделать орбиты. Мозги совсем уже не варят,помогите пожалуйста.
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
[xS0,yS0,zS0] = sphere; % солнышко
[xJ0,yJ0,zJ0] = sphere; %Юпитер 
[xT0,yT0,zT0] = sphere; %Титан 
[xM0,yM0,zM0] = sphere; %moon 
load detail 
hemisphere1 = [ones(180,0), flipud(X), ones(180,0)];
RS = 25;
RJ = 20; % Radius Jup 
RT = 10; % Radius Titan 
RM = 5; 
n=20; 
dTheta = 10/n; 
ROJ = 130;
ROT = 120; % Radius orb Titan 
ROM = 20;
dxJ = ROJ; dyJ = 0;
dxT = dxJ+ROJ; dyT = 0; 
dxM = dxT+ROM; dyM = 0;
xS = xS0*RS; yS = yS0*RS; zS = zS0*RS;
xJ = xJ0*RJ+dxJ; yJ = yJ0*RJ+dyJ; zJ = zJ0*RJ; 
xT = xT0*RT+dxT; yT = yT0*RT+dyT; zT = zT0*RT; 
xM = xM0*RM+dxM; yM = yM0*RM+dyM; zM = zM0*RM; 
 
surf(xS,yS,zS); 
hold on;
surf(xJ,yJ,zJ);
surf(xT,yT,zT); 
surf(xM,yM,zM); 
axis off; 
axis equal; 
axis([-400 400 -400 400 -400 400]); 
zoom(2) 
%axis([-2500 2500 -2500 2500 -2500 500]); 
 
view(0, 100) 
for i=0:1:1600 
cla 
dxJ = ROJ*2*cosd(-2.5*i); 
dyJ = ROJ*sind(-2.5*i);
dxT = dxJ+ROT*2*cosd(-2.5*i); 
dyT = dyJ+ROT*sind(-2.5*i); 
dxM = dxT+ROM*4*cosd(2*i); 
dyM = dyT+ROM*sind(2*i); 
xS = xS0*RS; yS = yS0*RS; zS = zS0*RS;
xJ = xJ0*RJ+dxJ; yJ = yJ0*RJ+dyJ; zJ = zJ0*RJ; 
xT = xT0*RT+dxT; yT = yT0*RT+dyT; zT = zT0*RT; 
xM = xM0*RM+dxM; yM = yM0*RM+dyM; zM = zM0*RM; 
shading flat 
h1=surface(xS,yS,zS); 
set(h1, 'CData', hemisphere1, ... 
'FaceColor', 'texturemap')
surf(xJ,yJ,zJ);
surf(xT,yT,zT); 
surf(xM,yM,zM); 
camorbit(-dTheta*3, 0); 
pause(0.05); 
end;
 
Дмитрий Калошин
даже вот так,осталось только орбиты выровнять,помогите ребятки
20:04:44    
[xS0,yS0,zS0] = sphere; % солнышко
[xJ0,yJ0,zJ0] = sphere; %Юпитер 
[xT0,yT0,zT0] = sphere; %Титан 
[xM0,yM0,zM0] = sphere; %moon 
load detail 
hemisphere1 = [ones(180,0), flipud(X), ones(180,0)];
RS = 25;
RJ = 15; % Radius Jup 
RT = 7; % Radius Titan 
RM = 3; 
n=20; 
dTheta = 10/n; 
ROJ = 125;
ROT = 80; % Radius orb Titan 
ROM = 20;
dxJ = ROJ; dyJ = 0;
dxT = dxJ+ROJ; dyT = 0; 
dxM = dxT+ROM; dyM = 0;
xS = xS0*RS; yS = yS0*RS; zS = zS0*RS;
xJ = xJ0*RJ+dxJ; yJ = yJ0*RJ+dyJ; zJ = zJ0*RJ; 
xT = xT0*RT+dxT; yT = yT0*RT+dyT; zT = zT0*RT; 
xM = xM0*RM+dxM; yM = yM0*RM+dyM; zM = zM0*RM; 
 
surf(xS,yS,zS); 
hold on;
surf(xJ,yJ,zJ);
surf(xT,yT,zT); 
surf(xM,yM,zM); 
axis off; 
axis equal; 
axis([-400 400 -400 400 -400 400]); 
zoom(2) 
%axis([-2500 2500 -2500 2500 -2500 500]); 
 
view(0, 100) 
for i=0:1:1600 
cla 
dxJ = ROJ*2*sind(-2.5*i); 
dyJ = ROJ*cosd(-2.5*i);
dxT = dxJ+ROT*cosd(-2.5*i); 
dyT = dyJ+ROT*sind(-2.5*i); 
dxM = dxT+ROM*2*cosd(2*i); 
dyM = dyT+ROM*sind(2*i); 
xS = xS0*RS; yS = yS0*RS; zS = zS0*RS;
xJ = xJ0*RJ+dxJ; yJ = yJ0*RJ+dyJ; zJ = zJ0*RJ; 
xT = xT0*RT+dxT; yT = yT0*RT+dyT; zT = zT0*RT; 
xM = xM0*RM+dxM; yM = yM0*RM+dyM; zM = zM0*RM; 
shading flat 
h1=surface(xS,yS,zS); 
set(h1, 'CData', hemisphere1, ... 
'FaceColor', 'texturemap')
surf(xJ,yJ,zJ);
surf(xT,yT,zT); 
surf(xM,yM,zM); 
camorbit(-dTheta*3, 0); 
pause(0.05); 
end;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.05.2015, 20:46
Ответы с готовыми решениями:

Вращение 3d-объектов
Здравствуйте уважаемые программисты! есть у кого нибудь движок на визуал с++ для вращения 3д...

Вращение объектов OpenGL
Недавно начала изучать OpenGl.Создала объекты(2 треугольника и прямоугольник) и наложила на...

Вращение объектов вокруг своей оси в DirectX
Всех приветствую. Собственно проблема заключается вот в чем. Нужно провернуть объект,...

Преобразования координат двумерных объектов (вращение, параллельный перенос)
Программа «Преобразования координат двумерных объектов (вращение, параллельный перенос)» Помогите...

0
15.05.2015, 20:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2015, 20:46
Помогаю со студенческими работами здесь

Visul Basic 6.0. Разработайте приложение моделирующее вращение объектов
Разработайте приложение моделирующее вращение объектов (шариков) вокруг некоторого центра....

Реализовать вращение 3D объекта как вращение камеры
Существует некий объект в 3D пространстве (для примера используем куб). В исходном положении это...

Сложное Д.У.
Помогите решить Д.У. последнее осталось, не знаю как решить 2y' = x + ln(y')

сложное меню
Всем, привет. Понятия не имею как спросить у гугла, поэтому спрашиваю у вас. Хочу сделать меню...

Сложное выражение
Нужжно вывести выражение (A+B)/(A-B) в Label1 При вводе данной строчке выдает ошибку ...

Сложное задание
Задание на фото, там по данной БД надо прогу сделать "пропускной пункт предприятия" Access, а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru