Galaxy (Sandy 3D) forked from: Galaxy (Sandy 3D)
- // forked from makc3d's Galaxy (Sandy 3D)
- // forked from makc3d's Galaxy (Pixels)
- package
- {
- import flash.events.Event;
- import flash.filters.GlowFilter;
- import sandy.core.*;
- import sandy.core.data.*;
- import sandy.core.scenegraph.*;
- import sandy.primitive.*;
- import sandy.materials.*;
- import sandy.view.*;
- [SWF (width=465, height=465, backgroundColor=0x0, frameRate=40)]
- public class Galaxy extends BasicView
- {
- private var sf:StarField;
- public function Galaxy()
- {
- super (); init (465, 465);
- camera.z = -220;
- sf = new StarField ();
- rootNode.addChild (sf);
- var stars:Array = [];
- generate (stars); generate (stars); generate (stars);
- generate (stars); generate (stars); generate (stars);
- // trying to give central stars more visibility
- // by placing them after other stars (works ??)
- stars.reverse ();
- for each (var obj:Object in stars) {
- sf.stars.push (new Vertex (obj.x, obj.y, obj.z));
- sf.starColors.push (obj.c + 0x1000000 * obj.a);
- }
- render ();
- filters = [ new GlowFilter (0xff7fff, 0.5, 30, 30, 10) ];
- }
- override public function simpleRender(e:Event = null):void {
- sf.pan += 2; sf.roll += 1; super.simpleRender (e);
- }
- private function generate (stars:Array):void {
- // I wrote this code back in late '90s in TurboPascal
- // By now, I have no idea how it works, and what those magic numbers are :)
- var I:Number, J:Number, K:Number,
- s:Number, L:Number, d:Number, R:Number,
- dX:Number, dY:Number, dZ:Number,
- c2:Number;
- var Rm:Number = 20, A:Number = 0.3;
- var clr:Array = [0x0080FF, 0x8080E4, 0xB0B0FF];
- for (I = 0; I < 101; I++)
- {
- A = A + 0.03;
- R = A * Rm;
- for (J = 0; J < 5 - Math.floor(I / 20); J++)
- {
- for (K = 0; K < 5; K++)
- {
- L = clr[(R > 3 * Rm * Math.random()) ? 0 : 1];
- c2 = (R > 2 * Rm * Math.random()) ? 1 : 2;
- if (A < 0.6) L = clr[2];
- s = Math.max (2, Rm - R / 3);
- dX = R * Math.cos(A + K * 2 * Math.PI / 5) +
- 0.2 * ((100 - I) * Math.random() + I / 2);
- dY = R * Math.sin(A + K * 2 * Math.PI / 5) +
- 0.2 * ((100 - I) * Math.random() + I / 2);
- dZ = s * (Math.random() - Math.random());
- stars.push ({ x: dX, y: dY, z: dZ, c: L, a: (255 - 120 * c2) });
- }
- }
- }
- }
- }
- }
Galaxy (Sandy 3D) forked from: Galaxy (Sandy 3D)
- // forked from makc3d's Galaxy (Sandy 3D)
- // forked from makc3d's Galaxy (Pixels)
- package
- {
- import flash.events.Event;
- import flash.filters.GlowFilter;
- import sandy.core.*;
- import sandy.core.data.*;
- import sandy.core.scenegraph.*;
- import sandy.primitive.*;
- import sandy.materials.*;
- import sandy.view.*;
- [SWF (width=465, height=465, backgroundColor=0x0, frameRate=20)]
- public class Galaxy extends BasicView
- {
- private var sf:StarField;
- public function Galaxy()
- {
- super (); init (465, 465);
- camera.z = -220;
- sf = new StarField ();
- rootNode.addChild (sf);
- var stars:Array = [];
- generate (stars); generate (stars); generate (stars);
- generate (stars); generate (stars); generate (stars);
- // trying to give central stars more visibility
- // by placing them after other stars (works ??)
- stars.reverse ();
- for each (var obj:Object in stars) {
- sf.stars.push (new Vertex (obj.x, obj.y, obj.z));
- sf.starColors.push (obj.c + 0x1000000 * obj.a);
- }
- render ();
- filters = [ new GlowFilter (0x007fff, 0.5, 30, 30, 10) ];
- }
- override public function simpleRender(e:Event = null):void {
- sf.pan += 2; sf.roll += 1; super.simpleRender (e);
- }
- private function generate (stars:Array):void {
- // I wrote this code back in late '90s in TurboPascal
- // By now, I have no idea how it works, and what those magic numbers are :)
- var I:Number, J:Number, K:Number,
- s:Number, L:Number, d:Number, R:Number,
- dX:Number, dY:Number, dZ:Number,
- c2:Number;
- var Rm:Number = 20, A:Number = 0.3;
- var clr:Array = [0x0080FF, 0x8080E4, 0xB0B0FF];
- for (I = 0; I < 101; I++)
- {
- A = A + 0.03;
- R = A * Rm;
- for (J = 0; J < 5 - Math.floor(I / 20); J++)
- {
- for (K = 0; K < 5; K++)
- {
- L = clr[(R > 3 * Rm * Math.random()) ? 0 : 1];
- c2 = (R > 2 * Rm * Math.random()) ? 1 : 2;
- if (A < 0.6) L = clr[2];
- s = Math.max (2, Rm - R / 3);
- dX = R * Math.cos(A + K * 2 * Math.PI / 5) +
- 0.2 * ((100 - I) * Math.random() + I / 2);
- dY = R * Math.sin(A + K * 2 * Math.PI / 5) +
- 0.2 * ((100 - I) * Math.random() + I / 2);
- dZ = s * (Math.random() - Math.random());
- stars.push ({ x: dX, y: dY, z: dZ, c: L, a: (255 - 120 * c2) });
- }
- }
- }
- }
- }
- }
Galaxy (Sandy 3D) forked from: Galaxy (Sandy 3D)
Galaxy (Sandy 3D) forked from: Galaxy (Sandy 3D)
- // forked from makc3d's Galaxy (Sandy 3D)
- // forked from makc3d's Galaxy (Pixels)
- package
- {
- import flash.events.Event;
- import flash.filters.GlowFilter;
- import sandy.core.*;
- import sandy.core.data.*;
- import sandy.core.scenegraph.*;
- import sandy.primitive.*;
- import sandy.materials.*;
- import sandy.view.*;
- [SWF (width=465, height=465, backgroundColor=0x0, frameRate=20)]
- public class Galaxy extends BasicView
- {
- private var sf:StarField;
- public function Galaxy()
- {
- super (); init (465, 465);
- camera.z = -220;
- sf = new StarField ();
- rootNode.addChild (sf);
- var stars:Array = [];
- generate (stars); generate (stars); generate (stars);
- generate (stars); generate (stars); generate (stars);
- // trying to give central stars more visibility
- // by placing them after other stars (works ??)
- stars.reverse ();
- for each (var obj:Object in stars) {
- sf.stars.push (new Vertex (obj.x, obj.y, obj.z));
- sf.starColors.push (obj.c + 0x1000000 * obj.a);
- }
- render ();
- filters = [ new GlowFilter (0x007fff, 0.8, 60, 30, 10) ];
- }
- override public function simpleRender(e:Event = null):void {
- sf.pan += 2; sf.roll += 1; super.simpleRender (e);
- }
- private function generate (stars:Array):void {
- // I wrote this code back in late '90s in TurboPascal
- // By now, I have no idea how it works, and what those magic numbers are :)
- var I:Number, J:Number, K:Number,
- s:Number, L:Number, d:Number, R:Number,
- dX:Number, dY:Number, dZ:Number,
- c2:Number;
- var Rm:Number = 20, A:Number = 0.3, arms: Number = 3;
- var clr:Array = [0x0080FF, 0x8080E4, 0xB0B0FF];
- for (I = 0; I < 100; I++)
- {
- A = A + 0.03;
- R = A * Rm;
- for (J = 0; J < 5 - Math.floor(I / 20); J++)
- {
- for (K = 0; K < arms; K++)
- {
- L = clr[(R > 3 * Rm * Math.random()) ? 0 : 1];
- c2 = (R > 2 * Rm * Math.random()) ? 1 : 2;
- if (A < 0.6) L = clr[2];
- s = Math.max (2, Rm - R / 3);
- dX = R * Math.cos(A + K * 2 * Math.PI / arms) +
- 0.2 * ((100 - I) * Math.random() + I / 2);
- dY = R * Math.sin(A + K * 2 * Math.PI / arms) +
- 0.2 * ((100 - I) * Math.random() + I / 2);
- dZ = s * (Math.random() - Math.random());
- stars.push ({ x: dX, y: dY, z: dZ, c: L, a: (255 - 120 * c2) });
- }
- }
- }
- }
- }
- }
Galaxy (Sandy 3D) forked from: Galaxy (Sandy 3D)
- // forked from makc3d's Galaxy (Sandy 3D)
- // forked from makc3d's Galaxy (Pixels)
- package
- {
- import flash.events.Event;
- import flash.filters.GlowFilter;
- import sandy.core.*;
- import sandy.core.data.*;
- import sandy.core.scenegraph.*;
- import sandy.primitive.*;
- import sandy.materials.*;
- import sandy.view.*;
- import net.hires.debug.Stats;
- [SWF (width=465, height=465, backgroundColor=0x0, frameRate=40)]
- public class Galaxy extends BasicView
- {
- private var sf:StarField;
- public function Galaxy()
- {
- super (); init (465, 465);
- camera.z = -220;
- sf = new StarField ();
- rootNode.addChild (sf);
- var stars:Array = [];
- generate (stars); generate (stars); generate (stars);
- generate (stars); generate (stars); generate (stars);
- // trying to give central stars more visibility
- // by placing them after other stars (works ??)
- stars.reverse ();
- for each (var obj:Object in stars) {
- sf.stars.push (new Vertex (obj.x, obj.y, obj.z));
- sf.starColors.push (obj.c + 0x1000000 * obj.a);
- }
- render ();
- filters = [ new GlowFilter (0xccccff, 1, 2, 2, 10, 4 ), new GlowFilter (0xffffff, 1, 24, 24, 3, 3 ) ];
- addChild( new Stats() );
- }
- override public function simpleRender(e:Event = null):void {
- sf.pan += 2; sf.roll += 2; super.simpleRender (e);
- }
- private function generate (stars:Array):void {
- // I wrote this code back in late '90s in TurboPascal
- // By now, I have no idea how it works, and what those magic numbers are :)
- var I:Number, J:Number, K:Number,
- s:Number, L:Number, d:Number, R:Number,
- dX:Number, dY:Number, dZ:Number,
- c2:Number;
- var Rm:Number = 20, A:Number = 0.3;
- var clr:Array = [0x0080FF, 0x8080E4, 0xB0B0FF];
- for (I = 0; I < 101; I++)
- {
- A = A + 0.03;
- R = A * Rm;
- for (J = 0; J < 5 - Math.floor(I / 20); J++)
- {
- for (K = 0; K < 5; K++)
- {
- L = clr[(R > 3 * Rm * Math.random()) ? 0 : 1];
- c2 = (R > 2 * Rm * Math.random()) ? 1 : 2;
- if (A < 0.6) L = clr[2];
- s = Math.max (2, Rm - R / 3);
- dX = R * Math.cos(A + K * 2 * Math.PI / 5) +
- 0.2 * ((100 - I) * Math.random() + I / 2);
- dY = R * Math.sin(A + K * 2 * Math.PI / 5) +
- 0.2 * ((100 - I) * Math.random() + I / 2);
- dZ = s * (Math.random() - Math.random());
- stars.push ({ x: dX, y: dY, z: dZ, c: L, a: (255 - 120 * c2) });
- }
- }
- }
- }
- }
- }
notice: 

