sandy matrix rotate
{
}
...
@author Darknet
♥0 |
Line 91 |
Modified 2009-06-20 03:59:30 |
MIT License
archived:2017-03-09 22:57:53
ActionScript3 source code
/**
* Copyright darknet ( http://wonderfl.net/user/darknet )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/yISD
*/
package
{
//{
import flash.display.Sprite;
import flash.events.Event;
import sandy.core.data.Matrix4;
import sandy.core.data.Point3D;
import sandy.core.Scene3D;
import sandy.core.scenegraph.Camera3D;
import sandy.core.scenegraph.Group;
import sandy.core.scenegraph.Shape3D;
import sandy.materials.Appearance;
import sandy.materials.attributes.LightAttributes;
import sandy.materials.attributes.LineAttributes;
import sandy.materials.attributes.MaterialAttributes;
import sandy.materials.ColorMaterial;
import sandy.materials.Material;
import sandy.math.Matrix4Math;
import sandy.primitive.Box;
//}
/**
* ...
* @author Darknet
*/
[SWF(width="300", height="300", backgroundColor="#FFFFFF", frameRate="30")]
public class SandyMatrixBone2 extends Sprite
{
//sandy engine
public var scene:Scene3D; // just one scene or the world
public var camera:Camera3D; //basic one cam
public var g:Group = new Group("myGroup");
public var point0:Box = new Box('point0');
public var point1:Box = new Box('point1');
public var point2:Box = new Box('point2');
public var point3:Box = new Box('point3');
public var pointzero:Box = new Box('pointzero');
public var angle:Number = 0;
public function SandyMatrixBone2() {
// camera
camera = new Camera3D(300,300);
camera.y = 60;
camera.z = -60;
camera.lookAt(0, 0, 0);
var root:Group = g;
scene = new Scene3D( "scene", this, camera, root );
addEventListener( Event.ENTER_FRAME, enterFrameHandler );
var materialAttr:MaterialAttributes = new MaterialAttributes(
new LineAttributes( 0.5, 0x2111BB, 0.4 ),
new LightAttributes( true, 0.1)
);
var material:Material = new ColorMaterial( 0xFFCC33, 1, materialAttr );
material.lightingEnable = true;
var app:Appearance = new Appearance( material );
point0.appearance = app;
point0.x = 16;
point0.z = 16;
point0.appearance = app;
point1.x = -16;
point1.z = 16;
point1.appearance = app;
point2.x = 16;
point2.z = -16;
point2.appearance = app;
point3.x = -16;
point3.z = -16;
point3.appearance = app;
g.addChild(point0);
g.addChild(point1);
g.addChild(point2);
g.addChild(point3);
g.addChild(pointzero);
}
// This update the code and the function when every frame is pass
private function enterFrameHandler( event : Event ) : void {
rotate(point0);
rotate(point1);
rotate(point2);
rotate(point3);
scene.render();
}
public function rotate(point:Shape3D):void {
angle = 1;
var matrix1:Matrix4;
var matrix2:Matrix4;
var matrix3:Matrix4;
var matrix4:Matrix4;
var point00:Point3D = new Point3D();
point00.x = point.x;
point00.y = point.y;
point00.z = point.z;
matrix2 = Matrix4Math.rotationX(angle);
matrix3 = Matrix4Math.rotationY(angle);
matrix4 = Matrix4Math.rotationZ(angle);
//point00 = Matrix4Math.transform(matrix2, point00);
point00 = Matrix4Math.transform(matrix3, point00);
//point00 = Matrix4Math.transform(matrix4, point00);
point.x = point00.x;
point.y = point00.y;
point.z = point00.z;
}
}
}