maine-imre / handwaver

A gesture-based mathematical making environment from the University of Maine
http://www.imrelab.org
8 stars 2 forks source link

Geometer's Plantarium Embodied User Input #92

Open camden-bock opened 5 years ago

camden-bock commented 5 years ago
Joey-Haney commented 5 years ago

Pointing to select Location on earth can be achieved by using a similar implementation to the Touch Slider. A point gesture is detected and then when the fingertip is close enough to the surface of the earth, A pin is placed at the nearest location to the fingertip.

This will be achieved with a generic action system. (not specific to point) Think of fingertip as classifier.position


Pin Functionality:

Pinch to move (grasp) When a pinch is detected, if there is an object that is graspable within a certain distance (tolerance to be tested, should be made capable of manipulating the value) That object will update its position to be at the position of the fingertips until the grasp is no longer detected. (which assumes the user has stopped grabbing the object to place it within the environment)

Here - move is pins Classifier.position == pin.location Need to deal with picking up and release



Global Lat (cycle through modes) This will have the projections as part of the cycle also. It could use the detection of a thumbs up, horizontally aligned with the floor, to go through lat lines, projected lat lines, and both the lat lines on the earth and their projections.
Has a cooldown to allow for toggling the gesture without stopping and restarting the gesture.

Global Long (cycle through modes) This will have the projections as part of the cycle. It could use the detection of a thumbs up, vertically aligned with the floor, to go through lat lines, projected lat lines, and both the lat lines on the earth and their projections.
Has a cooldown to allow for toggling the gesture without stopping and restarting the gesture.


Earth Texture On/Off
Two open palms that are brought together. a clap. I think this would be really satisfying to cause the Earth to appear and disappear by clapping.
this would generally be on detect gesture -> toggle earth texture proximity => classifier.position with classifier.position

Other potential designs:
detect a classifier type being activated between the head and an object. Where we approximate the line of sight of the person within the headset and then if the object and the classifier are within the line of sight, toggle the texture.


Push Earth
Push gesture will move the user relative to the world. The movement amount is based on the amount of distance covered by the push itself.

Speed of Push -> Speed of user movement


Swipe to rotate the Earth is not going to be the easiest for the moment as Swipe needs work. It currently does not activate for Vive Pro. Therefore a different gesture will be slotted in and this could be Open Palm. When an open palm is detected near the surface of the planet with no pins around, the planet could spin at a set pace, or revolve at a speed detected by comparing the position of the hands from the time the gesture is activated until it is deactivated. This could be based on displacement in general, going in a single direction, or it could be based off of movement on a single axis which rotates the planet clockwise when the coordinate is increased and counterclockwise when the coordinate is decreased.

ideally though this would be a swipe which happens near the surface of the planet and the rotation is in the direction of the swipe.

Proximity ==> classifier.position Direction of Rotation ==> classifier.direction


Double Pinch to Scale: Double pinch in mid air, with nothing in your grasp (no longer a thing), and then alter the scale of the scene when distance is gained or lost from the locations which were determined by the initial pinch of each hand

Classifier.position =/= surface of earth? --> make exclusive with starlight

camden-bock commented 5 years ago

Rough Drafts

camden-bock commented 5 years ago

Great circle is an "upgrade" to great arc.

camden-bock commented 5 years ago

Creating great arcs requires two "origins" for a classifier

camden-bock commented 5 years ago

Double Pinch to Scale requires values that persist for a single classifier. need to consider design. Are dictionaries OK?

Joey-Haney commented 5 years ago

Thoughts on selection and history of selections: proposed idea was to have a selection history which remembers what was selected. The idea that arose from this was to have a general history where certain object interactions are remembered and then that can be used to have functionality happen. For example: you could place a pin, then another, and have both in the history due to these placements and then a gesture could be performed that would then act on the two placed pins and make a great arc.

Joey-Haney commented 5 years ago

Camden's ideas: Pin does not need to be central to design anymore due to moving away from old system. Therefore something like the the great arc construction no longer needs to be based around the pins in terms of gestures. Instead we could have a two handed gesture put the ends of an arc on each hand. (so the arc is made between the hands) Then the arc can be brought toward the planet and can have each end lock on to a pin when the proximity is small enough.