[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 580: sizeof(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 636: sizeof(): Parameter must be an array or an object that implements Countable
Brads Electronic Projects Forum • The Minsky Circle Algorithm
Page 1 of 1

The Minsky Circle Algorithm

Posted: Sun Aug 30, 2015 3:01 pm
by Chuckt
The Minsky Circle Algorithm

https://nbickford.wordpress.com/2011/04 ... algorithm/

What I've read elsewhere is that making a circle on a bitmapped display (or possibly LEDs) is possible with add, subtract and shift operations.
The algorithm is important to master because it could be used for LEDs as well.

Other biographical information to aid in understanding and locating this information:
ITEM 149 (Minsky): CIRCLE ALGORITHM

Here is an elegant way to draw almost circles on a point-plotting display:
NEW X = OLD X - epsilon * OLD Y
NEW Y = OLD Y + epsilon * NEW(!) X

This makes a very round ellipse centered at the origin with its size determined by the initial point. epsilon determines the angular velocity of the circulating point, and slightly affects the eccentricity. If epsilon is a power of 2, then we don't even need multiplication, let alone square roots, sines, and cosines! The "circle" will be perfectly stable because the points soon become periodic.

The circle algorithm was invented by mistake when I tried to save one register in a display hack! Ben Gurley had an amazing display hack using only about six or seven instructions, and it was a great wonder. But it was basically line-oriented. It occurred to me that it would be exciting to have curves, and I was trying to get a curve display hack with minimal instructions.
From: PROGRAMMING HACKS
http://www.cl.cam.ac.uk/~am21/hakmemc.html

https://en.wikipedia.org/wiki/Marvin_Minsky

External Credit due to:
http://forums.parallax.com/discussion/1 ... -and-shift

Re: The Minsky Circle Algorithm

Posted: Mon Aug 31, 2015 9:58 am
by brad
Thanks for the info Chuck!

I've looked into all sorts of ways of drawing circles on displays such as LED matrix's. depending on the math you're using, it can be a very slow process!