画圆算法

package  {
    import flash.display.MovieClip;
    import flash.display.Graphics;
    import flash.geom.Point;
    
    public class Cirle extends MovieClip{
    /**
    *定义圆心(x0,y0),半径为r
    */
    public function OnMidpontcircle(g:Graphics,x0:int,y0:int,r:int):void 
    {

       // TODO: Add your command handler code here

        g.beginFill(0xff0000);
      
        var x:int;
        var y:int;
        var d:int;

           x=0;y=r;d=1-r;
        //setPixel(x,y,color);
        setPixel(x,y);
           while(x<=y)
           {
              if(d<0) {
                  d+=2*x+3;
              }else {
                  d+=2*(x-y)+5;y--;
              }
              x++;
              setPixel(x+x0,y+y0);
              setPixel(-x+x0,y+y0);
              setPixel(-x+x0,-y+y0);
              setPixel(x+x0,-y+y0);
              setPixel(y+x0,x+y0);
              setPixel(-y+x0,x+y0);
              setPixel(-y+x0,-x+y0);
              setPixel(y+x0,-x+y0);
       }
       g.endFill();
    }
    public function Cirle() 
    {
        // constructor code
        OnMidpontcircle(graphics,100,100,100);//10-40
            
        //graphics.beginFill(0xff0000,0.01);
        graphics.lineStyle(1,0x00ff00);
        graphics.drawRect(0,0,200,200);
        graphics.endFill();
    }
        
    private function setPixel(x:int,y:int):void
    {
        graphics.drawRect(x,y,1,1);
    }
}

}

 

转载于:https://www.cnblogs.com/jiangjieqim/p/6044642.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值