Frocessing 3次ベジェ曲線の描画

by yun forked from Frocessing HSVモード (diff: 30)
♥0 | Line 38 | Modified 2010-09-15 16:24:54 | MIT License
play

ActionScript3 source code

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

// forked from yun's Frocessing HSVモード
package {
    
    import flash.display.Sprite;
    import frocessing.core.F5Graphics2D;
    import frocessing.core.F5C;
    
    [SWF( width = 465, height = 465, backgroundColor = 0 )]
    public class F5GraphicsSample extends Sprite {
        private var fg:F5Graphics2D;
        
        public function F5GraphicsSample() {
            fg = new F5Graphics2D( graphics );
            fg.strokeCap( "none" );
            fg.colorMode( "hsv", 465, 1, 465 );    // HSVモード
            for ( var i:int = 0; i < 400; i++ ) {
                var cx:Number = Math.random() * 465;
                var cy:Number = Math.random() * 465;
                if ( Math.random() > 0.5 ) {
                    fg.noStroke();
                    fg.fill( cx, 1, cy, 0.25 );
                } else {
                    fg.noFill();
                    fg.strokeWeight( Math.random() * 4) ;
                    fg.stroke( cx, 1, cy );
                }
                // 位置と回転と大きさを指定して描画
                fg.pushMatrix();
                fg.translate( cx, cy );
                fg.rotate( Math.random() * 2 * Math.PI );
                fg.scale( Math.random() * 20 );
                drawFig();
                fg.popMatrix();
            }
        }
        
        private function drawFig():void {
            fg.circle( 0, 0, 0.6 );
            fg.arc( 0, 0, 2.0, 2.0, 0.1, 2 * Math.PI - 0.1 )
            fg.moveTo( -0.6, 0 );
            fg.bezierTo( -0.15, 0.6, 0.15, -0.6, 0.6, 0 );
        }
    }
}

Forked