flash on 2011-11-2
♥0 |
Line 46 |
Modified 2011-11-02 17:26:03 |
MIT License
archived:2017-03-30 22:02:03
ActionScript3 source code
/**
* Copyright bradsedito ( http://wonderfl.net/user/bradsedito )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/s8Ce
*/
package {
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
// write as3 code here..
}
}
}
private var unprojected:Vector.<Number> = new Vector.<Number>();
private var vertices:Vector.<Number> = new Vector.<Number>();
private var uvts:Vector.<Number> = new Vector.<Number>();
private var points:Vector.<Vector3D> = new Vector.<Vector3D>();
private var indices:Vector.<int> = new Vector.<int>();
private var m:Matrix3D = new Matrix3D();
public function SphereTest()
{
points = new Vector.<Vector3D>();
var size:Number = 150;
var positions:Vector.<Number> = Vector.<Number>( [ /*
copy paste a list from:
http://www.nicoptere.net/dump/sphere_distributions.html
*/ ] );
for ( var i:int = 0; i < positions.length; i+=3 )
{
points.push( new Vector3D( positions[ i ] * size,
positions[ i + 1 ] * size,
positions[ i+2 ] * size ) );
}
//processing the convex hull
indices = ConvexHull.process( points );
for each ( var v:Vector3D in points )
{
unprojected.push( v.x, v.y, v.z );
}
x = y = 250;
addEventListener( Event.ENTER_FRAME, render );
}
private function render( e:Event ):void
{
graphics.clear();
m.prependRotation( .1, Vector3D.Y_AXIS );
Utils3D.projectVectors( m, unprojected, vertices, uvts );
if ( indices != null )
{
graphics.lineStyle( 0, 0, .5 );
graphics.drawTriangles( vertices, indices, null, TriangleCulling.NEGATIVE );
graphics.lineStyle( 2 );
graphics.drawTriangles( vertices, indices, null, TriangleCulling.POSITIVE );
}
}