Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/17: Рейтинг темы: голосов - 17, средняя оценка - 4.82
Fobos1994
4 / 4 / 1
Регистрация: 15.04.2011
Сообщений: 274
1

Составить процедуру рисования фигуры

09.05.2012, 19:25. Просмотров 3097. Ответов 13
Метки нет (Все метки)

Собстевнно, как вы уже поняли, нужно составить процедуру рисования фигуры.

вот эта фигура:
0
Изображения
 
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2012, 19:25
Ответы с готовыми решениями:

Составить процедуру рисования фигуры
1) Составить процедуру рисования фигуры ...

Составить процедуру рисования фигуры
1.Составить процедуру рисования фигуры 2.разделять графический экран с...

Составить процедуру рисования фигуры через цикл
составить процедуру рисования фигуры через цикл

Процедура рисования фигуры
Помогите пожалуйтса,спасибо большое

Написать процедуру рисования машинки в заданных координатах
1)Написать процедуру рисования машинки в заданных координатах, с помощью линий,...

13
Krot-buterbrod
87 / 87 / 75
Регистрация: 21.08.2011
Сообщений: 146
09.05.2012, 20:00 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
uses graph;
var grDriver:integer;
    grMode:integer;
Begin
     grDriver:=Detect;
     InitGraph(grDriver,grMode,'c:\bgi\');
     Line(100,250,500,250);
     Line(500,250,150,350);
     Line(150,350,300,150);
     Line(300,150,450,350);
     Line(450,350,100,250);
     readln;
end.
0
Fobos1994
4 / 4 / 1
Регистрация: 15.04.2011
Сообщений: 274
09.05.2012, 20:22  [ТС] 3
Да нет..я же в условии написал что нужно процедурой,а не просто нарисовать..
0
Krot-buterbrod
87 / 87 / 75
Регистрация: 21.08.2011
Сообщений: 146
09.05.2012, 20:27 4
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
uses graph;
var grDriver:integer;
    grMode:integer;
procedure WriteStar;
begin
     Line(100,250,500,250);
     Line(500,250,150,350);
     Line(150,350,300,150);
     Line(300,150,450,350);
     Line(450,350,100,250);
end;
Begin
     grDriver:=Detect;
     InitGraph(grDriver,grMode,'c:\bgi\');
     WriteStar;
     readln;
end.
1
Fobos1994
4 / 4 / 1
Регистрация: 15.04.2011
Сообщений: 274
09.05.2012, 20:35  [ТС] 5
Хых, та я не в том смысле!
Ну вот смотрите, эта звезда сложена из 3 треугольников!
и я хочу чтобы рисовало 1 треугольник а потом какбы циклом,тобиш процедурой рисовало остальные треугольники!

Добавлено через 5 минут
посредством автоматического изминения координат!
1
Puporev
Модератор
54590 / 42094 / 29065
Регистрация: 18.05.2008
Сообщений: 99,319
09.05.2012, 21:08 6
Цитата Сообщение от Fobos1994 Посмотреть сообщение
эта звезда сложена из 3 треугольников!
Это каких?
2
Fobos1994
4 / 4 / 1
Регистрация: 15.04.2011
Сообщений: 274
09.05.2012, 21:17  [ТС] 7
ну я думаю эти
0
Изображения
   
Puporev
Модератор
54590 / 42094 / 29065
Регистрация: 18.05.2008
Сообщений: 99,319
09.05.2012, 21:22 8
Это замкнутая ломаная, и состоит не из 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
program zvezda;
uses graph;
procedure Fig(x,y,r,c:integer);
var  p:array[1..5]of Pointtype;
     a,i:integer;
begin
a:=-90;
for i:=1 to 5 do
  begin
   p[i].x:=x+round(r*cos(a*pi/180));
   p[i].y:=y-round(r*sin(a*pi/180));
   a:=a+72;
  end;
SetColor(c);
for i:=1 to 3 do
Line(p[i].x,p[i].y,p[i+2].x,p[i+2].y);
line(p[1].x,p[1].y,p[4].x,p[4].y);
line(p[2].x,p[2].y,p[5].x,p[5].y);
end;
var  gd,gm:integer;
begin
initGraph(gd,gm,'');
Fig(getmaxX div 2,getmaxY div 2,100,13);
readln
end.
1
Fobos1994
4 / 4 / 1
Регистрация: 15.04.2011
Сообщений: 274
09.05.2012, 21:31  [ТС] 9
а можна с помощью треуголькнов как нибуть??
ну тоесть как я писал выше, построить оодин, а потом по часовой стрелке его поварачивать??

Добавлено через 6 минут
Просто тот способ что вы описали выше, я боюсь что он очень сложный для моего учебного заведения,и истолковать моему преподу,что написано в коде,боюсь я не с умею..
Походу даже он и сам разобратся не сможет..
вот еслибы через треугольник..
0
Puporev
Модератор
54590 / 42094 / 29065
Регистрация: 18.05.2008
Сообщений: 99,319
09.05.2012, 21:36 10
Зачем треугольники? Ведь все равно вычислять также координаты и соединять линиями, это ничуть не проще, а сложнее.
0
Fobos1994
4 / 4 / 1
Регистрация: 15.04.2011
Сообщений: 274
09.05.2012, 21:43  [ТС] 11
так а разве не проще просто перемещать треугольник?..
ну тоесть это всеравно что сделать вот тактолько с квадратами)
0
Миниатюры
Составить процедуру рисования фигуры  
Puporev
Модератор
54590 / 42094 / 29065
Регистрация: 18.05.2008
Сообщений: 99,319
09.05.2012, 21:49 12
Цитата Сообщение от Fobos1994 Посмотреть сообщение
ну тоесть это всеравно что сделать вот так
Это очень просто, нарисовать 2 квадрата с углом поворота 90 градусов.

Добавлено через 26 секунд
Цитата Сообщение от Fobos1994 Посмотреть сообщение
так а разве не проще просто перемещать треугольник?..
Перемещай, кто не дает?
1
Fobos1994
4 / 4 / 1
Регистрация: 15.04.2011
Сообщений: 274
09.05.2012, 21:57  [ТС] 13
хых..да только опыта нехватает у меня..
помогите пожалуйста проделать такуюже процедуру как с квадратами..тольок с треугольниками 3
0
Puporev
Модератор
54590 / 42094 / 29065
Регистрация: 18.05.2008
Сообщений: 99,319
10.05.2012, 10:50 14
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
uses graph;
procedure Trg(x0,y0,a,u1,u2,k,c:integer);
var x1,y1,x11,y11,x12,y12,b:integer;
begin
b:=a div 3;
x1:=x0+k*round(b*cos(u2*pi/180));
y1:=y0-round(b*sin(u2*pi/180));
x11:=x1+round(a*cos(u1*pi/180));
y11:=y1-round(a*sin(u1*pi/180));
x12:=x1+round(a*cos((u1-108)*pi/180));
y12:=y1-round(a*sin((u1-108)*pi/180));
setcolor(c);
line(x1,y1,x11,y11);
line(x1,y1,x12,y12);
line(x11,y11,x12,y12);
end;
var a,x,y:integer;
begin
initgraph(x,y,'');
x:=getmaxX div 2;
y:=getmaxY div 2;
a:=100;
Trg(x,y,a,-36,90,1,12);
Trg(x,y,a,36,162,1,12);
Trg(x,y,a,108,306,-1,12);
readln
end.
1
10.05.2012, 10:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2012, 10:50

Составить программу рисования одного из рисунков
я не понимаю как это делать3. program parovoz; circle(80,80,20);

Напишите процедуру рисования графика функции "y=arccos x"
Напишите процедуру рисования графика функции "y=arccos x". Предусмотреть вывод...

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


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

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

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