IP Library Granted Patent US 8,395,627
Granted Patent B2
US 8,395,627 · App. 12/110,258 · Granted Mar 12, 2013

Spline technique for 2D electronic game

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 8,395,627
App. No.
12/110,258
Granted
Mar 12, 2013
Kind
B2
Abstract

A technique for generating splines in two dimensions for use in electronic game play is disclosed. The technique includes generating a computer graphic of a shape to be animated that is formed by one or more splines. The shape also includes at least one joint. When the position or orientation of the joint is changed, the orientation and/or position of the splines corresponding to the joint are changed resulting in changes to the shape.

Claims (44)

1. A method for generating a computer graphic of a shape to be animated, the shape having at least one joint, wherein the shape changes about the joint, the method comprising:

providing, by a computing device, a spline that includes at least two points, each point being defined in a two-dimensional space, the spline being indicative of an outline of the shape in a base position;

providing, by the computing device, coordinate information corresponding to positions of the at least two points on the spline that indicate the outline of the shape at predefined positions when the shape is to be changed about the joint with respect to the base position;

generating, by the computing device and based at least in part on the provided coordinate information, a new position of the spline to change the shape; and

rendering, by the computing device, the spline at the new position to form the outline of the shape associated with the new position, each of the at least two points on the spline being defined in the two-dimensional space represented by (x,y), where:

x=t 2 *( P 3. x− 2* P 2. x+P 1. x )+2 t *( P 2. x−P 1. x )+ P 1. x

y=t 2 *( P 3. y− 2* P 2. y+P 1. y )+2 t *( P 2. y−P 1. y )+ P 1. y,

where t varies between 0 and 1, where (P 2 . x , P 2 . y ) and (P 1 . x , P 1 . y ) are points on the spline, and where (P 3 . x , P 3 . y ) is a point that defines a curvature of the spline.

2. The method as recited in claim 1 , further comprising:

providing a second spline that includes at least two additional points being defined in the two-dimensional space, the second spline being indicative of a second shape in a second base position;

providing additional coordinate information corresponding to a position of the at least two additional points on the second spline corresponding to the second shape at predefined positions that are interpolated based on positions of the first joint and a second joint when the second shape is to be changed about the second joint with respect to the second base position; and

generating a new position of the second spline in response to the additional coordinate information that is indicative of the position of the at least two additional points on the second spline that corresponds to the second shape.

3. The method as recited in claim 1 , wherein the shape further includes a second joint, and wherein the coordinate information is generated by blending positions of the first joint and the second joint when the shape has changed about the first joint and the second joint with respect to the base position.

4. The method as recited in claim 3 , wherein the blending is determined by allocating a first predetermined amount to the position of the spline with respect to the position of the first joint and allocating a second predetermined amount to the position of the spline with respect to the position of the second joint.

5. The method as recited in claim 1 , wherein the spline is defined by a two dimensional curve.

6. The method as recited in claim 5 , wherein the spline includes a line connecting the at least two points and a third point, the third point controlling a curvature of the line as a function of a distance between the third point and a straight line connecting the at least two points.

7. The method as recited in claim 1 , further comprising providing coordinate information by changing a two-dimensional coordinate, an angle, and distance information of the at least two points with respect to the joint.

8. The method as recited in claim 1 further comprising:

correcting the shape associated with the new position; and

rendering the shape associated with the new position.

9. A system for rendering a shape comprising:

a memory to store a spline that includes at least two points, each of the at least two points being defined in two-dimensional space, the spline being indicative of the shape in a base position, the memory to store coordinate information indicative of a position of the at least two points on the spline that corresponds to the shape at predefined positions when the shape has changed about a joint with respect to the base position; and

a processor communicatively coupled to the memory to:

generate a new position of the spline based at least in part on the coordinate information; and

render the shape associated with the new position to form an outline of the shape, each of the at least two points on the spline being defined in the two-dimensional space represented by (x,y), where:

x=t 2 *( P 3. x− 2* P 2. x+P 1. x )+2 t *( P 2. x−P 1. x )+ P 1. x

y=t 2 *( P 3. y− 2* P 2. y+P 1. y )+2 t *( P 2. y−P 1. y )+ P 1. y , and

where t varies between 0 and 1, where (P 2 . x , P 2 . y ) and (P 1 . x , P 1 . y ) are points on the spline, and where (P 3 . x , P 3 . y ) is a point that defines a curvature of the spline.

10. The system as recited in claim 9 , wherein the memory stores a second spline comprising at least two additional points being defined in the two-dimensional space, the second spline being indicative of a second shape in a second base position, and wherein the memory stores additional coordinate information that indicates a position of the at least two additional points on the second spline that corresponds to the second shape at predefined positions that are blended based on positions of the joint and a second joint when the second shape has changed about the second joint with respect to the base position, and wherein the processor is operable to generate a new position of the second spline based at least in part on the additional coordinate information.

11. The system as recited in claim 9 , wherein the shape further includes a second joint, and wherein the coordinate information includes a blending based on positions of the joint and the second joint when the shape has changed about the joint and the second joint with respect to the base position.

12. The system as recited in claim 11 , wherein the processor is operable to determine the blending by allocating a first predetermined amount to a position of the spline with respect to the position of the joint and allocating a second predetermined amount to a position of the spline with respect to the position of the second joint.

13. The system as recited in claim 9 , wherein the memory stores information related to the spline that includes information about a line connecting the at least two points and a third point that in combination with the at least two points defines a curvature of the line as a function of a distance between the third point and a straight line connecting the at least two points.

14. The system as recited in claim 9 , wherein the processor is operable to provide the coordinate information by changing a two-dimensional coordinate, an angle, and distance information related to the at least two points with respect to the joint.

15. A non-transitory computer storage medium having computer readable instructions that, when executed by a processor, performs operations comprising:

providing a plurality of splines, each of the plurality of splines including at least two points, each of the at least two points being defined in two-dimensional space, the plurality of splines being indicative of an outline of a shape in a base position;

providing coordinate information that is indicative of a position of the at least two points on each of the plurality of splines, the position of the at least two points corresponding to the outline of the shape at positions in the base position, the coordinate information being generated by blending (a) relative positions of each of the plurality of splines with respect to positions of a first joint with (b) relative positions of each of the plurality of splines with respect to a second joint, when the shape is to be changed about the first joint and the second joint with respect to the base position;

generating a new position of the plurality of splines based at least in part on the coordinate information;

rendering the plurality of splines at the new position to form the outline of the shape associated with the new position, each of the at least two points on each of the plurality of splines being defined in the two-dimensional space represented by (x,y), where:

x=t 2 *( P 3. x− 2* P 2. x+P 1. x )+2 t *( P 2. x−P 1. x )+ P 1. x

y=t 2 *( P 3. y− 2* P 2. y+P 1. y )+2 t *( P 2. y−P 1. y )+ P 1. y , and

where t varies between 0 and 1, where (P 2 . x , P 2 . y ), (P 1 . x , P 1 . y ) are points on at least one of the plurality of splines, and where (P 3 . x , P 3 . y ) is a point that defines a curvature of at least one of the plurality of splines.

16. The non-transitory computer storage medium as recited in claim 15 , wherein the blending is determined by allocating a first predetermined amount to the position of the plurality of splines with respect to the position of the first joint and allocating a second predetermined amount to the position of the plurality of splines with respect to the position of the second joint.

17. The non-transitory computer storage medium as recited in claim 15 , wherein each of the plurality of splines include a line connecting the at least two points and a third point, the third point controlling a curvature of the line as a function of a distance between the third point and a straight line connecting the at least two points.

18. The non-transitory computer storage medium as recited in claim 15 , wherein the operations further comprise providing coordinate information by changing a two-dimensional coordinate, an angle, and distance information of the at least two points with respect to the first joint or the second joint.

Assignments (8)
NOTICE OF ASSIGNMENT OF SECURITY INTEREST Recorded May 27, 2022
From: UBS AG, STAMFORD BRANCH
To: BANK OF AMERICA, N.A.
Reel/Frame 060204/0197 →
RELEASE OF SECURITY INTEREST Recorded Mar 16, 2022
From: UBS AG, STAMFORD BRANCH
To: ARISTOCRAT TECHNOLOGIES, INC.; BIG FISH GAMES, INC.; VIDEO GAMING TECHNOLOGIES, INC.
Reel/Frame 059368/0575 →
SECURITY INTEREST Recorded Jun 3, 2020
From: BIG FISH GAMES, INC.
To: UBS AG, STAMFORD BRANCH, AS SECURITY TRUSTEE
Reel/Frame 052828/0321 →
SECURITY INTEREST Recorded Jan 11, 2018
From: BIG FISH GAMES, INC.
To: UBS AG, STAMFORD BRANCH AS SECURITY TRUSTEE
Reel/Frame 044599/0599 →
RELEASE (REEL 038615 / FRAME 0714) Recorded Dec 28, 2017
From: JPMORGAN CHASE BANK, N.A.
To: BIG FISH GAMES, INC.
Reel/Frame 044968/0651 →
SECURITY INTEREST Recorded May 17, 2016
From: BIG FISH GAMES, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 038615/0714 →
RELEASE Recorded Feb 25, 2015
From: SILICON VALLEY BANK
To: BIG FISH GAMES INC
Reel/Frame 035169/0279 →
SECURITY AGREEMENT Recorded Mar 7, 2014
From: BIG FISH GAMES, INC.
To: SILICON VALLEY BANK
Reel/Frame 032410/0566 →