/** © 2007 by Duncan Holby. www.glyfconstruct.com Protected under the Creative Commons Licence. For non-commerical use only. Feel free to use but please credit. **/ package { import flash.display.Sprite; import flash.events.Event; import flash.display.Graphics; public class Geom30 extends Sprite { private var radius0:uint = 200; private var radius1:uint = 75; private var radius2:uint = 35; private var radius3:uint = 15; private var loopNumber1:Number = 6; private var loopNumber2:Number = 10; private var loopNumber3:Number = 30; private var centerX:Number = 400; private var centerY:Number = 300; private var dots:Array = new Array; private var mousePosX:Number; private var mousePosY:Number; public function Geom30() { init(); } private function init():void { for (var i=0; i<=2880; i+=2) { dots[i] = new Circle(0,0,0xFFFF99,2.2); addChild(dots[i]); } for (var j=1; j<=2880; j+=2) { dots[j] = new Circle(0,0,0x000000,2); addChild(dots[j]); } addEventListener(Event.ENTER_FRAME, onenterFrame); } private function onenterFrame(event:Event):void { //mousePosX = mouseX - 400; loopNumber2 = (mouseY-300)/6; loopNumber1 = (mouseX-400)/20; for (var i=0; i<=2880; i++) { dots[i].x = centerX + Math.sin(i* Math.PI/1440)*radius0 + Math.sin(loopNumber1*i* Math.PI/1440)*radius1 + Math.sin(loopNumber2*i* Math.PI/1440)*radius2 + Math.sin(loopNumber3*i* Math.PI/1440)*radius3; dots[i].y = centerY + Math.cos(i* Math.PI/1440)*radius0 + Math.cos(loopNumber1*i* Math.PI/1440)*radius1 + Math.cos(loopNumber2*i* Math.PI/1440)*radius2 + Math.cos(loopNumber3*i* Math.PI/1440)*radius3; } } } }