DANS_LINE(x0,y0,x1,y1)
- dx = x1-x0
- dy = y1-y0
- m = dy/dx
- y = y0
- x = x0
- while (x < x1) do
- write_pixel(i,y)
- x++;
- y += m // δx = 1
DDA(x0, y0, x1, y1)
- dx = x1-x0
- dy = y1-y0
- x = x0; y = y0
- if (fabs(dx) > fabs(dy) )
- steps = fabs(dx)
- else
- steps = fabs(dy)
- xIncrement = float(dx)/float(steps)
- yIncrement = float(dy)/float(steps)
- setPixel(round(x),round(y))
- for (k=0;k< steps; k++) {
- x += xIncrement
- y += yIncrement
- setPixel(round(x),round(y))
- }
// assume 0 ≤ m < 1 BRESSENHAMS(x0,y0, x1,y1)
- dx = fabs(x1-x0)
- dy = fabs(y1-y0)
- p = 2 * dy - dx
- twoDY = 2*dy
- twoDyMinusDx = twoDy - 2*dx
- x = x0
- y = y0;
- setPixel(x,y)
- while (x < xEnd) {
- x++
- if p < 0
- p += twoDy
- else
- y++;
- p+= twoDyMinusDx
- setPixel(x,y)
- }