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

Turbo Pascal

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.78
Fobos1994
4 / 4 / 0
Регистрация: 15.04.2011
Сообщений: 274
#1

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

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

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

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

Составить процедуру рисования фигуры - Turbo Pascal
1) Составить процедуру рисования фигуры http://www.cyberforum.ru/attachment.php?attachmentid=74614&stc=1&d=1303915186

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

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

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

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

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

13
Krot-buterbrod
87 / 87 / 17
Регистрация: 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 / 0
Регистрация: 15.04.2011
Сообщений: 274
09.05.2012, 20:22  [ТС] #3
Да нет..я же в условии написал что нужно процедурой,а не просто нарисовать..
0
Krot-buterbrod
87 / 87 / 17
Регистрация: 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 / 0
Регистрация: 15.04.2011
Сообщений: 274
09.05.2012, 20:35  [ТС] #5
Хых, та я не в том смысле!
Ну вот смотрите, эта звезда сложена из 3 треугольников!
и я хочу чтобы рисовало 1 треугольник а потом какбы циклом,тобиш процедурой рисовало остальные треугольники!

Добавлено через 5 минут
посредством автоматического изминения координат!
1
Puporev
Модератор
54041 / 41674 / 14753
Регистрация: 18.05.2008
Сообщений: 98,007
09.05.2012, 21:08 #6
Цитата Сообщение от Fobos1994 Посмотреть сообщение
эта звезда сложена из 3 треугольников!
Это каких?
2
Fobos1994
4 / 4 / 0
Регистрация: 15.04.2011
Сообщений: 274
09.05.2012, 21:17  [ТС] #7
ну я думаю эти
0
Изображения
   
Puporev
Модератор
54041 / 41674 / 14753
Регистрация: 18.05.2008
Сообщений: 98,007
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 / 0
Регистрация: 15.04.2011
Сообщений: 274
09.05.2012, 21:31  [ТС] #9
а можна с помощью треуголькнов как нибуть??
ну тоесть как я писал выше, построить оодин, а потом по часовой стрелке его поварачивать??

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

Добавлено через 26 секунд
Цитата Сообщение от Fobos1994 Посмотреть сообщение
так а разве не проще просто перемещать треугольник?..
Перемещай, кто не дает?
1
Fobos1994
4 / 4 / 0
Регистрация: 15.04.2011
Сообщений: 274
09.05.2012, 21:57  [ТС] #13
хых..да только опыта нехватает у меня..
помогите пожалуйста проделать такуюже процедуру как с квадратами..тольок с треугольниками 3
0
Puporev
Модератор
54041 / 41674 / 14753
Регистрация: 18.05.2008
Сообщений: 98,007
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
Привет! Вот еще темы с ответами:

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

Составить программу для произвольного рисования на экране - Pascal
Составить программу для произвольного рисования на экране. Рисунок - это след курсора, перемещаемого с помощью клавишь управления курсором....

составить программу рисования правильного шестиугольника и пятиугольной звездочки - Pascal
составить программу рисования правильного шестиугольника и пятиугольной звездочки.

Составить процедуру - Pascal
Помогите, пожалуйста, составить процедуру с помощью формулы p:=p*a


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

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

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