1 / 1 / 1
Регистрация: 22.04.2013
Сообщений: 5
1

Спутник вращается вокруг земли, при нажатии кнопки, он переходит в эллипсоидную орбиту

22.04.2013, 07:24. Показов 2478. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток. Хотел попросить помощи с задачками, похожих не нашел, создал тему. Заранее спасибо!

Задача 2. Анимация: «Спутник вращается вокруг земли, при нажатии кнопки, он переходит в эллипсоидную орбиту, относительно той точки в которой находится.» (т.е. начать двигаться по наклонному эллипсу, из той точки в которой он находится). У меня получилось только так:
Pascal
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
uses Sounds, graphABC,crt;
var x,y,x1,y1,n,x2,y2, k:integer;
    u:real;
begin
//описание картинки
textout(20,370,'Нажмите "Enter" для запуска двигателей');
circle(320,200,75);               {Земля}
FloodFill(320,200,clskyblue)  ;   {цвет земли}
hidecursor;
x:=320;
y:=200;
u:=0;
setpencolor(clRed);
x1:=x+round(100*cos(u));
y1:=y-round(100*sin(u));
//если поменять синус и косинус, вращение в другую сторону
circle(x1,y1,10);
FloodFill(x1,y1,clblack)  ;     {цвет спутника}
repeat
delay(50);
setpencolor(clWhite);
circle(x1,y1,10);
u:=u+0.04;
setpencolor(clRed);
x1:=x+round(100*cos(u));
y1:=y-round(100*sin(u));
circle(x1,y1,10);
FloodFill(x1,y1,clblack)  ;     {цвет спутника}
until keypressed;
hidecursor;
repeat
delay(50);
setpencolor(clWhite);
circle(x1,y1,10);
u:=u+0.04;
setpencolor(clRed);
x1:=x+round(200*cos(u));
y1:=y-round(100*sin(u));
circle(x1,y1,10);
FloodFill(x1,y1,clblack)  ;     {цвет спутника}
until k=1000
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.04.2013, 07:24
Ответы с готовыми решениями:

Разработайте динамическую модель Земли, которая вращается вокруг Солнца и вокруг которой вращается Луна
2) Разработайте динамическую модель Земли, которая вращается вокруг Солнца и вокруг которой...

Создать модель движения Солнца вокруг орбиты, Земли вокруг Солнца, Луны вокруг земли
Вот есть набросок, что дальше? :help: Const pi = 3.14 Dim intRev As Single Private Sub...

Движение Луны вокруг Земли а Земли вокруг Солнца
надо в паскале написать программу которая графически изобразит движение Луны вокруг Земли а ...

Сделать анимацию вращения Земли вокруг Солнца одновременно с анимацией вращения Луны вокруг Земли
помогите сделать анимацию вращения земли вокруг солнца одновременно с анимацией вращения луны...

1
1 / 1 / 1
Регистрация: 22.04.2013
Сообщений: 5
23.04.2013, 19:34  [ТС] 2
Сделал на простом паскале ABC, т.к. вылетала ошибка с модулем crt на паскале abc.net. Поэтому тему можно перекинуть в раздел PascalABC - может кому понадобится, или удалить...
Если кто знает как исправить ошибку с crt, напишите - буду признателен.

В общем вот код программы где спутник выходит на орбиту относительно того где он находится, но систему координат не смог сделать динамичную, поэтому получается в некоторых местах деревянно

Pascal
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
uses graphABC,crt;
var x,y,x1,y1,n,x2,y2, k:integer;
    ox, oy, oz: real;
    u:real;
//движение по эллипсам
procedure DvOsX(var x,y,x1,y1,x2: integer; u:real);
begin
repeat
  delay(50);
  setpencolor(clWhite);
  circle(x2,y1,10);
  u:=u+0.04;
  setpencolor(clRed);
  x2:=2*x-x1+round(200*cos(u));
  y1:=y-round(150*sin(u));
  circle(x2,y1,10);
  FloodFill(x2,y1,clblack)      ;
  textout(20,370,'Нажмите "Enter" для запуска двигателей');
  until k=1000
end;
procedure DvOsY(var x,y,x1,y1,y2: integer; u:real);
begin
repeat
  delay(50);
  setpencolor(clWhite);
  circle(x1,y2,10);
  u:=u+0.04;
  setpencolor(clRed);
  x1:=x+round(150*cos(u));
  y2:=2*y-y1-round(200*sin(u));
  circle(x1,y2,10);
  FloodFill(x1,y2,clblack)  ;     {цвет спутника}
  textout(20,370,'Нажмите "Enter" для запуска двигателей');
  until k=1000
  end;
procedure DvOsi(var x,y,x1,y1,x2,y2: integer; u:real);
begin
repeat
  delay(50);
  setpencolor(clWhite);
  circle(x2,y2,10);
  u:=u+0.04;
  setpencolor(clRed);
  x2:=2*x-x1+round(200*cos(u));
  y2:=2*y-y1-round(200*sin(u));
  circle(x2,y2,10);
  FloodFill(x2,y2,clblack);
  textout(20,370,'Нажмите "Enter" для запуска двигателей');
  until k=1000
end;
 
begin
//описание картинки
textout(20,370,'Нажмите "Enter" для запуска двигателей');
circle(320,200,75);               {Земля}
FloodFill(320,200,clskyblue)  ;   {цвет земли}
hidecursor;
x:=320;
y:=200;
u:=0;
setpencolor(clRed);
x1:=x+round(100*cos(u));
y1:=y-round(100*sin(u));
//если поменять синус и косинус, вращение в другую сторону
circle(x1,y1,10);
FloodFill(x1,y1,clblack)  ;     {цвет спутника}
repeat
delay(50);
setpencolor(clWhite);
circle(x1,y1,10);
u:=u+0.04;
setpencolor(clRed);
x1:=x+round(100*cos(u));
y1:=y-round(100*sin(u));
circle(x1,y1,10);
FloodFill(x1,y1,clblack)  ;     {цвет спутника}
until keypressed;
hidecursor;
//замазка
setpencolor(clWhite);
circle(x1,y1,10);
//выход на нужную ось
oz:= 7800;
ox:= Sqr(x-x1);
oy:= Sqr(y-y1);
if (ox > oy) and ( ox > oz)
then  DvOsX (x,y,x1,y1,x2,u)
else  if (ox < oy) and (oy > oz)
      then DvOsY (x,y,x1,y1,y2,u)
      else DvOsi (x,y,x1,y1,x2,y2,u)
end.
1
23.04.2013, 19:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.04.2013, 19:34
Помогаю со студенческими работами здесь

Спутник Земли массы m движется по круговой орбите, радиус которой вдвое больше радиуса Земли. Какой дополнительный импульс и в каком направлении следу
Спутник Земли массы m движется по круговой орбите, радиус которой вдвое больше радиуса Земли. Какой...

Курсовая работа по графики Спутник земли
Курсовая работа на паскале &quot;Спутник земли &quot; Люди помогите ,пожалуйста, перевести эту программу с...

Первый искусственный спутник Земли - новый астрономический объект?
Завтра исполняется 59 лет со дня запуска первого искусственного спутника Земли. Конечно я его не...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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