正N角形[forked from: 正多角形、星形の表示]

by demitas forked from 正多角形、星形の表示 (diff: 46)
曲線を描く
@author shmdmoto
♥0 | Line 27 | Modified 2011-04-04 10:56:44 | MIT License
play

ActionScript3 source code

/**
 * Copyright demitas ( http://wonderfl.net/user/demitas )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/1zrQ
 */

// forked from shmdmoto's 正多角形、星形の表示
// forked from shmdmoto's 曲線を描く
package
{
    import frocessing.display.F5MovieClip2D;
    /**
     * 曲線を描く
     * @author shmdmoto
     */
    public class GraphicExample extends F5MovieClip2D
    {
        public function setup() : void
        {
            const r2:int=93;
            const dan:int=Math.floor(/r2);
            var i:int;
            for( i = 0 ; i < Math.pow(dan,2) ; i++ ) {
                drawNgon( i%dan * r2 + r2/2, Math.floor(i/dan) * r2 + r2/2, r2/2, i+3);
            }
        }
        // 正n角形を描く
        // x,y : 中心点の座標
        // r : 半径
        // n : 角の数
        private function drawNgon( x:Number, y:Number,
                    r:Number,n:Number) : void
        {
            var i:int;
            beginShape();
            for( i = 0 ; i < n ; i++) {
                vertex( x + r * sin( 2.0 * PI / n * i),
                        y - r * cos( 2.0 * PI / n * i) );
            }
            endShape(CLOSE);
        }
    }
}