📄 coord.as
字号:
/*******************ENGLISHproject: 3d engineby: ivan ivanoff (www.i2off.org)based on the work made by : stuart schoneveld (www.illogicz.com) email: avatar@i2off.orgapologies: to my wife and kids for supporting me. to jorge, valerialaura & mariano, for bothering them all the time. thx to valerialaura for the english translation--------------------ABOUT THIS CLASSit controls the position of a given point when a model rotates or moves--------------------HOW TO USE-when you instance this class you have to pass it the position it will have on the three axismodel.addCoord(new Coord(50,50, 0))///////////////////////////////ESPANOLproyecto: engine 3dpor: ivan ivanoff (www.i2off.org)basado en el trabajo de: stuart schoneveld (www.illogicz.com) email: avatar@i2off.orgperdones: A mi mujer e hijos por aguantar. A jorge, valeria y mariano, por joderlos a cada rato. --------------------ACERCA DE ESTA CLASEEsta lleva el control de posicion de un punto determinado cuando rota o se mueve un modelo.--------------------MODO DE USO-cuando se construye una instancia de esta clase hay que pasarle como parametro la posicion sobre cada uno de los ejespor ejemplo:model.addCoord(new Coord(50,50, 0))*******************/class Coord { var x var y var z var mx var my var mz var wx var wy var wz var xsin var xcos var ysin var ycos var parent:Object var _id //se lo entrega el model cuando da el add function Coord (xp,yp,zp) { x = xp y = yp z = zp } function modelMoved () { var p = parent setWorldCoordinates(p.x+mx,p.y+my,p.z+mz) } function modelRotated () { var p = parent setRotation(p.xrot, p.yrot) } function update (){ modelRotated() } function setCoordinates (px,py,pz) { x = px y = py z = pz setRotation(parent.xrot, parent.yrot); } function getCoordinates () { return {x:x,y:y,z:z} } function setModelCoordinates (px,py,pz) { mx = px my = py mz = pz var p = parent setWorldCoordinates(p.x+px,p.y+py, p.z+pz) } function getModelCoordinates () { return {x:mx,y:my, z:mz} } function setWorldCoordinates (px,py,pz) { wx = px wy = py wz = pz } function setRotation (rx,ry) { //var xsin = Math.sin(x); //var xcos = Math.cos(x); //var ysin = Math.sin(y); //var ycos = Math.cos(y); //x //var z = xcos * this.z - xsin * this.y; //var y = xcos * this.y + xsin * this.z; // y //var x = ycos * this.x - ysin * z; //var z = ycos * z + ysin * this.x; xsin = Math.sin(rx) xcos = Math.cos(rx) ysin = Math.sin(ry) ycos = Math.cos(ry) //x var zT = xcos*z-xsin*y var yT = xcos*y+ xsin*z //y var xT = ycos*x-ysin*zT var zT = ycos *zT + ysin*x setModelCoordinates(xT,yT,zT) }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -