# US 9,436,369 B2 · Touch interface for precise rotation of an object

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,436,369 B2
- Document ID: US9436369B2
- Status: Granted
- Kind: B2
- Application number: 14/497,480
- Filed: 2014-09-26
- Published: 2016-03-31
- Granted: 2016-09-06
- Earliest claimed: 2014-09-26
- Assignees: Disney Enterprises, Inc.
- Applicants: Disney Enterprises, Inc.
- Inventors: Alexander P. Swanson; Christopher R. Cervantes; Jason E. Hetu
- Web page: https://patentgrep.com/patent/US9436369B2

## CPC

- G06F 3/04845: for image manipulation, e.g. dragging, rotation, expansion or change of colour
- G06F 3/04815: Interaction with a metaphor-based environment or interaction object displayed as three-dimensional [3D], e.g. changing the user viewpoint with respect to the environment or object
- G06F 3/04842: Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence)
- G06F 3/0488: using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F 3/04883: for inputting data by handwriting, e.g. gesture or text
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems, methods, and computer program products to rotate virtual objects within a virtual environment being displayed on a touch screen display, by, upon receiving a selection of a first virtual object using the touch screen display, rendering one or more frames depicting a rotation tool in a predefined location relative to the first virtual object and having a first orientation to the first virtual object, responsive to receiving input from the touch screen display, moving the rotation tool from a first location to a second location on the touch screen display as specified by the received input, and responsive to the movement of the rotation tool, rotating the first virtual object within the virtual environment based on the movement of the rotation tool, wherein the first virtual object substantially maintains the first orientation to the rotation tool throughout the movement.

## Claims

### Claim 1

A method to rotate virtual objects within a virtual environment being displayed on a touch screen display, comprising:
upon receiving a selection of a first virtual object using the touch screen display, rendering one or more frames depicting a rotation tool in a predefined location relative to the first virtual object and having a first orientation to the first virtual object;
responsive to receiving input from the touch screen display, moving the rotation tool from a first location to a second location on the touch screen display as specified by the received input;
responsive to the movement of the rotation tool, rotating the first virtual object within the virtual environment based on the movement of the rotation tool, wherein the first virtual object substantially maintains the first orientation to the rotation tool throughout the movement; and
upon determining that rotating the first virtual object to face the rotation tool at the second location causes the first virtual object to be within a threshold orientation of a second virtual object, rotating the first virtual object to match an orientation of the second virtual object.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first virtual object is rotated according to an angle of rotation, relative to the first virtual object, between the first location and the second location, the method further comprising:
displaying a rotation bubble below the first virtual object, wherein the rotation bubble substantially maintains the first orientation to the rotation tool.

### Claim 3 (depends on 1)

The method of claim 1, wherein rotating the first virtual object further comprises:
rotating the first virtual object at a first interval, of a plurality of intervals, upon determining that the input has moved the rotation tool past a first threshold interval, of a plurality of threshold intervals.

### Claim 4 (depends on 1)

The method of claim 1, wherein rotating the first virtual object further comprises:
defining a set of zones surrounding the first virtual object, each zone in the set of zones corresponding to a respective frame, of a set of frames of the first virtual object, wherein each frame corresponds to a different viewing perspective of the first virtual object;
identifying a first zone, of the set of zones, corresponding to the second location; and
displaying a first frame of the first virtual object, wherein the first frame corresponds to the first zone.

### Claim 5 (depends on 1)

The method of claim 1, wherein the rotation tool is co-planar with a plane perpendicular to an axis around which the first virtual object is rotated.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
prior to receiving the touch screen input, receiving input selecting the first virtual object and a second virtual object, wherein the touch screen input rotates the first and second virtual objects such that a center point between the first and second objects substantially maintains the first orientation to the rotation tool throughout the movement.

### Claim 7

A computer program product, comprising:
a non-transitory computer-readable storage medium storing instructions which when executed by a processor, performs an operation to rotate virtual objects within a virtual environment being displayed on a touch screen display, the operation comprising:
upon receiving a selection of a first virtual object and a second virtual object using the touch screen display, rendering one or more frames depicting a rotation tool in a predefined location and having a first orientation to a center point between the first and second virtual objects;
responsive to receiving input from the touch screen display, moving the rotation tool from a first location to a second location on the touch screen display as specified by the received input; and
responsive to the movement of the rotation tool, rotating the first and second virtual objects within the virtual environment based on the movement of the rotation tool, wherein the center point between the first and second virtual objects substantially maintains the first orientation to the rotation tool throughout the movement.

### Claim 8 (depends on 7)

The computer program product of claim 7, wherein the first and second virtual objects are rotated according to an angle of rotation, relative to the center point between the first and second virtual objects, between the first location and the second location, the operation further comprising:
displaying a rotation bubble below the first and second virtual objects, wherein the rotation bubble substantially maintains the first orientation to the rotation tool.

### Claim 9 (depends on 7)

The computer program product of claim 7, wherein rotating the first and second virtual objects further comprises:
rotating the first and second virtual objects at a first interval, of a plurality of intervals, upon determining that the input has moved the rotation tool past a first threshold interval, of a plurality of threshold intervals.

### Claim 10 (depends on 7)

The computer program product of claim 7, wherein rotating the first and second virtual objects further comprises:
defining a set of zones surrounding the first and second virtual objects, each zone in the sets of zones corresponding to a respective frame, of a respective set of frames of the first and second virtual objects, wherein each frame corresponds to a different viewing perspective of the respective first and second virtual objects;
identifying a first zone and a second zone, of the sets of zones for the first and second virtual objects, respectively, corresponding to the second location; and
displaying a first frame of the first virtual object and a second frame of the second virtual object, wherein the first frame corresponds to the first zone and the second frame corresponds to the second zone.

### Claim 11 (depends on 7)

The computer program product of claim 7, wherein the rotation tool is co-planar with a plane perpendicular to an axis around which the first and second virtual objects are rotated.

### Claim 12 (depends on 7)

The computer program product of claim 7, the operation further comprising:
upon determining that rotating the first virtual object to face the rotation tool at the second location causes the first and second virtual objects to be within a threshold orientation of a third virtual object, rotating the first and second virtual objects to substantially maintain an orientation of the third virtual object.

### Claim 13

A system, comprising:
a computer processor; and
a memory containing a program which when executed by the processor, performs an operation to rotate virtual objects within a virtual environment being displayed on a touch screen display, the operation comprising:
upon receiving a selection of a first virtual object using the touch screen display, rendering one or more frames depicting a rotation tool in a predefined location relative to the first virtual object and having a first orientation to the first virtual object;
responsive to receiving input from the touch screen display, moving the rotation tool from a first location to a second location on the touch screen display as specified by the received input;
responsive to the movement of the rotation tool, rotating the first virtual object within the virtual environment based on the movement of the rotation tool, wherein the first virtual object substantially maintains the first orientation to the rotation tool throughout the movement; and
upon determining that rotating the first virtual object to face the rotation tool at the second location causes the first virtual object to be within a threshold orientation of a second virtual object, rotating the first virtual object to match an orientation of the second virtual object.

### Claim 14 (depends on 13)

The system of claim 13, wherein the first virtual object is rotated according to an angle of rotation, relative to the first virtual object, between the first location and the second location, the operation further comprising:
displaying a rotation bubble below the first virtual object, wherein the rotation bubble substantially maintains the first orientation to the rotation tool.

### Claim 15 (depends on 13)

The system of claim 13, wherein rotating the first virtual object further comprises:
rotating the first virtual object at a first interval, of a plurality of intervals, upon determining that the input has moved the rotation tool past a first threshold interval, of a plurality of threshold intervals.

### Claim 16 (depends on 13)

The system of claim 13, wherein rotating the first virtual object further comprises:
defining a set of zones surrounding the first virtual object, each zone in the set of zones corresponding to a respective frame, of a set of frames of the first virtual object, wherein each frame corresponds to a different viewing perspective of the first virtual object;
identifying a first zone, of the set of zones, corresponding to the second location; and
displaying a first frame of the first virtual object, wherein the first frame corresponds to the first zone.

### Claim 17 (depends on 13)

The system of claim 13, wherein the rotation tool is co-planar with a plane perpendicular to an axis around which the first virtual object is rotated.

### Claim 18 (depends on 13)

The system of claim 13, the operation further comprising:
prior to receiving the touch screen input, receiving input selecting the first virtual object and a second virtual object, wherein the touch screen input rotates the first and second virtual objects such that a center point between the first and second objects substantially maintains the first orientation to the rotation tool throughout the movement.
