Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
zadrog
1 / 1 / 0
Регистрация: 21.02.2015
Сообщений: 91
1

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

04.02.2016, 09:14. Просмотров 271. Ответов 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
Ответы с готовыми решениями:

Построить пирамиду, в основании которой лежит правильный десятиугольник
построить пирамиду, в основании которой лежит правильный десятиугольник. Фигура...

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

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

Составить программу для нахождения полной поверхности прямой призмы, в основании которой лежит квадрат со стороной b
Составить программу для нахождения полной поверхности прямой призмы, в...

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

4
APALoff
1638 / 1067 / 1080
Регистрация: 03.07.2013
Сообщений: 4,507
04.02.2016, 10:18 2
Дубль? Пирамида
0
zadrog
1 / 1 / 0
Регистрация: 21.02.2015
Сообщений: 91
04.02.2016, 10:28  [ТС] 3
да дубль, я не успел изменить вопрос
0
Puporev
Модератор
54722 / 42128 / 29086
Регистрация: 18.05.2008
Сообщений: 99,442
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

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

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

Нарисовать пирамиду из решеток похожую на пирамиду
Задача: нужно нарисовать пирамиду из решеток похожую на пирамиду , на которую...


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

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

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