In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

HSV CONE

Get Adobe Flash player
by points 01 Aug 2011
    Embed
/**
 * Copyright points ( http://wonderfl.net/user/points )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/eW1y
 */

package {
    import flash.events.*;
    import flash.utils.*;
    import flash.filters.*;
    import org.papervision3d.view.stats.*;
    import org.papervision3d.view.*;
    import org.papervision3d.view.*;
    import org.papervision3d.view.layer.*;
    import org.papervision3d.core.effects.*;
    import org.papervision3d.core.geom.*;
    import org.papervision3d.core.geom.renderables.*;
    import org.papervision3d.core.effects.utils.BitmapClearMode;
    import frocessing.color.ColorHSV;
    [SWF(backgroundColor="#333333")]
    public class Main extends BasicView {
        public function Main() {
            var stats:StatsView=new StatsView(renderer);
            addChild(stats);
            camera.x=0;
            camera.z=1;
            camera.y=0;
            var layer:BitmapEffectLayer=new BitmapEffectLayer(viewport,stage.stageWidth,stage.stageHeight,true,0,BitmapClearMode.CLEAR_PRE,true);
            layer.clearBeforeRender=true;
            viewport.containerSprite.addLayer(layer);
            var pixels:Pixels=new Pixels(layer);
            scene.addChild(pixels);
            for (var k:int=0; k < 80000; k++) {
                var v:Number=Math.sqrt(Math.random());
                do {
                    var s:Number=Math.random();
                } while (v < s);
                var h:Number=Math.random() * 360;
                var pointX:Number=s * 25 * Math.sin(h * Math.PI / 180);
                var pointZ:Number=s * 25 * Math.cos(h * Math.PI / 180);
                var pointY:Number=v * 50 - 25;
                var hsv:ColorHSV=new ColorHSV(h,s,v);
                var pixel:Pixel3D=new Pixel3D(hsv.value + 0xff000000,pointX,pointY,pointZ);
                pixels.addPixel3D(pixel);
            }
            //
            startRendering();
            stage.addEventListener(Event.ENTER_FRAME,loop);
            //
        }
        private function loop(e:Event):void {
            camera.x=50 * Math.sin(getTimer() / 2000);
            camera.z=50 * Math.cos(getTimer() / 1000);
            camera.y=100 * Math.sin(getTimer() / 1000);
        }
    }
}