From: Joao Manuel De Oliveira Francisco <[EMAIL PROTECTED]>
Date: Wednesday, October 10, 2001 7:42 AM


>Hi there! Greetings from Portugal.
>I am developing a 3D automobile simulator for my University Mechanics
>Department.
>I have already programmed all BranchGroup of the vehicle, with all the
>behaviors attaches for the vehicle and wheels dynamics. For debugging I've
>used the keyboard to move the vehicle and rotate the wheels.
>The problem is that I need complete control over the animation, which
>cant have with the interpolators supplied with Java3D.
>I must be able to send each behavior an object with the parameters I want
>it to have.
>Theoreticaly I think I can solve it by creating a new Wakeup Classe and a
>new kind of Event, which I can fire anytime I need to change the
>parameters of the behaviors.


Joao,

I think that what you need to do to model automobile dynamics is to get set
up to integrate the equations of motion, given the environment, model state,
and control inputs.  You'll likely want to integrate the equations
numerically, and this requires that you tightly control the advance of time.

Fortunately, the Java 3D API specification gives you
wakeupOnElapsedTime(deltaT), so that you could perform the step-wise
integrations within the processStimulus(. . .) method of a Behavior and set
the model parameters (TransformGroups, etc.) there too.

Unfortunately, the VM implementations of this feature don't work that well,
and on some platforms, the feature is useless.  I've outlined some
observations and tests at http://www.brockeng.com/VMech/Time/Clocks.htm .
If enough people recognize this as a problem, then maybe someone will figure
out a way to fix it.  Or make enough noise that Sun will notice.

I see it as a huge "run anywhere" issue.  Even if the different VMs ended up
with usable but different behaviors as they advance time in small
increments, the results will differ, and simulations will be flat
unverifiable at their root.  If simulations done on the Java 3D API aren't
verifiable, then it will be off limits for serious work.  A solid
cross-platform implementation of controlled time stepping is the only answer
AFAIC.

Cheers,

Fred Klingener
Brock Engineering

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