Código :
Convert3DPointTo2DPoint = function (points, angles, perspective) { var TransformedPointsArray = []; var sx = Math.sin(angles.x); var cx = Math.cos(angles.x); var sy = Math.sin(angles.y); var cy = Math.cos(angles.y); var sz = Math.sin(angles.z); var cz = Math.cos(angles.z); var xy; var xz; var yx; var yz; var scaleFactor; var i = points.length; while (i--) { xy = points[i].y * cx - points[i].z * sx; xz = points[i].y * sx + points[i].z * cx; yx = points[i].x * cy + xz * sy; yz = xz * cy - points[i].x * sy; scaleFactor = perspective / (perspective + yz); TransformedPointsArray[i] = {x: (yx * cz - xy * sz) * scaleFactor, y: (yx * sz + xy * cz) * scaleFactor}; } return(TransformedPointsArray); }; points = [{x: 50, y: 50, z: 0}, {x: -50, y: 50, z: 0}, {x: 0, y: 0, z: 0}, {x: 0, y: 100, z: 0}, {x: 0, y: 50, z: 50}, {x: 0, y: 50, z: -50}]; perspective = 300; this.createEmptyMovieClip("scene3D", 1); scene3D._x = 85; scene3D._y = 40; for (i = 0; i < points.length; i++) { dot = scene3D.createEmptyMovieClip("dot" + i, i); dot.lineStyle(4, 0, 100); dot.lineTo(0.150000, 0.450000); } scene3D.createTextField("xaxis", 200, 0, 0, 50, 50); scene3D.xaxis.text = "X"; scene3D.createTextField("yaxis", 201, 0, 0, 50, 50); scene3D.yaxis.text = "Y"; scene3D.createTextField("zaxis", 202, 0, 0, 50, 50); scene3D.zaxis.text = "Z"; scene3D.xaxis.selectable = scene3D.yaxis.selectable = scene3D.zaxis.selectable = false; scene3D.angles = {x: 0, y: 0, z: 0}; scene3D.onEnterFrame = function () { this.angles = {x: 0, y: y = y + 0.050000, z: 0}; this.clear(); this.lineStyle(1, 0, 100); ScreenPositions = Convert3DPointTo2DPoint(points, this.angles, perspective); for (i = 0; i < points.length; i++) { this["dot" + i]._x = ScreenPositions[i].x; this["dot" + i]._y = ScreenPositions[i].y; if (i < 6) { if (i % 2) { this.lineTo(ScreenPositions[i].x, ScreenPositions[i].y); continue; } this.moveTo(ScreenPositions[i].x, ScreenPositions[i].y); } } this.xaxis._x = this.dot1._x + 10; this.xaxis._y = this.dot1._y - 20; this.yaxis._x = this.dot2._x + 10; this.yaxis._y = this.dot2._y - 20; this.zaxis._x = this.dot4._x + 10; this.zaxis._y = this.dot4._y - 20; };
BUENO YO ME PREGUNTO SE PODRA ADAPTAR ESTE CODIGO A UNA IMAGEN O A UN MOVIE CLIP! ooooooo si ustedes tienen algun tuto donde indique como hacer que mi movie clip gire... me logro hacer entender?? bueno espero que si... les deseo lo mejor
ATTE: yop Locorama