Форум программистов, компьютерный форум, киберфорум
Наши страницы

Turbo Pascal

Войти
Регистрация
Восстановить пароль
 
zadrog
1 / 1 / 0
Регистрация: 21.02.2015
Сообщений: 91
#1

Фигуру заменить на пирамиду, в основании которой лежит правильный десятиугольник - Turbo Pascal

04.02.2016, 09:14. Просмотров 236. Ответов 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
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
Program Parallelepiped; {Программа "Параллелепипед"}
uses Crt, Graph;(*Загрузка необходмсых модулей*)
var (*Рездел описания переменных*) 
   gd, gm: Integer;
(*перменные, отвечающие за работу в граф. режиме*)   
   par: array[1..8, 1..3] of real;
(*координаты вершин*) 
   ribs: array[1..12, 1..2] of integer; 
(*ребра*)
   i: integer;
(*переменная цикла*) 
   ch: char;         
(*нажатая клавиша*)
 
procedure draw; (*Процедура вывода на экран*)             
var {Рездел описания переменных}
   x1, x2, y1, y2: integer;
   ver1, ver2: integer;
begin {Операторная скобка}
   for i := 1 to 12 do begin 
{ресует 12 ребер}     
   ver1 := ribs[i,1];
{координата вершины, соединяемая i-м ребром}        
   ver2 := ribs[i,2];
{rоордината вершины, соединяемая i-м ребром}        
   x1 := round(par[ver1,1])+320;
   y1 := 240-round(par[ver1,2]);
   x2 := round(par[ver2,1])+320;
   y2 := 240-round(par[ver2,2]);
   line(x1,y1,x2,y2);
{вывод следующего ребра}        
   end;
end;
 
procedure reflection_XOZ_YOZ;  {отражение относительно плоскостей XOZ и YOZ}          
begin
   for i:=1 to 8 do begin
       par[i,2]:=-par[i,2];
       par[i,1]:=-par[i,1];
   end;
end;
 
procedure reflection_XOZ_XOY;  {отражение относительно плоскостей XOZ и XOY}         
begin
   for i:=1 to 8 do begin
       par[i,2]:=-par[i,2];
       par[i,3]:=-par[i,3];
   end;
end;
 
procedure reflection_XOY_YOZ; {отражение относительно плоскостей XOY и YOZ}    
begin
   for i:=1 to 8 do begin
       par[i,3]:=-par[i,3];
       par[i,1]:=-par[i,1];
   end;
end;
 
procedure turnOX(Ugol: real);  {поворот вокруг оси OX}
var
   y,z: real;
begin
   for i:=1 to 8 do Begin
       y:=par[i,2];
       z:=par[i,3];
       par[i,2]:=y*cos(Ugol)-z*sin(Ugol);
       par[i,3]:=y*sin(Ugol)+z*cos(Ugol);
   end;
end;
 
procedure turnOY(corner: real); {поворот вокруг оси OY}  
var 
   x,z: real;
begin
   for i:=1 to 8 do begin
       x:=par[i,1];
       z:=par[i,3];
       par[i,1]:=x*cos(corner)+z*sin(corner);
       par[i,3]:=-x*sin(corner)+z*cos(corner);
   end;
end;
 
procedure turnOZ(corner: real); {поворот вокруг оси OZ}  
var 
   x,y: real;
begin 
   for i:=1 to 8 do begin
       x:=par[i,1];
       y:=par[i,2];
       par[i,1]:=x*cos(corner)-y*sin(corner);
       par[i,2]:=x*sin(corner)+y*cos(corner);
   end;
end;
 
begin (*Раздел описывающий фигуру*)
   par[1,1]:=0;    par[1,2]:=0;    par[1,3]:=0;
   par[2,1]:=0;    par[2,2]:=110;  par[2,3]:=0;
   par[3,1]:=175;  par[3,2]:=110;  par[3,3]:=0;
   par[4,1]:=175;  par[4,2]:=0;    par[4,3]:=0;
   par[5,1]:=0;    par[5,2]:=0;    par[5,3]:=150;
   par[6,1]:=0;    par[6,2]:=110;  par[6,3]:=150;
   par[7,1]:=175;  par[7,2]:=110;  par[7,3]:=150;
   par[8,1]:=175;  par[8,2]:=0;    par[8,3]:=150;
   
   ribs[1,1]:=1;   ribs[1,2]:=2;
   ribs[2,1]:=2;   ribs[2,2]:=3;
   ribs[3,1]:=3;   ribs[3,2]:=4;
   ribs[4,1]:=4;   ribs[4,2]:=1;
   ribs[5,1]:=5;   ribs[5,2]:=6;
   ribs[6,1]:=6;   ribs[6,2]:=7;
   ribs[7,1]:=7;   ribs[7,2]:=8;
   ribs[8,1]:=8;   ribs[8,2]:=5;
   ribs[9,1]:=1;   ribs[9,2]:=5;
   ribs[10,1]:=2;  ribs[10,2]:=6;
   ribs[11,1]:=3;  ribs[11,2]:=7;
   ribs[12,1]:=4;  ribs[12,2]:=8;
 
   gd := detect;
   InitGraph(gd, gm, '');
{граф. режим}      
   If GraphResult <> grOk then
      Halt(1);
 
   SetBkColor(Red);
{цвет фона}            
   ClearDevice;
{очиска экрана}               
   turnOX(pi/12);
   turnOY(pi/12);
   turnOZ(pi/12);
   While ch<>#27 do begin      
      ClearDevice;
      Draw;                    
      OuttextXY(10,450,'Press <1>-<6> for rotation, <7>-<9> for reflection');
      OuttextXY(10,465,'Press <Esc> to Exit');
      ch:=readkey;              
      Case ch Of
'1': turnOX(pi/15); {вращение вокруг оси OX}
'4': turnOX(-pi/15);{вращение вокруг оси OX}
'2': turnOY(pi/15); {вращение вокруг оси OY}
'5': turnOY(-pi/15);{вращение вокруг оси OY}
'3': turnOZ(pi/15); {вращение вокруг оси OZ}  
'6': turnOZ(-pi/15);{вращение вокруг оси OZ}
'7': reflection_XOZ_YOZ;{отабражение относительно плоскостей XOZ и YOZ} 
'8': reflection_XOZ_XOY;{отабражение относительно плоскостей XOZ и XOY}      
'9': reflection_XOY_YOZ; {отабражение относительно плоскостей XOY и XOZ}     
end;
end;
closegraph; {Закрытие граф. режима}                  
END. {конец программы}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2016, 09:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Фигуру заменить на пирамиду, в основании которой лежит правильный десятиугольник (Turbo Pascal):

Построить пирамиду, в основании которой лежит правильный десятиугольник - Turbo Pascal
построить пирамиду, в основании которой лежит правильный десятиугольник. Фигура должна быть синего цвета и вращаться против часовой стрелки.

Нарисовать правильную пирамиду, имеющую в основании квадрат - Turbo Pascal
Составить программу рисования пирамиды, имеющей в основании квадрат. Высоту и длину основания следует задавить в диалоге.

Рекурсия: вывести фигуру, в основании которой лежит квадрат - Delphi
Помогите написать программу в Delphi которая выводит на экран дисплея в графическом режиме рекурсивное построение, в основании которого...

Графика: правильный десятиугольник с диаметром 100 - Pascal ABC
Люди срочно дан правильный 10 угольник с диаметром 100 !!! как написать программу которая будет рисовать этот 10 угольник в нем еще один...

Создать матрицу, определяющую пирамиду с тругольником в основании - C#
уже долго мучаюсь и не получается сделать. нужно эту матрицу 5-угольной пирамиды, переделать в треугольную пирамиду в основании которой...

Прозрачная полусфера (купол), в основании которой шар - Delphi
Всем доброго времени суток, есть небольшое задание нарисовать прозрачный купол, в которой вписан шар, в шаре есть пересечения, которые с...

4
APALoff
1636 / 1065 / 470
Регистрация: 03.07.2013
Сообщений: 4,506
04.02.2016, 10:18 #2
Дубль? Пирамида
0
zadrog
1 / 1 / 0
Регистрация: 21.02.2015
Сообщений: 91
04.02.2016, 10:28  [ТС] #3
да дубль, я не успел изменить вопрос
0
Puporev
Модератор
53013 / 40824 / 14069
Регистрация: 18.05.2008
Сообщений: 94,965
04.02.2016, 10:31 #4
Удалил дубль.
0
zadrog
1 / 1 / 0
Регистрация: 21.02.2015
Сообщений: 91
04.02.2016, 10:32  [ТС] #5
Спасибо, я видел, помогите переделать
0
04.02.2016, 10:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2016, 10:32
Привет! Вот еще темы с ответами:

Определить область, в которой лежит точка - C#
Определить номер N области, в которой находится точка M (x,y) с заданными координатами. Вывести сообщение, если точка принадлежит графику.

Вычислить объем фигуры, у которой в основании сектор окружности с заданными параметрами - C++
помогите с формулой есть класс дуга в нем есть параметры радиус окружности и угол в радианах высота объемного сектора.... ...

Нарисовать пирамиду из решеток похожую на пирамиду - C (СИ)
Задача: нужно нарисовать пирамиду из решеток похожую на пирамиду , на которую взбирается Марио в конце каждого уровня в игре. Типа такой ...

УТ 10.3. Подсветка тч в зависимости от группы в которой лежит товар - 1С
Всем доброго времени суток. Появилась необходимость подсвечивать в документе строки с товаром, если товар находится в определённой группе...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru