IP Library Granted Patent US 9,041,679
Granted Patent B2
US 9,041,679 · App. 14/183,430 · Granted May 26, 2015

3D manipulation using applied pressure

Inventors: Jason L. Reisman (Brooklyn, NY); Philip L. Davidson (New York, NY); Jefferson Y. Han (Holliswood, NY)
Assignee: PERCEPTIVE PIXEL, INC.
G06F3/0488G06F3/0425G06F3/04883G06F3/04815G06F3/0416
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,041,679
App. No.
14/183,430
Granted
May 26, 2015
Kind
B2
Abstract

Placement by one or more input mechanisms of a touch point on a multi-touch display device that is displaying a three-dimensional object is detected. A two-dimensional location of the touch point on the multi-touch display device is determined, and the touch point is matched with a three-dimensional contact point on a surface of the three-dimensional object that is projected for display onto the image plane of the camera at the two-dimensional location of the touch point. A change in applied pressure at the touch point is detected, and a target depth value for the contact point is determined based on the change in applied pressure. A solver is used to calculate a three-dimensional transformation of the three-dimensional object using an algorithm that reduces a difference between a depth value of the contact point after object transformation and the target depth value.

Claims (42)

1. A computer-implemented method of manipulating a three-dimensional object displayed in a multi-touch display device, the method comprising:

displaying an initial view of a three-dimensional object on a two-dimensional touch display;

detecting a first touch, second touch, and third touch at respective touch points on the touch display that correspond to virtual contact points on the three-dimensional object displayed on the touch display;

detecting movement of the touch point for the first touch from an initial position to a final position on the touch display, while each of the second touch and third touch remain at respective initial positions; and

rendering, on the multi-touch display device, a new three-dimensional view of the three-dimensional object based on the movement of the first touch, wherein each contact point remains displayed by the multi-touch display device substantially underneath its corresponding touch point, the new three-dimensional view being scaled, rotated, and/or translated from the initial view of the three-dimensional object;

wherein a screen-space projection of each respective contact point is determined by projecting each contact point onto the touch display; and

wherein rendering the new three-dimensional view of the three-dimensional object comprises applying an algorithm to reduce distances between the final position of the first touch point and a first screen-space projection, the initial position of the second touch point and a second screen-space projection, and the initial position of the third touch point and a third screen-space projection.

2. The method of claim 1 , wherein the second touch point and third touch point define an axis about which the new view of the three-dimensional object is rotated compared to the initial view of the three-dimensional object.

3. The method of claim 1 , wherein detecting the first touch, second touch, and third touch at respective touch points comprises detecting only three touches at only three touch points; and

wherein applying the algorithm to reduce the distances results in zero distances between each touch point and a respective screen-space projection when movement of the three-dimensional object is unconstrained.

4. The method of claim 1 , wherein the algorithm comprises a least squares minimization algorithm.

5. The method of claim 4 , wherein the least squares minimization algorithm comprises a Levenberg-Marquardt algorithm.

6. The method of claim 5 , wherein applying the algorithm to reduce the Euclidean distances results in zero distances between each touch point and respective screen-space projection when the three-dimensional object is able to move with six degrees of freedom.

7. A computer-implemented method of manipulating a three-dimensional object displayed in a multi-touch display device, the method comprising:

displaying an initial view of a three-dimensional object on a two-dimensional touch display;

detecting multiple touches at respective touch points on the touch display that correspond to virtual contact points on the three-dimensional object displayed on the touch display;

detecting movement of one or more touch points from a respective initial position to a respective final position on the touch display, while any touch point remaining stationary remains at the respective initial position; and

rendering, on the multi-touch display device, a new three-dimensional view of the three-dimensional object based on the movement of the one or more touch points, wherein each contact point remains displayed by the multi-touch display device substantially underneath its corresponding touch point, the new three-dimensional view being scaled, rotated, and/or translated from the initial view of the three-dimensional object;

wherein a screen-space projection of each respective contact point is determined by projecting each contact point onto the touch display; and

wherein rendering the new three-dimensional view of the three-dimensional object comprises applying an algorithm to reduce distances between the one or more touch points and the respective screen-space projections.

8. The method of claim 7 , wherein the algorithm comprises a least squares minimization algorithm.

9. The method of claim 8 , wherein the least squares minimization algorithm comprises a Levenberg-Marquardt algorithm.

10. The method of claim 7 , wherein detecting the multiple touches at respective touch points comprises detecting more than three touch points; and

wherein applying the algorithm to reduce the distances results in distances greater than zero between each touch point and a respective screen-space projection, and the distances are distributed among the touch points in a uniform manner, when movement of the three-dimensional object is unconstrained.

11. The method of claim 7 , wherein detecting the multiple touches at respective touch points comprises detecting more than three touch points; and

wherein applying the algorithm to reduce the distances results in distances greater than zero between each touch point and a respective screen-space projection, and the distances are distributed among the touch points in a non-uniform manner, when movement of the three-dimensional object is unconstrained.

12. A multi-touch display device, comprising:

a processor;

a two-dimensional touch display; and

a program of instructions executable by the processor to manipulate a three-dimensional object displayed by the device, the program of instructions configured to:

display an initial view of the three-dimensional object on the touch display;

detect a first touch, second touch, and third touch at respective touch points on the touch display that correspond to virtual contact points on the three-dimensional object displayed on the touch display;

detect movement of the touch point for the first touch from an initial position to a final position on the touch display, while each of the second touch and third touch remain at respective initial positions; and

render a new three-dimensional view of the three-dimensional object based on the movement of the first touch, wherein each contact point remains displayed by the multi-touch display device substantially underneath its corresponding touch point, the new three-dimensional view being scaled, rotated, and/or translated from the initial view of the three-dimensional object;

wherein a screen-space projection of each respective contact point is determined by projecting each contact point onto the touch display; and

wherein rendering the new three-dimensional view of the three-dimensional object comprises applying an algorithm to reduce distances between the final position of the first touch point and a first screen-space projection, the initial position of the second touch point and a second screen-space projection, and the initial position of the third touch point and a third screen-space projection.

13. The multi-touch display device of claim 12 , wherein the second touch point and third touch point define an axis about which the new view of the three-dimensional object is rotated compared to the initial view of the three-dimensional object.

14. The multi-touch display device of claim 12 , wherein detecting the first touch, second touch, and third touch at respective touch points comprises detecting only three touches at only three touch points; and

wherein applying the algorithm to reduce the distances results in zero distances between each touch point and a respective screen-space projection when movement of the three-dimensional object is unconstrained.

15. The multi-touch display device of claim 12 , wherein the algorithm comprises a least squares minimization algorithm.

16. The multi-touch display device of claim 15 , wherein the least squares minimization algorithm comprises a Levenberg-Marquardt algorithm.

17. The multi-touch display device of claim 16 , wherein applying the algorithm to reduce the distances results in zero distances between each touch point and respective screen-space projection when the three-dimensional object is able to move with six degrees of freedom.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2017
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044823/0905 →
MERGER Recorded Nov 27, 2017
From: PERCEPTIVE PIXEL INC.
To: MICROSOFT CORPORATION
Reel/Frame 044511/0872 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2015
From: REISMAN, JASON L.; DAVIDSON, PHILIP L.; HAN, JEFFERSON Y.
To: PERCEPTIVE PIXEL, INC.
Reel/Frame 034901/0128 →
Continuity (5)
Continuation 13947966 · Jul 22, 2013
Continuation 12753095 · Apr 1, 2010
Provisional Application 61165853 · Apr 1, 2009
Provisional Application 61248670 · Oct 5, 2009
Related Publication 20140168128A1 · Jun 19, 2014