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