I found that the RotPosScaleTCBSplinePathInterpolator in the Sun
j3dutils did not support non-uniform scaling. Can the guys at Sun fix
this by the next release? I changed all of 3 lines of code and got it
to work... at least it "looks" right.
// TODO: Vijay - Handle Non-Uniform scale
// Currently this interpolator does not handle non uniform
scale
// We cheat by just taking the x scale component
// sMat.set((double)iScale.x); // LEED: commented this out.
tMat.set(iQuat);
// tMat.mul(sMat); // LEED commented this out
// Set the translation components.
tMat.m03 = iPos.x;
tMat.m13 = iPos.y;
tMat.m23 = iPos.z;
rotation.set(tMat);
// construct a Transform3D from: axis * rotation *
axisInverse
temp.mul(axis, rotation);
temp.setScale(new Vector3d(iScale)); // LEED: set the
non-uniform scale here!
temp.mul(temp, axisInverse);
target.setTransform(temp);
Or is there something inherently wrong with my fix that I did not see
with my example usage of this interpolator? Have to admit I didn't sit
down with the math... just tried my first guess and it looked good.
J. Lee Dixon
Software Engineer
SAIC - Celebration, FL
[EMAIL PROTECTED]
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".