Bitmap/Bresenham's line algorithm: Difference between revisions
Content added Content deleted
(Applesoft BASIC) |
|||
Line 555: | Line 555: | ||
</pre> |
</pre> |
||
=={{header|Applesoft BASIC}}== |
|||
<lang gwbasic> 10 HGR :FULLSCREEN = PEEK (49234) |
|||
20 HCOLOR= 3 |
|||
30 FOR N = 3 TO 279 STEP 4 |
|||
40 X1 = 276:Y1 = 189:X2 = N:Y2 = 1: GOSUB 100"PLOT LINE" |
|||
50 NEXT N |
|||
60 FOR N = 3 TO 191 STEP 3 |
|||
70 X1 = 276:Y1 = 190:X2 = 2:Y2 = N: GOSUB 100"PLOT LINE" |
|||
80 NEXT N |
|||
90 END |
|||
100 DX = ABS (X2 - X1) |
|||
110 SX = SGN (X2 - X1) |
|||
120 DY = - ABS (Y2 - Y1) |
|||
130 SY = SGN (Y2 - Y1) |
|||
140 ERR = DX + DY |
|||
150 FOR WHILE = 0 TO 1 STEP 0 |
|||
160 HPLOT X1,Y1 |
|||
170 IF X1 = X2 AND Y1 = Y2 THEN RETURN |
|||
180 E2 = 2 * ERR |
|||
190 IF E2 > = DY AND X1 = X2 THEN RETURN |
|||
200 IF E2 > = DY THEN ERR = ERR + DY:X1 = X1 + SX |
|||
210 IF E2 < = DX AND Y1 = Y2 THEN RETURN |
|||
220 IF E2 < = DX THEN ERR = ERR + DX:Y1 = Y1 + SY |
|||
230 NEXT WHILE</lang> |
|||
=={{header|Assembly}}== |
=={{header|Assembly}}== |
||
16 bit Intel 8086\80486 Assembly for dos, see [http://en.wikipedia.org/wiki/X86_assembly_language x86 assembly language]. |
16 bit Intel 8086\80486 Assembly for dos, see [http://en.wikipedia.org/wiki/X86_assembly_language x86 assembly language]. |