Width% = 320 Height% = 240 VDU 23,22,Width%;Height%;8,16,16,128 *DISPLAY Pentagon.bmp OFF DIM hist%(Width%-1, Height%-1) rs = 2 * SQR(Width%^2 + Height%^2) / Height% : REM Radial step ts = PI / Width% : REM Angular step h% = Height% / 2 REM Hough transform: FOR y% = 0 TO Height%-1 FOR x% = 0 TO Width%-1 IF TINT(x%*2, y%*2) = 0 THEN FOR t% = 0 TO Width%-1 th = t% * ts r% = (x%*COS(th) + y%*SIN(th)) / rs + h% + 0.5 hist%(t%,r%) += 1 NEXT ENDIF NEXT NEXT y% REM Find max: max% = 0 FOR y% = 0 TO Height%-1 FOR x% = 0 TO Width%-1 IF hist%(x%,y%) > max% max% = hist%(x%,y%) NEXT NEXT y% REM Plot: GCOL 1 FOR y% = 0 TO Height%-1 FOR x% = 0 TO Width%-1 c% = 255 * hist%(x%,y%) / max% COLOUR 1, c%, c%, c% LINE x%*2,y%*2,x%*2,y%*2 NEXT NEXT y% REPEAT WAIT 1 UNTIL FALSE