Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Alex1ya
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 1
1

Создание линии без использования Line

03.12.2015, 19:53. Просмотров 849. Ответов 2

Прошу помогите! мучаюсь второй день, не могу придумать как сделать общую процедуру, чтобы рисовать линию в паскаль АВС без использования Line. Линии необходимо рисовать в разных направлениях. у меня два задания прямоугольник (пунктиром) и звезда пятиконечная.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2015, 19:53
Ответы с готовыми решениями:

Создание 2D игр без использования движка
Подскажите где можно найти много инфы по этой теме. Подойдут недоделанные до конца проекты, и...

Создание программ без использования IDE
Помогите, срочно с заданием: Написать на языке java 1)метод getSum(), возвращающий сумму значений...

Создание сайта без использования ORM
Все время, создавая сайты, пользовался ADO.NET Entitiy Framework... тут поставили задачу...

Создание стека без использования классов
На первом шаге нужно создать стек включением в него k целых чисел в возрастающей...

Создание отчета без использования СКД
GreenkA, alex1248, Необходимо сделать отчет без использования СКД. Можешь скинуть ссылку где...

2
ZX Spectrum-128
Модератор
Эксперт Pascal/Delphi
4895 / 3433 / 4028
Регистрация: 05.06.2014
Сообщений: 17,183
04.12.2015, 11:52 2
Алгоритм Брезенхема
1
Puporev
Модератор
57812 / 44044 / 30414
Регистрация: 18.05.2008
Сообщений: 105,323
04.12.2015, 12:54 3
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Цитата Сообщение от Alex1ya Посмотреть сообщение
звезда пятиконечная.
Звезда Алгоритмом Брезенхема

Добавлено через 29 минут
Цитата Сообщение от Alex1ya Посмотреть сообщение
прямоугольник (пунктиром)
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
uses graphABC;
//процедура рисования отрезка
procedure Brezenhem(x1,y1,x2,y2:integer);
var currentX, currentY: integer;
    errorX, errorY: integer;
    d, dx, dy, incX, incY: integer;
begin
dx := x2 - x1;
dy := y2 - y1;
errorX := 0;
errorY := 0;
if(dx > 0) then incX := 1
else if(dx = 0) then incX := 0
else incX := -1;
if(dy > 0) then incY := 1
else if(dy = 0) then incY := 0
else incY := -1;
dx := abs(dx);
dy := abs(dy);
if(dy > dx) then d := dy
else d := dx;
currentX := x1;
currentY := y1;
setpixel(currentX, currentY, clRed);
while((currentX <> x2) OR (currentY <> y2)) do
 begin
  errorX := errorX + dx;
  errorY := errorY + dy;
  if(errorX >= d) then
   begin
    errorX := errorX - d;
    currentX := currentX + incX;
   end;
  if(errorY >= d) then
   begin
    errorY := errorY - d;
    currentY := currentY + incY;
   end;
  SetPixel(currentX, currentY, clRed);
 end;
end;
 
var x1,y1,x2,y2,i,x3,x4,y3,y4,d:integer;
begin
setwindowsize(600,400);
centerwindow;
d:=5;
x1:=windowwidth div 2-d*50;
y1:=windowheight div 2-d*30;
x2:=windowwidth div 2+d*50;
y2:=windowheight div 2+d*30;
x3:=x1;
x4:=x3+d;
while x3<x2 do
 begin
  Brezenhem(x3,y1,x4,y1);
  Brezenhem(x3,y2,x4,y2);
  x3:=x3+2*d;
  x4:=x3+d;
 end;
y3:=y1;
y4:=y3+d;
while y3<y2 do
 begin
  Brezenhem(x1,y3,x1,y4);
  Brezenhem(x2,y3,x2,y4);
  y3:=y3+2*d;
  y4:=y3+d;
 end;
end.
1
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2015, 12:54

Создание приложения без использования Storyboard
Здравствуйте, дано задание (в названии). Совсем новичок в этой теме. Есть ли туториалы, как это...

Создание меню без использования ресурсного файла
Создаю меню при помощи функций CreateMenu(),CreatePopupMenu(). Добавлял пункты меню функцией ...

Создание базы данных без использования объектов и подходов БД
Здравствуйте. Необходимо создать базу данных не используя объекты и подходы бд. В Delphi нужно...


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

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

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