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

Reply via email to