Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 23.01.2011
Сообщений: 9
1

Построение треугольника, задание цвета и толщины бордюра

28.12.2011, 17:53. Показов 1495. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
30 задача. Никогда не работал с граф модулем в АВС и понятия не имею как делать...
Миниатюры
Построение треугольника, задание цвета и толщины бордюра  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.12.2011, 17:53
Ответы с готовыми решениями:

Построить ломаную линию заданной толщины и цвета с черной обводкой
необходимо построить ломаную линию заданной толщины и цвета с черной обводкой(коорд линии массив...

На фоне экрана построить пунктирную линию красного цвета нормальной толщины
Ответившему огромное спасибо)

На фоне экрана построить пунктирную линию красного цвета нормальной толщины
На фоне экрана построить пунктирную линию красного цвета нормальной толщины

Построить эллипс синего цвета и заполнить ее косыми линиями // удвоенной толщины
))))

3
Почетный модератор
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
28.12.2011, 18:13 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
uses graphABC;
var x0,y0,x,y:integer;
a,b,t:real;
begin
x0:=320;
y0:=240;
line(0,240,640,240);
line(320,0,320,480);
a:=150; b:=50;
t:=-16;
while t<=-9 do
begin
x:=round(x0+(a*sqr(cos(t))+(b*cos(t))));
y:=round(y0+(a*cos(t)*sin(t))+(b*sin(t)));
putpixel(x,y,25);
t:=t+0.001;
sleep(1);
end;
end.
внимание! от соотношения коэффициентов а и b сильно зависит вид "улитки"!
1
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
28.12.2011, 20:07 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
uses crt,graphABC;
var x0,y0,d,i,x1,y1:integer;
    r,a,b,f,x,xr,yr:real;
    s:string;
begin
hidecursor;
write('A=');read(a);
write('B=');read(b);
x0:=windowwidth div 2;
y0:=windowheight div 2;
clearwindow;
{КООРДИНАТНАЯ  СЕТКА}
d:=round((y0-40)/(round(b+a)));{шаг по оси радиуса в пикселях}
setpencolor(clBlue);
setbrushstyle(bsClear);
for i:=1 to round(b+a) do
 begin
  {рисуем окружности}
  circle(x0,y0,i*d);
  {пишем шкалу}
  str(i,s);
  textout(x0-i*d+5,y0+10,s);
 end;
f:=30;{шаг по кругу=30 град}
for i:=1 to 12 do{делим на 12 частей}
 begin
  {рисуем радиусы пунктиром}
  Setpenstyle(psDash);
  x1:=x0+round((y0-40)*cos(i*f*pi/180));
  y1:=y0-round((y0-40)*sin(i*f*pi/180));
  line(x0,y0,x1,y1);
  {пишем подписи}
  str(i*30,s);
  if (x1>=x0)and(y1<y0) then textout(x1+10,y1-15,s)
  else if (x1>=x0)and(y1>=y0) then textout(x1+10,y1+10,s)
  else if (x1<x0)and(y1<y0) then textout(x1-40,y1-15,s)
  else if(x1<x0)and(y1>=y0)then textout(x1-40,y1+10,s)
 end;
{рисуем осевые линии сплошной линией}
Setpenstyle(psSolid);
line(10,y0,windowwidth-10,y0);
line(x0,0,x0,windowheight);
textout(x0+5,y0+10,'0');
textout(25,y0+10,'A');
{ГРАФИК}
x:=0;{начальный угол}
while x<=360 do{полный оборот}
 begin
    r:=b-a*sin(x);{уравнение в полярных координатах}
    xr:=r*cos(x);{приведение к Декартовым}
    yr:=r*sin(x);
    x1:=x0+round(d*xr);{приведение к экранным}
    y1:=y0-round(d*yr);
    setpixel(x1,y1,clRed);
    x:=x+0.01;
 end;
end.
2
Почетный модератор
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
28.12.2011, 20:19 4
спасибо, мастер...
0
28.12.2011, 20:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.12.2011, 20:19
Помогаю со студенческими работами здесь

Нарисуйте на экране свои инициалы используя линии разного стиля, цвета и толщины
Изображение каждой буквы оформить с помощью отдельной процедуры.Сами инициалы-&quot;Д&quot; и &quot;А&quot;

Вывести на экран монитора две одинаковые штриховые вертикальные линии синего (Blue) цвета одинарной толщины
Вывести на экран монитора две одинаковые штриховые вертикальные линии синего (Blue) цвета одинарной...

Как сделать выбор цвета и выбор толщины кисти в MDI приложении?
Работаю с mdi приложениями в виде Paint, но не знаю кода что бы присваивать mdi приложению такие ...

Построение группы на примере вращений правильного треугольника и построение групп вообще
Вот есть группа, образованная в результате вращений правильного треугольника. Эта группа замкнутая,...

QtreeWidget и задание цвета
Здравствуйте. Не могу понять как задать разные цвета для четных и нечетных строк в Qtreewidget,...

Плавное изменение цвета треугольника
надеюсь, разделом не ошибся. нужно написать windows forms приложение, в котором пользователю...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru