Author: wmb Date: 2009-11-25 22:28:25 +0100 (Wed, 25 Nov 2009) New Revision: 1508
Added: forth/lib/circle.fth Log: Checked in a rudimentary implementation of the midpoint circle algorithm.
Added: forth/lib/circle.fth =================================================================== --- forth/lib/circle.fth (rev 0) +++ forth/lib/circle.fth 2009-11-25 21:28:25 UTC (rev 1508) @@ -0,0 +1,20 @@ +\ Midpoint circle algorithm - see http://en.wikipedia.org/wiki/Midpoint_circle_algorithm +decimal + +d# 12 constant radius + +radius value y +0 value x +3 radius 2* - value err + +: step ( -- ) + x . y . err . cr + err 0< if + x 2* 2* 6 + err + to err + else + x y - 2* 2* d# 10 + err + to err + y 1- to y + then + x 1+ to x +; +step step step step step step step step step