# Does anyone know the Matrix effect?

Does anyone know how to do the Matrix effect where like, the camera spins and zooms around the object??

Hey, man, you’re the 20,000,000,364th to ask that question, and I’ll answer once more : Frame by frame, it’s very long but not so difficult. With Actionscript, it can be quick if ‘algebra’ is your middle name, but otherwise it’s very very hard.\r\rThere. Good luck.\r\rpom 0]

yeah what he said. If you aren’t “God’s gift to ActionScript” then its difficult using that, but if you do it frame by frame it will be easy just take a looooooooooooooong time.

ok here it is…try to understand it…‘cuz i don’t…but it IS there…<img src=http://www.ezboard.com/intl/aenglish/images/emoticons/ohwell.gif ALT=":"> \r\r// Matrix3D constructor \r// ------------------ \rfunction matrix3D () { \r this.element = new Array(); \r this.createBase(); \r this.vCount = 0; \r} \r\r// Base creation \r// ------------- \rmatrix3D.prototype.createBase = function() { \r this.base = new Array(); \r this.base[1] = new Array(1,0,0); \r this.base[2] = new Array(0,1,0); \r this.base[3] = new Array(0,0,1); \r} \r// Adding a vector \r// --------------- \rmatrix3D.prototype.addVector = function (x,y,z) { \r this.vCount++; \r this.element[this.vCount] = new Array(); \r this.element[this.vCount][1] = x; \r this.element[this.vCount][2] = y; \r this.element[this.vCount][3] = z; \r} \r// Deleting a vector \r// --------------- \rmatrix3D.prototype.delVector = function (index,count) { \r if (!count) count = 1; \r this.element.splice(index, count); \r this.vCount -= count; \r} \r// Getting an element’s value \r// -------------------------- \rmatrix3D.prototype.get = function(row, column) { \r return (this.element[row][column]); \r} \r// Setting an element’s value \r// -------------------------- \rmatrix3D.prototype.set = function(row, column, arg) { \r this.element[row][column] = arg; \r} \r\r// Rotation around the X axis \r// -------------------------- \r// It multiplicates each vector (dot multiplication) by the transformation matrix: \r// \r// 1 0 0 \r// 0 cos ß -sin ß \r// 0 sin ß cos ß \r// \r// So, it will result the matrix transformed by: \r// \r// x’ = x \r// y’ = (cos ß) * y - (sin ß) * z \r// z’ = (sin ß) * y + (cos ß) * z \r// \rmatrix3D.prototype.Xrotation = function(beta) { \r for (var iVector = 1; iVector <= this.vCount; iVector++) { \r this.element[iVector][2] = ((Math.cos(beta))*this.element[iVector][2])-((Math.sin(beta))*this.element[iVector][3]); \r this.element[iVector][3] = ((Math.sin(beta))*this.element[iVector][2])+((Math.cos(beta))*this.element[iVector][3]); \r } \r} \r// Rotation around the Y axis \r// -------------------------- \r// Transformation Matrix: \r// \r// cos ß 0 sin ß \r// 0 1 0 \r// -sin ß 0 cos ß \r// \rmatrix3D.prototype.Yrotation = function(beta) { \r for (var iVector = 1; iVector <= this.vCount; iVector++) { \r this.element[iVector][1] = ((Math.cos(beta))*this.element[iVector][1])+((Math.sin(beta))*this.element[iVector][3]); \r this.element[iVector][3] = (-(Math.sin(beta))*this.element[iVector][1])+((Math.cos(beta))*this.element[iVector][3]); \r } \r} \r// Rotation around the Z axis \r// -------------------------- \r// Transformation Matrix: \r// \r// cos ß -sin ß 0 \r// sin ß cos ß 0 \r// 0 0 1 \r// \rmatrix3D.prototype.Zrotation = function(beta) { \r for (var iVector = 1; iVector <= this.vCount; iVector++) { \r this.element[iVector][1] = ((Math.cos(beta))*this.element[iVector][1])-((Math.sin(beta))*this.element[iVector][2]); \r this.element[iVector][2] = ((Math.sin(beta))*this.element[iVector][1])+((Math.cos(beta))*this.element[iVector][2]); \r } \r} \r// Base Translation \r// ---------------- \rmatrix3D.prototype.translate = function(x,y,z) { \r this.base[1] = new Array(x,0,0); \r this.base[2] = new Array(0,y,0); \r this.base[3] = new Array(0,0,z); \r} \r\r:eek: