DDAL
function img = DDA(x1, y1 ,x2 ,y2, img1) img = img1; dx = x2 - x1; dy = y2 - y1; d = max(abs(dx), abs(dy)); kx = dx / d; ky = dy / d; x = x1; y = y1; for i = 1 : d img(round(x), round(y)) = 1; x = x + kx; y = y + kx; end; end;BresenhamCircle
function img = BresenhamCircle(x1, y1, r, img1) x = 0; y = r; img = img1; d = 3 - 2 * r; while(x < y): img(x1 + x, y1 + y) = 1; img(x1 - x, y1 + y) = 1; img(x1 + x, y1 - y) = 1; img(x1 - x, y1 - y) = 1; img(x1 + x, y1 + y) = 1; -+ +- -+ if(d < 0): d = d + 4 * x + 6; else: d = d + 4 * (x - y) + 10; y = y + 1; end; x = x + 1; end; end; img = zeros(100, 100); DDA(100, 100, 300, 100, img); DDA(100, 200, 300, 200, img); DDA(200, 100, 200, 200, img); figure; imshow(img);