[sci.virtual-worlds] Power Glove: Future Hi-Res Mode

galt@dsd.es.com (Greg Alt - Perp) (06/08/91)

It looks like it might be a while before we get Power Glove Hi-res mode,
so let's pretend that we have a function:

typedef struct
        {
        float   x1,y1,z1,x2,y2,z2;
        unsigned char finger;
        } PGloveRec;

void PowerGlove(PGloveRec *pgr);


Now, what will we do with this?  I assume most of us want some kind
of graphical object that looks like a hand, so we can pass this record
to a function that moves the hand.  But what about more interesting
input?  I plan on having a vehical similar to the wheelchair spaceship
from BloomCounty comix.  I was thinking I will have a virtual control
panel on the right armrest (which will also be my (0,0,0) reference point.
Whenever the glove is in a small neighborhood of the armrest, I will pass
the data record to a function that interprets control panel operations and
returns these commands.  For movement, I thought a virtual joystick would 
be a good start--just return 1 of 8 different directions based on the tilt
of the hand (pulling back would be done by position since it is difficult
to tilt a joystick back when it is on an armrest.  This mode would only 
be used if the hand was on the armrest, and a fist was made.  Vertical 
movement could be accomplished by pointing with your thumb.  (use the
vector obtained by (x1-x2,y1-y2,z1-z2) ).  Other finger positions could be
used for pushing buttons either by using only the index finger and position,
or have one button for each finger and ignore position.  All of this would
just be the small control panel, you would also have freedom to define 
any gesture controls for all the rest of the space.

The more complicated input would be gestures that require a pattern of
movement, such as grabbing and turning a door knob.  What other gestures
would be useful?  What has already been done in the way of gesture input?
I have seen picking up/carrying/throwing, is this all that has been 
implemented?  What sort of gestures would be useful for creating new graphics
objects in real-time?  One thing that could be useful is to have a gesture
for starting a polyline, then use rubber-banding to create wire-frame
objects.  This object could then be placed permanently to become part of
the room/landscape/etc.

If we can get Hi-res mode, I think much of this would be interesting even
without goggles...  Just using a moniter and maybe LCD 3D glasses...

         Greg