Background

Sub-system: The mapping between hand gesture and object geometry belongs to the sub-system "Human-computer interface".

Objective of the sub-system: use intuitive gestures to design (without having to specify which parameter or geometry to change)

Challenge: the system have to identify the targeted geometry with some intelligence

Sub-problem of the sub-system that is solved in this demo: to evaluate and sort targeted planes of the design object using single-hand gesture based on an estimation of confidence

Method

  1. Obtain palm plane’s center position and normal direction
  2. Obtain all planes’ center position and normal direction from object
  3. Calculate position distance between each plane and palm plane (normalized by distance between palm center and object center) and angle difference between palm normal direction and each plane’s normal direction (normalized by 180 deg)
  4. Use a ratio (\(0.8 \times angle + 0.2 \times distance\)) to calculate a score for each plane (ratio value can change according to user (maybe customize in a pre-experiment?))
  5. Lower score means more likely the plane is targeted, so define: \(confidence = 1 - score\)

Result

Name of each plane of the cube is for demo purpose: x+, x-, y+, y-, z+, z-.

The value besides each plane is the \(confidence\) value calculated based on the proposed method, the higher the confidence is, the more likely the plane is the targeted plane based on user gesture after analysed by the system.

Palm facing down and locating above the up plane, so plane "y+" has the highest confidence.

Palm facing left and locating besides the right plane, so plane "x+" has the highest confidence.

Palm facing up, might indicate the up plane or bottom plane according to different user intuition, according to the current algorithm, the bottom plane "y-" has the highest confidence.

Palm facing backwards, the system estimates that the front plane "z+" has the highest condifence.

Palm in a middle angle between up plane and right plane, and locating between the two, so the system estimate both planes to have high confidence.

Video demo

Here is a video showing these actions in motion:

Next step

  • The gesture intuition can vary among users, so there could be a pseudo-user-study among a small group of people to gain more knowledge about "what is an intuitive gesture" for certain manipulation commands.
  • Combine two single-hand gestures together to execute two-hand gesture for selecting plane-pair and manipulating.
  • Implement line- and point-related gestures for selecting and manipulating lines and points in the design object.

Next Post Previous Post