1 / 1 / 0
Регистрация: 09.01.2011
Сообщений: 90
1

Движение лепестков крутились по часовой стрелке

22.04.2011, 20:36. Показов 2276. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне надо что бы это ромашка, точнее ее лепестки крутились по часовой стрелке! Как сделать не пойму:

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
uses Turtle,GraphABC;
const 
  N=14;
  R=300;
  Rmin=50;
  d=50;
procedure Lepestok (Rmin,R,p: real);
 procedure Vspom(sign: integer);
 var n,i: integer;
 begin
  Center;
  SetTurtlePhi(p);
  Turn(90);
  Forw(RMin);
  Turn(-sign*30);
  PenDown;
  n:=30;
  for i:=1 to 6 do
  begin
    forw(R*sin(Pi/n));
    Turn(sign*360/n);
  end;
  PenUp;
 end;
 begin
  Vspom(1);
  Vspom(-1);
end;
var i: integer;
begin
  SetWindowCaption('Черепашья графика: ромашка');
  SetWindowSize(500,500);
  Init;
  for i:=0 to N-1 do
    Lepestok(Rmin,R,i*360/N);
  SetBrushColor(clYellow);
  Ellipse(WindowWidth div 2 - d,WindowHeight div 2 - d,
          WindowWidth div 2 + d,WindowHeight div 2 + d);
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.04.2011, 20:36
Ответы с готовыми решениями:

Имитация часов. Движение по часовой стрелке
Здравствуйте. Помогите пожалуйста. Дело вот в чем, нужно сделать имитацию часов, пока первая...

Поворот полукруга по часовой стрелке
Добрый день! Нужно сделать так чтоб полукруг крутился по часовой стрелке и чтобы он постепенно...

Заполнить массив двигаясь по часовой стрелке
Заполните двухмерный массив Т последовательными целыми числами от 1 до n2, расположенными по...

Повернуть картинку на 90 градусов по часовой стрелке
Дана картинка. Требуется повернуть ее на 90 градусов по часовой стрелке вокруг центра. Картинка...

8
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
22.04.2011, 21:35 2
У Вас там используется какой-то самопальный модуль Turtle, у нас его нет...
0
1 / 1 / 0
Регистрация: 09.01.2011
Сообщений: 90
22.04.2011, 21:41  [ТС] 3
Извиняюсь что забыл добавить! Вот ;
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
unit Turtle;
 
uses GraphABC;
 
const Pi=3.141592;
 
var
  _up: boolean;
  _xx,_yy,_phi: real;
 
procedure PenUp;
begin
  _up:=True;
end;
 
procedure PenDown;
begin
  _up:=False;
end;
 
procedure ToPoint (x,y: real);
begin
  if not _up then Line(Round(x),Round(y),Round(_xx),Round(_yy));
  _xx:=x;
  _yy:=y;
end;
 
procedure OnVector (dx,dy: real);
begin
  ToPoint(_xx+dx,_yy+dy);
end;
 
procedure Forw (r: real);
begin
  OnVector(r*cos(_phi*Pi/180),r*sin(_phi*Pi/180));
end;
 
procedure Turn (dphi: real);
begin
  _phi:=_phi-dphi;
end;
 
procedure Center;
begin
  ToPoint(WindowWidth div 2,WindowHeight div 2);
end;
 
procedure Init;
begin
  PenUp;
  Center;
end;
 
function TurtleX: real;
begin
  Result:=_xx
end;
 
function TurtleY: real;
begin
  Result:=_yy
end;
 
function TurtlePhi: real;
begin
  Result:=_Phi
end;
 
procedure SetTurtleX(x: real);
begin
  _xx:=x
end;
 
procedure SetTurtleY(y: real);
begin
  _yy:=y
end;
 
procedure SetTurtlePhi(phi: real);
begin
  _phi:=phi
end;
 
end.
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
23.04.2011, 06:56 4
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
uses Turtle,GraphABC,crt; //подключим crt для выхода из программы по нажатию клавиши, не обязательно
const
  N=14;
  R=300;
  Rmin=50;
  d=50;
procedure Lepestok (Rmin,R,p: real;c:integer); //добавим параметр-цвет
 procedure Vspom(sign: integer);
 var n,i: integer;
 begin
  setpencolor(c);//цвет черный или белый
  Center;
  SetTurtlePhi(p);
  Turn(90);
  Forw(RMin);
  Turn(-sign*30);
  PenDown;
  n:=30;
  for i:=1 to 6 do
  begin
    forw(R*sin(Pi/n));
    Turn(sign*360/n);
  end;
  PenUp;
 end;
 begin
  Vspom(1);
  Vspom(-1);
end;
var i,u: integer; //добавим переменную - угол поворота
begin
  SetWindowCaption('Черепашья графика: ромашка');
  SetWindowSize(500,500);
  Init;
  hidecursor;//уберем курсор от crt
  SetBrushColor(clYellow);
  Ellipse(WindowWidth div 2 - d,WindowHeight div 2 - d,
          WindowWidth div 2 + d,WindowHeight div 2 + d);
  u:=0; //начнем с ноля
  repeat
  for i:=0 to N-1 do
  Lepestok(Rmin,R,i*360/N+u,clblack); //рисуем черным
  sleep(500); //задержка(можно delay(500))
  for i:=0 to N-1 do
  Lepestok(Rmin,R,i*360/N+u,clwhite); //рисуем белым-стираем
  u:=u+10;//поворачиваем на 10 гр. можно менять
  if u=360 then u:=0;//чтобы не накапливалось очень большое значение после оборота обнуляем
  until keypressed;  //по нажатию клавиши останавливаем
  for i:=0 to N-1 do
  Lepestok(Rmin,R,i*360/N+u,clblack);//рисуем
end.
2
1 / 1 / 0
Регистрация: 09.01.2011
Сообщений: 90
23.04.2011, 08:12  [ТС] 5
Ооо огромное спасибо тебе!!! По гроб жизни благодарен!
0
7 / 7 / 1
Регистрация: 11.01.2011
Сообщений: 78
24.05.2011, 20:15 6
Puporev, а никак нельзя такую же программу сделать без модуля Turtle?
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
24.05.2011, 20:26 7
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
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
119
120
121
122
123
124
125
126
127
128
129
uses GraphABC,crt;
const
  N=14;
  R=300;
  Rmin=50;
  d=50;
var
  _up: boolean;
  _xx,_yy,_phi: real;
 
procedure PenUp;
begin
  _up:=True;
end;
 
procedure PenDown;
begin
  _up:=False;
end;
 
procedure ToPoint (x,y: real);
begin
  if not _up then Line(Round(x),Round(y),Round(_xx),Round(_yy));
  _xx:=x;
  _yy:=y;
end;
 
procedure OnVector (dx,dy: real);
begin
  ToPoint(_xx+dx,_yy+dy);
end;
 
procedure Forw (r: real);
begin
  OnVector(r*cos(_phi*Pi/180),r*sin(_phi*Pi/180));
end;
 
procedure Turn (dphi: real);
begin
  _phi:=_phi-dphi;
end;
 
procedure Center;
begin
  ToPoint(WindowWidth div 2,WindowHeight div 2);
end;
 
procedure Init;
begin
  PenUp;
  Center;
end;
 
function TurtleX: real;
begin
  Result:=_xx
end;
 
function TurtleY: real;
begin
  Result:=_yy
end;
 
function TurtlePhi: real;
begin
  Result:=_Phi
end;
 
procedure SetTurtleX(x: real);
begin
  _xx:=x
end;
 
procedure SetTurtleY(y: real);
begin
  _yy:=y
end;
 
procedure SetTurtlePhi(phi: real);
begin
  _phi:=phi
end;
 
 
procedure Lepestok (Rmin,R,p: real;c:integer); //добавим параметр-цвет
 procedure Vspom(sign: integer);
 var n,i: integer;
 begin
  setpencolor(c);//цвет черный или белый
  Center;
  SetTurtlePhi(p);
  Turn(90);
  Forw(RMin);
  Turn(-sign*30);
  PenDown;
  n:=30;
  for i:=1 to 6 do
  begin
    forw(R*sin(Pi/n));
    Turn(sign*360/n);
  end;
  PenUp;
 end;
 begin
  Vspom(1);
  Vspom(-1);
end;
var i,u: integer; //добавим переменную - угол поворота
begin
  SetWindowCaption('Черепашья графика: ромашка');
  SetWindowSize(500,500);
  Init;
  hidecursor;//уберем курсор от crt
  SetBrushColor(clYellow);
  Ellipse(WindowWidth div 2 - d,WindowHeight div 2 - d,
          WindowWidth div 2 + d,WindowHeight div 2 + d);
  u:=0; //начнем с ноля
  repeat
  for i:=0 to N-1 do
  Lepestok(Rmin,R,i*360/N+u,clblack); //рисуем черным
  sleep(500); //задержка(можно delay(500))
  for i:=0 to N-1 do
  Lepestok(Rmin,R,i*360/N+u,clwhite); //рисуем белым-стираем
  u:=u+10;//поворачиваем на 10 гр. можно менять
  if u=360 then u:=0;//чтобы не накапливалось очень большое значение после оборота обнуляем
  until keypressed;  //по нажатию клавиши останавливаем
  for i:=0 to N-1 do
  Lepestok(Rmin,R,i*360/N+u,clblack);//рисуем
end.
1
7 / 7 / 1
Регистрация: 11.01.2011
Сообщений: 78
24.05.2011, 20:30 8
хаааа классс вот это тема), благодарю!
0
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 11
13.04.2012, 19:02 9
можно ли сделать что бы у этой ромашки лепестки были разноцветные???
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.04.2012, 19:02
Помогаю со студенческими работами здесь

Матрица,повернуть на четверть по часовой стрелке
В матрице А(N,N) все ее элементы повернуть на четверть по часовой стрелке и разместить их в матрице...

Двумерный массив. Заполнение по часовой стрелке к центру.
заполнить массив 7 на 7 элементов последовательность чисел от 1 до 49 по часовой стрелке к центру....

Повернуть матрицу D размерности N x M на 90 градусов по часовой стрелке
Нужно написать код программы... но я со всем запутался пока писал.. Нужно выполнить любое задание...

Повернуть квадратную матрицу на 90 градусов по часовой стрелке
повернуть квадратную матрицу размером n*n на 90 градусов по часовой стрелке


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

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

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