Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 22.11.2017
Сообщений: 14
1

Построить отрезок по алгоритму Брезенхема

15.06.2018, 16:34. Просмотров 1088. Ответов 1
Метки нет (Все метки)

Построить отрезок по алгоритму Брезенхмеа синим цветом и отрезок с теми же координатами с помощью функции Line красным цветом. Сравнить полученные результаты. Координаты задайте любые.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.06.2018, 16:34
Ответы с готовыми решениями:

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

Линии по алгоритму Брезенхема
В общем требуется рисовать линии с помощью клика мыши. Рисует только в определённых областях (видно...

Рисование прямой по алгоритму Брезенхема
Добрый день. Мне очень нужен исходник программы, которая рисует прямую по алгоритму Брезенхема....

Программа построения эллипса по алгоритму Брезенхема
написать программу построения эллипса по алгоритму Брезенхема

1
Модератор
60559 / 45557 / 31443
Регистрация: 18.05.2008
Сообщений: 109,502
15.06.2018, 16:38 2
Лучший ответ Сообщение было отмечено Ветя как решение

Решение

Вот где-то взял с инета.
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
uses graphABC;
procedure drawLine(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, 0);
  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, 0);
  end;
end;
begin
setpencolor(clBlue);
drawLine(10,50,350,400);
setpencolor(clRed);
line(10,50,350,400)
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.06.2018, 16:38

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как построить отрезок?
Думаю как это сделать при помощи Windows Form в Visual Studio. Приведите пожалуйста пример (можете...

Построить отрезок заданный формулой
1)построить отрезок заданный формулой x=корень из(3\4a^2-b^2)

Построить матрицу по заданному алгоритму
Товарищи, нужна помощь. Задача следующая: построить матрицу D. Что она из себя представляет? Эта...

Построить отрезок sqrt(a*b) с циркулем и линейкой
Построить квадрат с помощью циркуля и линейки, со стороной sqrt(a*b). (a не равен b) Или просто...


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

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

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