-----Original Message-----
From: Derek Augustus Ruths <[EMAIL PROTECTED]>
To: Syrus Mesdaghi <[EMAIL PROTECTED]>
Cc: [EMAIL PROTECTED] <[EMAIL PROTECTED]>
Date: Thursday, June 01, 2000 8:56 AM
Subject: Re: [JAVA3D] BUG!?: non-congruent transform above ViewPlatfor whena
VALID matrix is applied ...


> I recently dealt with a similar problem.  I found that I received
>non-congruent transform exceptions when I set the transform3D to a
>rotation of zero about any axis.  In code, this would look like:
>
> Transform3D t=new Transform3D();
>
> t.rotX(0);
> or
> t.rotY(0);
> or
> t.rotZ(0);
>
> Any one of these seems to produce 'bad' results.  I can't
>charaterize the problem better because I don't really understand
>it.  However, you might check your code and check any cases where you
>might rotate by zero.  Once I ensured I wasn't rotating by zero, the
>problem vanished.  Hope this helps.
>
> DereK
>
>On Thu, 1 Jun 2000, Syrus Mesdaghi wrote:
>
>> Hello everyone,
>>
>> I've been having difficulty writing Behaviors that Manipulate the View's
Transform. I use such behaviors extensively in order to manage the camera's
movement in our games that are written for one of our Java3D based Engines.
The problem is that if I run some of my demos for a little while, eventually
the engine crashes and I get the following error:
>>
>> Exception occurred during Behavior execution:
>> javax.media.j3d.BadTransformException: non-congruent transform above
ViewPlatform
>> at
javax.media.j3d.TransformGroupRetained.setTransform(TransformGroupRetained.j
ava:118)
>> at javax.media.j3d.TransformGroup.setTransform(TransformGroup.java:111)
>>
>> As I mentioned can happen at any point. As a matter of fact, some of my
demos can run perfectly without any problem. I have noticed that this occurs
when the camera transform is rotating. For this matter, I left a small
chance that the difficulty is related to floating point miscalculations. I
finally got the chance to try to troubleshoot this problem and after testing
many different cases, I realize that in some cases, there can be a Matrix4f
that can be applied to an object without any difficulty, but when the very
same Matrix (4f) is applied to the View Platform, the exception is thrown.
In order to illustrate this scenario, I have implemented a sample app named
TestUniverse that can apply a matrix to an Object's transform, or the
ViewPlatform's transform. Pressing the key "S" cause the app to set the
object's transform, and "C" cause the app to the   ViewPlatform's transform.
As you will be able to see, only the second scenario causes an exception to
be thrown.
>>
>> In order to get a Matrix with these special values, I ran one of my demos
for about 5 min and recorded the transform's data that cause the Engine to
crash. Here is the transform:
>>
>>
>>
>> 1.0,    0.0,                                 0.0,
0
>> 0.0,    0.20792245864868164, 0.9781964421272278,    0
>> 0.0,   -0.9781964421272278,   0.20792245864868164,  0
>> 0.0,    0.0,                                 0.0,
1.0
>>
>> If the above data reveal an obvious problem, please let me know what is
going on. If the problem is not too obvious, you should run the attached
app.
>>
>> Please let me know if this is a BUG (or maybe floating point
miscalculation, or ....). We are intending to show some of our student's
projects at E3, so this problem has the highest priority on my list.
>>
>> I thank you in advanced, Take Care,
>>
>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 - - - - - - - -
>> Syrus Mesdaghi               Full Sail Real World Education
>> 3D Gaming Instructor       3300 University BLVD
>> [EMAIL PROTECTED]     Winter Park FL 32792
>>                                          http://www.fullsail.com
>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 - - - - - - - -
>>
>>
>>
>>
>

thank you for the info, that is a good thing to know.  Yet, the strange
thing is that the values above are caused by using Vecmath calls and it has
some rotation other than zero. if you run the TestUniverse.java and press
"O" you will see the object rotate but the same matrix causes problem when
applied to ViewPlatform's transform.

Take Care,
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - -
Syrus Mesdaghi           Full Sail Real World Education
3D Gaming Instructor    3300 University BLVD
[EMAIL PROTECTED]  Winter Park FL 32792
                                   http://www.fullsail.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - -

===========================================================================
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".

Reply via email to