From: John Wright <[EMAIL PROTECTED]> Date: Saturday, August 04, 2001 3:17 PM >To make nine cubes rotate together you'll want to form them into >Transform groups. It might be hard to do this for a rubic's cube as the >nine cubes that need to rotate together change constantly. I've been meaning to bring up this subject for some time. The summer doldrums seem to be as good a time as any. The problem of modeling a Rubic's Cude on a scene graph is an instance of the general problem of representing kinematic inversions. "Kinematic inversions" can be roughly described as different mechanical behaviors that result from different fixities applied to a basic structure. Start with a fourbar linkage. A particular linkage that has fixed length links pinned in a fixed order has four inversions, the behaviors of which depend on which of the four links is considered as the foundation. Gear boxes or planetary gear sets might have a single kinematic structure, but the behavior (the ratio between input and output speed) depends on the fixity (which clutches are engaged or released) or the position of countershafts. A formal representation of a walking or running human figure would be based on successive kinematic inversions as first one foot is attached to the foundation while the other is free, and then they are swapped. I'm not sure why this problem hasn't motivated more interest in kinematic inversions. So far, I suppose, reorganizing the scene graph for every step of the figure has been so computationally expensive that it hasn't been seriously considered. Still, it may be practical some time in the future when we have more compute power and we're more interested in solving the physics directly. The Rubic's Cube is an extreme example. It's easy to draw the scene graph once the move (the rotation of a face) is decided. But to represent successive rotations of different faces, the scene graph has to be disassembled and reassembled. It seems clear that any particular inversion can be represented directly on the scene graph, but a different inversion requires reconstruction. Java 3D certainly has the parent and child gets and sets to reorganize the scene graph, so the crux seems to be designing the super object that expresses the basic kinematic structure and that supplies the methods for construction of the scene graph that expresses behavior of the particular inversions. How 'bout it? 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".
