Я имею в виду:
CODE:var cz=Math.cos(angleZ), sz=Math.sain(angleZ), cy=Math.cos(angleY), sy=Math.sin(angleY), cx=Math.cos(angleX), sx=Math.sin(angleX);
for (var j = 0; j<v.length; j++) {
var o = this['d_'+j];
// z rotate
y = o.y0*cz+o.x0*sz;
x = o.x0*cz-o.y0*sz;
// y rotate
z = o.z0*cy-x*sy;
x = x*cy+o.z0*sy;
// x rotate
oy = y;
y = y*cx-z*sx;
z = oy*sx+z*cx;
Косинусы и синусы считаются один раз, а не по 2 раза за шаг цикла. Быстродействие, по-моему, должно подняться (хоть и не сильно). |