<br><br><div class="gmail_quote">On Sat, Apr 9, 2011 at 7:32 PM, Mathieu Bouchard <span dir="ltr"><<a href="mailto:matju@artengine.ca">matju@artengine.ca</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">On Sat, 9 Apr 2011, Peter Brinkmann wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
By the way, there's a way to draw a circle using nothing but addition: <a href="http://en.wikipedia.org/wiki/Midpoint_circle_algorithm" target="_blank">http://en.wikipedia.org/wiki/Midpoint_circle_algorithm</a><br>
Implementing this in Pd is completely impractical, but it's fun to think about.<br>
</blockquote>
<br></div>
It's not strictly the same thing, because by using sin and cos, you are ensuring equal distance between points at infinite resolution, and you are ensuring equal angles everywhere too.<br>
<br>
With the midpoint circle algorithm, instead, you are ensuring that all points are one pixel apart, when using a limited resolution. The pixels are considered one pixel apart when sharing an edge or corner. This is related to <a href="http://en.wikipedia.org/wiki/Maximum_norm" target="_blank">http://en.wikipedia.org/wiki/Maximum_norm</a><br>
<br>
So, it depends on whether you're trying to draw something continuous-looking on a pixel display.</blockquote><div><br>Sure, but in this case the goal was to draw a section of a circle in an array, and the midpoint algorithm would be a good choice if implementing it in Pd weren't so complex. Anyway, it doesn't really matter, I just like Bresenham-style algorithms.<br>
Cheers,<br> Peter<br><br></div></div>