From: Keith, T. <ke...@um...> - 2005-04-25 14:23:26
|
Consider something like this ... ***** Let minX and maxX be the minimum and maximum value, respectively, of = your data along the x-Axis Let minY and maxY be the minimum and maximum value, respectively, of = your data along the y-Axis Let minZ and maxZ be the minimum and maximum value, respectively, of = your data along the z-Axis ***** double rangeX =3D fabs(maxX - minX); double rangeY =3D fabs(maxY - minY); double rangeZ =3D fabs(maxZ - minZ); double maxRange =3D rangeX; if (rangeY > maxRange) maxRange =3D rangeY; if (rangeZ > maxRange) maxRange =3D rangeZ; double scaleX =3D maxRange / rangeX; double scaleY =3D maxRange / rangeY; double scaleZ =3D maxRange / rangeZ; double maxScale =3D scaleX; if (scaleY > maxScale) maxScale =3D scaleY; if (scaleZ > maxScale) maxScale =3D scaleZ; setScale(scaleX, scaleY, scaleZ); |