{"id":241,"date":"2009-04-03T00:00:39","date_gmt":"2009-04-03T07:00:39","guid":{"rendered":"https:\/\/actionsnippet.com\/?p=1104"},"modified":"2009-04-03T00:00:39","modified_gmt":"2009-04-03T07:00:39","slug":"slow-circle-drawing","status":"publish","type":"post","link":"https:\/\/actionsnippet.com\/?p=241","title":{"rendered":"Slow Circle Drawing"},"content":{"rendered":"<pre class=\"brush: as3; title: ; notranslate\" title=\"\">\r\nvar canvas:BitmapData = new BitmapData(400,400,false, 0xCCCCCC);\r\naddChild(new Bitmap(canvas));\r\n\r\naddEventListener(Event.ENTER_FRAME, onLoop);\r\nfunction onLoop(evt:Event):void {\r\n\tcanvas.fillRect(canvas.rect, 0xCCCCCC);\r\n\t\r\n\tvar r:Number = Math.abs(200 - mouseX);\r\n\tvar r2:Number = r * r;\r\n\tvar inc:Number = 1 \/ r;\r\n\tvar xp:Number = .00000001;\r\n\tvar yp:Number = -r;\r\n\twhile(yp&lt;r){\r\n\t\t  var y:Number = 200 + yp;\r\n\t\t  yp += xp * inc;\r\n\t\t  xp = Math.sqrt(r2 - yp * yp);\r\n\t\t  canvas.setPixel(200 + xp, y, 0x000000);\r\n\t\t  canvas.setPixel(200 - xp, y, 0x000000);\r\n\t }\r\n}\r\n<\/pre>\n<p>A slow way to draw circles using setPixel(). <\/p>\n<pre class=\"brush: as3; title: ; notranslate\" title=\"\">\r\nvar canvas:BitmapData = new BitmapData(400,400,false, 0xCCCCCC);\r\naddChild(new Bitmap(canvas));\r\n\r\naddEventListener(Event.ENTER_FRAME, onLoop);\r\nfunction onLoop(evt:Event):void {\r\n\tcanvas.fillRect(canvas.rect, 0xCCCCCC);\r\n\tvar r:Number = Math.abs(200 - mouseX);\r\n\tvar r2:Number = r * r;\r\n\tvar inc:Number = 1 \/ r;\r\n\tvar xp:Number = .000001;\r\n\tvar yp:Number = -r;\r\n\twhile(yp &lt;= 0){;\r\n\t     var x1:Number = 200 + xp;\r\n\t\t var y1:Number = 200 + yp\r\n\t\t var x2:Number = 200 - xp;\r\n\t\t var y2:Number = 200 - yp;\r\n\t\t canvas.setPixel(x1, y1, 0x000000);\r\n\t\t canvas.setPixel(x1, y2, 0x000000);\r\n\t\t canvas.setPixel(x2, y1, 0x000000);\r\n\t\t canvas.setPixel(x2, y2, 0x000000);\r\n\t\t  yp += xp * inc;\r\n\t\t  xp = Math.sqrt(r2 - yp * yp);\r\n\t }\r\n}\r\n<\/pre>\n<p>Little better, still slow.<\/p>\n<p>I was brainstorming about a few things today and somehow these two slow circle drawing algorithms popped out. These are pretty useless compared <a href=\"https:\/\/actionsnippet.com\/?s=Bresenham+circle&#038;searchsubmit=Search\">to some of the famous algorithms I&#8217;ve posted in the past<\/a>. Kind of interesting nevertheless.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>var canvas:BitmapData = new BitmapData(400,400,false, 0xCCCCCC); addChild(new Bitmap(canvas)); addEventListener(Event.ENTER_FRAME, onLoop); function onLoop(evt:Event):void { canvas.fillRect(canvas.rect, 0xCCCCCC); var r:Number = Math.abs(200 &#8211; mouseX); var r2:Number = r * r; var inc:Number = 1 \/ r; var xp:Number = .00000001; var yp:Number = -r; while(yp&lt;r){ var y:Number = 200 + yp; yp += xp * inc; xp = [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[94,26],"tags":[3,4],"class_list":["post-241","post","type-post","status-publish","format-standard","hentry","category-misc","category-setpixel","tag-actionscript","tag-flash"],"_links":{"self":[{"href":"https:\/\/actionsnippet.com\/index.php?rest_route=\/wp\/v2\/posts\/241","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/actionsnippet.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/actionsnippet.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/actionsnippet.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/actionsnippet.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=241"}],"version-history":[{"count":0,"href":"https:\/\/actionsnippet.com\/index.php?rest_route=\/wp\/v2\/posts\/241\/revisions"}],"wp:attachment":[{"href":"https:\/\/actionsnippet.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=241"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/actionsnippet.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=241"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/actionsnippet.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}