Алгоритм Брезенхэма

Как найти параметр решения для рисования различных функций, таких как парабола, кривая синуса, кривая колокола?
Пожалуйста, расскажите мне о подходе, почему мы иногда умножаем на константу?
Например

  1. в случае эллипса p = a ^ 2 (d1 — d2), p = b ^ 2 (d1 — d2) для верхней и нижней половины области
    соответственно где a, b константы
  2. в случае строки p = deltax (d1 — d2), где p — параметр решения d1, d2
    расстояния, deltax постоянен и равен xend — xstart

почему бы не принять (d1 -d2) в качестве параметра

-1

Решение

Алгоритм Брезенхэма, изложенный в ОП, немного ошибочен, но я предполагаю следующее.

Параметр решения мог регулировать d1 - d2 и не масштабировать по некоторой константе, как вы предлагаете, если бы не инициализация параметра решения. Как правило, эта константа не масштабируется.

// code from http://en.wikipedia.org/wiki/Bresenham's_line_algorithm
plotLine(x0,y0, x1,y1)
dx=x1-x0
dy=y1-y0

D = 2*dy - dx   // Not scalable by 2
plot(x0,y0)
y=y0

for x from x0+1 to x1
if D > 0
y = y+1
plot(x,y)
D = D + (2*dy-2*dx)  // Scalable by 2
else
plot(x,y)
D = D + (2*dy)  // Scalable by 2
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]