U.S. patent application number 12/036382 was filed with the patent office on 2008-08-28 for method for displaying a draw result as a race.
Invention is credited to Constantinos Antonopoulos, Andreas Boronikolos, Yannis Minadakis.
Application Number | 20080207300 12/036382 |
Document ID | / |
Family ID | 39716519 |
Filed Date | 2008-08-28 |
United States Patent
Application |
20080207300 |
Kind Code |
A1 |
Antonopoulos; Constantinos ;
et al. |
August 28, 2008 |
METHOD FOR DISPLAYING A DRAW RESULT AS A RACE
Abstract
In one embodiment of the present invention a
computer-implemented method for displaying a draw result as a race
is provided, comprising: generating a draw result, wherein the draw
result indicates at least a first place winner; inputting a
plurality of animation paths into a computer, wherein each of the
plurality of animation paths is associated with a respective one of
a plurality of race objects; and rendering an animation with a
computer based at least in part upon the input plurality of
animation paths and the generated draw result such that the race
object to finish first in the animation corresponds to the first
place winner of the draw result.
Inventors: |
Antonopoulos; Constantinos;
(Kifisia, GR) ; Boronikolos; Andreas; (Ekali,
GR) ; Minadakis; Yannis; (Seattle, WA) |
Correspondence
Address: |
GREENBERG TRAURIG, LLP
MET LIFE BUILDING, 200 PARK AVENUE
NEW YORK
NY
10166
US
|
Family ID: |
39716519 |
Appl. No.: |
12/036382 |
Filed: |
February 25, 2008 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60891591 |
Feb 26, 2007 |
|
|
|
60956917 |
Aug 20, 2007 |
|
|
|
Current U.S.
Class: |
463/17 |
Current CPC
Class: |
A63F 2300/6623 20130101;
A63F 2300/6669 20130101; A63F 2300/5513 20130101; G07F 17/3223
20130101; A63F 13/798 20140902; A63F 2300/5506 20130101; G07F
17/3227 20130101; G07F 17/32 20130101; A63F 13/10 20130101; A63F
2300/632 20130101; A63F 2300/5546 20130101; A63F 13/525 20140902;
G07F 17/3286 20130101 |
Class at
Publication: |
463/17 |
International
Class: |
A63F 13/00 20060101
A63F013/00 |
Claims
1. A computer-implemented method for displaying a draw result as a
race, comprising: generating a draw result, wherein the draw result
indicates at least a first place winner; inputting a plurality of
animation paths into a computer, wherein each of the plurality of
animation paths is associated with a respective one of a plurality
of race objects; and rendering an animation with a computer based
at least in part upon the input plurality of animation paths and
the generated draw result such that the race object to finish first
in the animation corresponds to the first place winner of the draw
result.
2. The method of claim 1, wherein the draw result is generated with
a computer.
3. The method of claim 2, wherein the draw result is associated
with a lottery.
4. The method of claim 1, wherein the computer into which the
plurality of animation paths are input is the same computer as the
computer which renders the animation.
5. The method of claim 1, wherein the draw result is input into the
computer into which the plurality of animation paths are input.
6. The method of claim 1, wherein the draw result is input into the
computer which renders the animation.
7. The method of claim 1, further comprising: inputting at least
one camera path; wherein the rendering the animation further
comprises rendering the animation based at least in part upon the
input plurality of animation paths, the input camera path and the
generated draw result such that the race object to finish first in
the animation corresponds to the first place winner of the draw
result.
8. The method of claim 1, wherein the draw result is generated
essentially randomly.
9. The method of claim 1, wherein the draw result is generated
essentially in real-time.
10. The method of claim 1, wherein the rendering is done
essentially in real-time.
11. The method of claim 7, wherein the input plurality of animation
paths and the input camera path are pre-made, prior to the
generation of the draw result.
12. The method of claim 1, wherein each of the plurality of race
objects comprises one of: (a) a boat; (b) a car; (c) a horse; and
(d) a dog.
13. The method of claim 1, wherein each of the plurality of
animation paths comprises at least one of: velocity; acceleration;
and orientation.
14. The method of claim 1, wherein each of the plurality of
animation paths comprises a plurality of piecewise Bezier
splines.
15. The method of claim 1, wherein each of the plurality of
animation paths is distinct from one another.
16. The method of claim 1, wherein the steps are carried out in the
order recited.
17. A computer-implemented method for displaying a draw result as a
race, comprising: generating a draw result, wherein the draw result
indicates an order of finish of the race, wherein the draw result
is generated essentially randomly, wherein the draw result is
associated with a lottery, and wherein the draw result is generated
with a computer; inputting a plurality of animation paths into a
computer, wherein each of the plurality of animation paths is
associated with a respective one of a plurality of race objects;
and rendering an animation with a computer based at least in part
upon the input plurality of animation paths and the generated draw
result such that the race objects finish the animation in an order
corresponding to the order of finish of the race indicated by the
draw result.
18. The method of claim 17, wherein the computer into which the
plurality of animation paths are input is the same computer as the
computer which renders the animation.
19. The method of claim 17, wherein the draw result is input into
the computer into which the plurality of animation paths are
input.
20. The method of claim 17, wherein the draw result is input into
the computer which renders the animation.
21. The method of claim 17, further comprising: inputting at least
one camera path; wherein the rendering the animation further
comprises rendering the animation based at least in part upon the
input plurality of animation paths, the input camera path and the
generated draw result such that the race objects finish the
animation in an order corresponding to the order of finish of the
race indicated by the draw result.
22. The method of claim 17, wherein the steps are carried out in
the order recited.
Description
RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional
Application Ser. No. 60/891,591, filed Feb. 26, 2007 and U.S.
Provisional Application Ser. No. 60/956,917, filed Aug. 20, 2007.
Each of the aforementioned applications is incorporated herein by
reference in its entirety.
FIELD OF THE INVENTION
[0002] In one embodiment of the present invention a
computer-implemented method for displaying a draw result as a race
is provided, comprising: generating a draw result, wherein the draw
result indicates at least a first place winner; inputting a
plurality of animation paths into a computer, wherein each of the
plurality of animation paths is associated with a respective one of
a plurality of race objects; and rendering an animation with a
computer based at least in part upon the input plurality of
animation paths and the generated draw result such that the race
object to finish first in the animation corresponds to the first
place winner of the draw result.
[0003] In another embodiment of the present invention a
computer-implemented method for displaying a draw result is
provided, comprising: generating a draw result, wherein the draw
result indicates at least a first place winner; rendering with a
computer a first video presentation for display at a first
terminal, wherein the first video presentation comprises first
content and an indication of the draw result; rendering with a
computer a second video presentation for display at a second
terminal, wherein the second video presentation comprises second
content and an indication of the draw result, and wherein the first
content is distinct from the second content; transmitting the first
video presentation to the first terminal; and transmitting the
second video presentation to the second terminal.
[0004] In another embodiment of the present invention a system and
method for pseudo-random 3D video game distribution using 2D
hardware is provided.
[0005] In another embodiment of the present invention a piece-wise
temporal algorithm for pseudo-random realistic object motion is
provided.
[0006] For the purposes of describing and claiming the present
invention the term "draw result" is intended to refer to the
outcome (e.g., the random outcome) of a selection such as, for
example, a lottery drawing. Such a draw result may comprise, for
example, a single winning indicium (e.g., a single winning number)
or a plurality of winning indicia (e.g., a plurality of winning
numbers). When there are a plurality of winning indicia the order
of the indicia may be relevant (e.g., 1st, 2nd and 3rd place in a
race).
BACKGROUND OF THE INVENTION
[0007] Described herein are a set of games called Monitor Games
(hereinafter sometimes called simply "games"). In one example, the
Monitor Games may be numerical games. The customer places a bet on
the outcome (draw result) and watches the resulting virtual event
on a local terminal to see if he won. In one example, the games may
target a younger audience than traditional players. To keep these
younger players interested, complex games with interesting graphics
may be required. Of note, the games may need to appear unique each
time they are run, even if the draw result is the same.
[0008] In one specific example, games must be capable of being run
on the current generation systems (e.g., a Coronis system). Such a
Coronis system is typically not capable of generating custom 3D
content as draw results come in (e.g., such a Coronis system may
typically only be capable of displaying pre-rendered video
content).
[0009] Thus, in one embodiment, the present invention provides a
system and method to offer next generation graphics on current
generation hardware.
[0010] Further, in the field of computer animation there is
typically a need to move objects in a scene to generate an
animation sequence. A scene is a set of single or multi-dimensional
data which specifies, or can be transformed to, 2D coordinates and
color intensities for the display device. The display device can
either be electronic, such as a computer screen, or physical, such
as a photograph. An animation sequence is a set of transformations
("transformations") of the data which when displayed in sequence,
produce the appearance of motion on the device.
[0011] The transformations must typically be constrained in order
to provide a realistic feel to the animation sequence. The
uniqueness of an animation sequence is determined by the uniqueness
of its transformations. The transformations can be created by hand,
or can be generated algorithmically. Thus, if the desire is to
generate many unique animation sequences, many constrained
transformations must be generated.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] FIG. 1 shows a diagram related to static games according to
an embodiment of the present invention.
[0013] FIG. 2 shows a diagram related to dynamic games according to
an embodiment of the present invention.
[0014] FIGS. 3A-3D show block diagrams of embodiments of the
present invention related to systems for displaying a draw
result.
[0015] FIGS. 4A-4D show block diagrams of embodiments of the
present invention related to systems for displaying a draw result
as a race.
[0016] Among those benefits and improvements that have been
disclosed, other objects and advantages of this invention will
become apparent from the following description taken in conjunction
with the accompanying figures. The figures constitute a part of
this specification and include illustrative embodiments of the
present invention and illustrate various objects and features
thereof.
DETAILED DESCRIPTION OF THE INVENTION
[0017] Detailed embodiments of the present invention are disclosed
herein; however, it is to be understood that the disclosed
embodiments are merely illustrative of the invention that may be
embodied in various forms. In addition, each of the examples given
in connection with the various embodiments of the invention are
intended to be illustrative, and not restrictive. Further, the
figures are not necessarily to scale, some features may be
exaggerated to show details of particular components. Therefore,
specific structural and functional details disclosed herein are not
to be interpreted as limiting, but merely as a representative basis
for teaching one skilled in the art to variously employ the present
invention.
[0018] In one embodiment, there may be two types of games
displayed: static games and dynamic games (in each type of game,
the customers may place bets before the game is run).
[0019] Referring first to static games, it is noted that in one
example each static game may have a relatively small number of
possible outcomes. For each outcome, a constant number of permuted
renderings are created off-line and stored at one or more local
terminals. For example, if the game is the result of one dice roll,
the total number of outcomes is 6. The total permuted outcomes can
be arbitrary, but constant. So there might be, for example, 10
pieces of pre-rendered content for each possible dice roll for a
total of 60 pre-rendered scenes to choose from.
[0020] In one example, the static game can be played as frequently
as once a minute, although the time can be longer or shorter. The
customers place their bets while introductory content is played
(the introductory content may be from a central system and/or a
local terminal). Betting closes before the draw result is displayed
by each local terminal. During that period, a message warning that
betting is closing soon may be provided (the warning may be from a
central system and/or a local terminal). Of course, betting may
close before the draw result is received by the local terminal or
upon issuance of the draw result by the central system. The local
terminals receive the draw result and select (e.g., randomly
select) content that matches the draw result. The local terminals
display the content allowing the customers to visualize the draw
result in the context of the game type.
[0021] Reference will now be made to FIG. 1 (related to static
games), showing in section "A" delivery of Draw Results from a
Central System (e.g., central computer) to each of a plurality of
Point of Sale (POS) Coronis systems (that is, local terminals) and
in section "B" display of video clips by a given one of the Coronis
Systems of section "A".
[0022] More particularly, it is seen in this FIG. 1 (in section
"A") that Central System 101 may deliver each Draw Result 103 to
each of the Point of Sale (POS) Coronis Systems 105A-105D (of
course, any desired number of Point of Sale (POS) Coronis Systems
may be utilized). The delivery of each Draw Result 103 may be, for
example, via Satellite 107 and/or land-based Network 109 (which may
be wired and/or wireless).
[0023] Further, it is seen in this FIG. 1 (in section "B") that
each of Point of Sale (POS) Coronis Systems 105A-105D takes each
Draw Result 103 delivered thereto and based upon each Draw Result
103, uses CPU 111 to: (a) select one or more Video Clips 113 (e.g.,
a set of pre-rendered content which is resident on each local
Coronis system) from Hard Drive 115; and (b) show each of Video
Clips 113 on Monitor 117. In one example, the CPU 111 takes the
draw result and randomly displays a particular set of content which
corresponds to the draw result. The content is then rendered to the
monitor.
[0024] Referring now to dynamic games, such games may again (in one
example) have a relatively small number of possible outcomes.
Unlike a static game, however, a dynamic game may have objects
whose motion is complex. Examples of dynamic games include (but are
not limited to) car races or horse races. To achieve a realistic
feel, the set of paths the objects take must be sufficiently large.
It may be impractical to pre-render sufficient content and thus the
content may need to be rendered uniquely for each draw. In this
regard, for a dynamic game a central system may produce both a draw
result and a unique path for each object in the scene.
[0025] In one example, the dynamic game can be played as frequently
as once a minute, although the time can be longer or shorter. The
customers place their bets while introductory content is played
(the introductory content may be from a central system and/or a
local terminal). Betting closes before the draw result is displayed
by each local terminal. During that period, a message warning that
betting is closing soon may be provided (the warning may be from a
central system and/or a local terminal). Of course, betting may
close before the draw result is received by the local terminal or
upon issuance of the draw result by the central system. The draw
result is used by the central system to render the art content. In
one example, the content is animated in 3D by the central system,
which produces the resulting animation sequence as one or more
video clips. The video clip(s) are sent to the local terminals for
display.
[0026] Of course, dynamic games may comprise real-time rendered
content as described above as well as pre-rendered content (similar
to the static games). In one example, the real-time portion may be
delivered (e.g., along with the draw result) by the central system
to the local terminals and the pre-rendered content (to the extent
it is utilized) may be stored locally at each local terminal.
[0027] Reference will now be made to FIG. 2, showing in section "A"
delivery of Rendered Video Clips from a Central System (e.g.,
central computer) of a plurality of Point of Sale (POS) Coronis
systems and in section "B" display of the Rendered Video Clips by a
given one of the Coronis Systems of section "A".
[0028] More particularly, it is seen in this FIG. 2 (in section
"A") that Central System 201 may deliver each Rendered Video Clip
203 to each of the Point of Sale (POS) Coronis Systems 205A-205D
(of course, any desired number of Point of Sale (POS) Coronis
Systems may be utilized). The delivery of each Rendered Video Clip
203 may be, for example, via Satellite 207 and/or land-based
Network 209 (which may be wired and/or wireless).
[0029] Further, it is seen in this FIG. 2 (in section "B") that
each of Point of Sale (POS) Coronis Systems 205A-205D takes each
Rendered Video Clip 203 delivered thereto and uses CPU 211 to show
each Rendered Video Clip 203 on Monitor 217.
[0030] In other embodiments, various systems and methods may be
provided via which one or more video presentations may be generated
uniquely for each draw. In one example, this allows the system to
customize art content to a particular terminal (e.g., a particular
Coronis terminal) while allowing the same draw across multiple
terminals (e.g., multiple Coronis terminals).
[0031] Customization may include, for example, advertising targeted
to the current user (e.g., the current Coronis user). In one
example, the user may be identified (e.g., at a particular
terminal) using a unique identifier such as a RFID or smart card.
In another example, the user may be a "statistical" user, whose
characteristics are inferred from other data. In another example,
the advertising may become part of the 3D artwork for the scene.
The system may measure how long the advertising was visible to the
user (this data may be used, for example, for billing the
advertiser).
[0032] Customization may include user specific objects to bet on.
For example, if the system is displaying a car race, a unique user
may have acquired a car color not generally available (e.g., a
custom car color may be acquired either by a separate purchase or
the custom car color may be acquired by achieving some gaming
related goal, such as a number of plays per hour). Whichever car
the user bet on could be of that color. Such customization may work
in reverse as well. For example, the user who bet the most money
with the system could have his custom car be the car he bets on for
the entire system.
[0033] In another embodiment of the present invention a
computer-implemented method for displaying a draw result is
provided, comprising: generating a draw result, wherein the draw
result indicates at least a first place winner; rendering with a
computer a first video presentation for display at a first
terminal, wherein the first video presentation comprises first
content and an indication of the draw result; rendering with a
computer a second video presentation for display at a second
terminal, wherein the second video presentation comprises second
content and an indication of the draw result, and wherein the first
content is distinct from the second content; transmitting the first
video presentation to the first terminal; and transmitting the
second video presentation to the second terminal (in some examples,
the first and/or second video presentations may rendered by central
computer system 101 of FIG. 1 and/or the rendered first and/or
second video presentations may be transmitted by central computer
system 101 of FIG. 1 to one or more of terminals 105A-105D of FIG.
1 or the first and/or second video presentations may rendered by
central computer system 201 of FIG. 2 and/or the rendered first
and/or second video presentations may be transmitted by central
computer system 201 of FIG. 2 to one or more of terminals 205A-205D
of FIG. 2).
[0034] In one example, the first content may comprise
advertising.
[0035] In another example, the first content may comprise
advertising and the second content may comprise advertising.
[0036] In another example, the first content may comprise
advertising customized for a user of the first terminal.
[0037] In another example, the second content may comprise
advertising customized for a user of the second terminal.
[0038] In another example, the user of the first terminal may be
identified via a unique identifier.
[0039] In another example, the user of the second terminal may be
identified via a unique identifier.
[0040] In another example, each unique identifier may comprise at
least one of a RFID card and a smart card.
[0041] In another example, the user of the first terminal may be
identified via inference of data subjected to statistical
analysis.
[0042] In another example, the user of the second terminal may be
identified via inference of data subjected to statistical
analysis.
[0043] In another example, the method may further comprise
measuring a length of time that the advertising customized for the
first user is displayed at the first terminal (e.g. to the first
user).
[0044] In another example, the method may further comprise
measuring a length of time that the advertising customized for the
second user is displayed at the second terminal (e.g., to the
second user).
[0045] In another example, the method may further comprise billing
an advertiser based at least in part upon the measured length of
time that the advertising customized for the first user is
displayed at the first terminal (e.g., to the first user).
[0046] In another example, the method may further comprise billing
an advertiser based at least in part upon the measured length of
time that the advertising customized for the second user is
displayed at the second terminal (e.g., to the second user).
[0047] In another example, the first content may comprise an object
associated with a bet.
[0048] In another example, the second content may comprise an
object on which to bet.
[0049] In another example, the draw result may be associated with a
lottery.
[0050] In another example, the draw result may be generated
essentially randomly.
[0051] In another example, the draw-result may be generated
essentially in real-time.
[0052] In another example, the draw result may be generated with a
computer.
[0053] In another example, the draw result may be generated
manually (e.g., chosen by hand).
[0054] In another example, the computer that renders the first
video presentation may be the same computer as the computer that
renders the second video presentation.
[0055] In another example, the computer that renders the first
video presentation may be different from the computer that renders
the second video presentation.
[0056] In another example, the computer that renders the first
video presentation and/or the computer that renders the second
video presentation may be the same computer as the computer that
generates the draw result.
[0057] In another example, the computer that renders the first
video presentation and/or the computer that renders the second
video presentation may be different from the computer that
generates the draw result.
[0058] In another example, the first video presentation may be
transmitted to the first terminal from the same computer that
transmits the second video presentation to the second terminal.
[0059] In another example, the first video presentation may be
transmitted to the first terminal from a different computer than
the computer that transmits the second video presentation to the
second terminal.
[0060] In another example, the first video presentation may be
transmitted to the first terminal via at least one of a satellite
connection and a network connection and the second video
presentation may be transmitted to the second terminal via at least
one of a satellite connection and a network connection In another
example, the draw result may comprise a plurality of winning
numbers.
[0061] In another example, the steps may be carried out in the
order recited.
[0062] In another embodiment of the present invention a
computer-implemented method for displaying a draw result is
provided, comprising: generating a draw result, wherein the draw
result indicates at least a first place winner, wherein the draw
result is generated essentially randomly, wherein the draw result
is associated with a lottery, and wherein the draw result is
generated with a computer; rendering with a computer a first video
presentation for display at a first terminal, wherein the first
video presentation comprises first content and an indication of the
draw result; rendering with a computer a second video presentation
for display at a second terminal, wherein the second video
presentation comprises second content and an indication of the draw
result, and wherein the first content is distinct from the second
content; transmitting the first video presentation to the first
terminal; and transmitting the second video presentation to the
second terminal; wherein the first content comprises advertising
and wherein the second content comprises advertising; wherein the
first content comprises advertising customized for a user of the
first terminal; and wherein the second content comprises
advertising customized for a user of the second terminal (in some
examples, the first and/or second video presentations may rendered
by central computer system 101 of FIG. 1 and/or the rendered first
and/or second video presentations may be transmitted by central
computer system 101 of FIG. 1 to one or more of terminals 105A-105D
of FIG. 1 or the first and/or second video presentations may
rendered by central computer system 201 of FIG. 2 and/or the
rendered first and/or second video presentations may be transmitted
by central computer system 201 of FIG. 2 to one or more of
terminals 205A-205D of FIG. 2).
[0063] In one example, the steps may be carried out in the order
recited.
[0064] Referring now to FIGS. 3A-3D, block diagrams of embodiments
of the present invention related to systems for displaying a draw
result are shown.
[0065] Referring first to FIG. 3A, computer 301 may generate draw
result(s). The draw result(s) may be input to computer 303.
Computer 303 may render a first video presentation for display at a
first terminal (in one example, the rendered first video
presentation may transmitted by central computer system 101 of FIG.
1 to one or more of terminals 105A-105D of FIG. 1 or the rendered
first video presentation may transmitted by central computer system
201 of FIG. 2 to one or more of terminals 205A-205D of FIG. 2).
Further, the draw result(s) may be input to computer 305. Computer
305 may render a second video presentation for display at a second
terminal (in one example, the rendered second video presentation
may transmitted by central computer system 101 of FIG. 1 to one or
more of terminals 105A-105D of FIG. 1 or the rendered second video
presentation may transmitted by central computer system 201 of FIG.
2 to one or more of terminals 205A-205D of FIG. 2) The rendered
first and/or second video presentations may the be used as desired
(e.g., to display lottery results at various terminals).
[0066] Referring now to FIG. 3B, computer 311 may generate draw
result(s). The draw result(s) may be input to computer 313.
Computer 313 may render a first video presentation for display at a
first terminal (in one example, the rendered first video
presentation may transmitted by central computer system 101 of FIG.
1 to one or more of terminals 105A-105D of FIG. 1 or the rendered
first video presentation may transmitted by central computer system
201 of FIG. 2 to one or more of terminals 205A-205D of FIG. 2).
Computer 313 may also render a second video presentation for
display at a second terminal (in one example, the rendered second
video presentation may transmitted by central computer system 101
of FIG. 1 to one or more of terminals 105A-105D of FIG. 1 or the
rendered second video presentation may transmitted by central
computer system 201 of FIG. 2 to one or more of terminals 205A-205D
of FIG. 2). The rendered first and/or second video presentations
may the be used as desired (e.g., to display lottery results at
various terminals).
[0067] Referring now to FIG. 3C, this is similar to FIG. 3A, but
the draw results may be generated manually (e.g., drawn by hand).
The draw result(s) may be input to computer 323. Computer 323 may
render a first video presentation for display at a first terminal
(in one example, the rendered first video presentation may
transmitted by central computer system 101 of FIG. 1 to one or more
of terminals 105A-105D of FIG. 1 or the rendered first video
presentation may transmitted by central computer system 201 of FIG.
2 to one or more of terminals 205A-205D of FIG. 2). Further, the
draw result(s) may be input to computer 325. Computer 325 may
render a second video presentation for display at a second terminal
(in one example, the rendered second video presentation may
transmitted by central computer system 101 of FIG. 1 to one or more
of terminals 105A-105D of FIG. 1 or the rendered second video
presentation may transmitted by central computer system 201 of FIG.
2 to one or more of terminals 205A-205D of FIG. 2) The rendered
first and/or second video presentations may the be used as desired
(e.g., to display lottery results at various terminals).
[0068] Referring now to FIG. 3D, this is similar to FIG. 3B, but
the draw results may be generated manually (e.g., drawn by hand).
The draw result(s) may be input to computer 333. Computer 333 may
render a first video presentation for display at a first terminal
(in one example, the rendered first video presentation may
transmitted by central computer system 101 of FIG. 1 to one or more
of terminals 105A-105D of FIG. 1 or the rendered first video
presentation may transmitted by central computer system 201 of FIG.
2 to one or more of terminals 205A-205D of FIG. 2). Computer 333
may also render a second video presentation for display at a second
terminal (in one example, the rendered second video presentation
may transmitted by central computer system 101 of FIG. 1 to one or
more of terminals 105A-105D of FIG. 1 or the rendered second video
presentation may transmitted by central computer system 201 of FIG.
2 to one or more of terminals 205A-205D of FIG. 2) The rendered
first and/or second video presentations may the be used as desired
(e.g., to display lottery results at various terminals).
[0069] Reference will now be made to a piece-wise temporal
algorithm ("algorithm") that generates a set of transformations
that will animate a set of objects in a scene. The algorithm
applies the desired constraints to piecewise description of the
transformations needed to animate the objects.
[0070] Transformation: The transformation is a set of data which
define all the necessary changes for an object, or set of objects,
that animate. Each piece of data can be of arbitrary dimension. In
one example, three dimensional points are used. Two points define a
subset of the animation sequence over which the object starts at
the first point and ends at the second point. Two vectors specify
an incoming and outgoing direction of the object respectively. The
magnitude of each vector is proportional to the velocity with which
the object is moving at that particular point. Taken together, this
data specifies a Cubic Spline ("spline"). The orientation is
inferred from the tangent of the spline. The transformation also
contains a set of data which is interpolated from a constraint. The
data can be used to control other aspects of the object animation,
such as color changes or object data deformation.
[0071] Constraints: A constraint is a limitation on the possible
value a transformation may take. This constraint may be temporal,
spatial or both. The constraint may affect the object in multiple
ways. It may constrain its change in position, orientation,
velocity, or acceleration. At each point in the algorithm, all
constraints must be satisfied in order for a valid transformation
to be generated. If there is no valid transform given the
constraints, the algorithm describes the minimal constraints which
must be relaxed to generate a valid transform.
[0072] The Algorithm: The algorithm takes the following constraints
as input: [0073] A set of positions that bound a path or track
which the objects must move along. The surface of that path are the
only valid positions the objects may take. [0074] The number of
objects to animate [0075] The starting position of each object
[0076] The starting direction of each object [0077] The starting
velocity of each object [0078] The ending positions of each object
[0079] The extents of each object as a bounding rectangle or sphere
[0080] The valid range of directional changes for each object. The
dimension of this constraint is the dimension of the position minus
one [0081] The minimum and maximum acceleration for each object
[0082] The average and maximum velocity for each object [0083] The
length of time to animate
[0084] Step 1: The Algorithm computes the implied average velocity
for each object. The Algorithm divides the track into a constant
number of pieces. For each piece, the Algorithm perturbs the
velocity of each object as it passes over that piece such that over
all pieces, the average velocity is maintained and all constraints
are satisfied. Orientation is also computed similarly. The starting
position is then recomputed for each time step based on the
randomly perturbed direction and orientation. This generates a set
of positions and orientations over time.
[0085] Step 2: Once Step 1 is complete, the Algorithm will fit a
set of piecewise curves to the resultant set of position and
orientation data. The set of curves are the output of the
algorithm. Curves are used to allow for smooth interpolation for
the animated objects.
[0086] In other embodiments, various systems and methods may be
provided in which: (1) a "race" is a set of pre-made artist drawn
animation paths (e.g., in 3D) which represent the position and
orientation of a set of animated objects (the artist may provide a
mapping of the race paths to the finishing order of the objects);
and (2) a "camera" is a pre-made artist drawn path (e.g., in 3D)
that represents a 3D camera (a 3D camera may have a position and a
look-at point, as well as other parameters). Any race set may be
combined with any camera.
[0087] With this information, the system can take any race and
camera set, and render the scene with any draw result (e.g., in
real-time). The combinatorial nature of the design means that a
large number of final renderings can be achieved by a small set of
races and cameras.
[0088] In one example, the race path may comprise velocity,
acceleration, yaw, and/or orientation for the objects (e.g., for
each of the objects). In another example, the race path may
comprise (based on object and/or track models) piecewise Bezier
splines.
[0089] In another embodiment of the present invention a
computer-implemented method for displaying a draw result as a race
may be provided, comprising: generating a draw result, wherein the
draw result indicates at least a first place winner; inputting a
plurality of animation paths into a computer, wherein each of the
plurality of animation paths is associated with a respective one of
a plurality of race objects; and rendering an animation with a
computer based at least in part upon the input plurality of
animation paths and the generated draw result such that the race
object to finish first in the animation corresponds to the first
place winner of the draw result (in some examples, the animation
may be rendered by central computer system 101 of FIG. 1 and/or the
animation may be transmitted by central computer system 101 of FIG.
1 to one or more of terminals 105A-105D of FIG. 1 or the animation
may rendered by central computer system 201 of FIG. 2 and/or the
animation may be transmitted by central computer system 201 of FIG.
2 to one or more of terminals 205A-205D of FIG. 2).
[0090] In one example, the draw result may be generated with a
computer.
[0091] In another example, the draw result may be generated
manually (e.g., chosen by hand).
[0092] In another example, the draw result may be associated with a
lottery.
[0093] In another example, the computer into which the plurality of
animation paths are input may be the same computer as the computer
which renders the animation.
[0094] In another example, the computer into which the plurality of
animation paths are input may be a different computer from the
computer which renders the animation.
[0095] In another example, the computer into which the plurality of
animation paths are input and/or the computer which renders the
animation may be the same as the computer which generates the draw
result.
[0096] In another example, the computer into which the plurality of
animation paths are input and/or the computer which renders the
animation may be different from the computer which generates the
draw result.
[0097] In another example, the draw result may be input into the
computer into which the plurality of animation paths are input.
[0098] In another example, the draw result may be input into the
computer which renders the animation.
[0099] In another example, the method may further comprise:
inputting at least one camera path; wherein the rendering the
animation may further comprise rendering the animation based at
least in part upon the input plurality of animation paths, the
input camera path and the generated draw result such that the race
object to finish first in the animation corresponds to the first
place winner of the draw result.
[0100] In another example, the draw result may be generated
essentially randomly.
[0101] In another example, the draw result may be generated
essentially in real-time.
[0102] In another example, the rendering may be done essentially in
real-time.
[0103] In another example, the input plurality of animation paths
and the input camera path may be pre-made, prior to the generation
of the draw result.
[0104] In another example, each of the plurality of race objects
may be selected from the group including (but not limited to): (a)
a boat; (b) a car; (c) a horse; and (d) a dog.
[0105] In another example, each of the plurality of an animation
paths may comprise at least one of: velocity; acceleration; and
orientation.
[0106] In another example, each of the plurality of animation paths
may comprise a plurality of piecewise Bezier splines.
[0107] In another example, each of the plurality of animation paths
may be distinct from one another.
[0108] In another example, each camera path may be distinct from
one another.
[0109] In another example, the steps may be carried out in the
order recited.
[0110] In another embodiment of the present invention, a
computer-implemented method for displaying a draw result as a race
is provided, comprising: generating a draw result, wherein the draw
result indicates an order of finish of the race, wherein the draw
result is generated essentially randomly, wherein the draw result
is associated with a lottery, and wherein the draw result is
generated with a computer; inputting a plurality of animation paths
into a computer, wherein each of the plurality of animation paths
is associated with a respective one of a plurality of race objects;
and rendering an animation with a computer based at least in part
upon the input plurality of animation paths and the generated draw
result such that the race objects finish the animation in an order
corresponding to the order of finish of the race indicated by the
draw result (in some examples, the animation may rendered by
central computer system 101 of FIG. 1 and/or the animation may be
transmitted by central computer system 101 of FIG. 1 to one or more
of terminals 105A-105D of FIG. 1 or the animation may rendered by
central computer system 201 of FIG. 2 and/or the animation may be
transmitted by central computer system 201 of FIG. 2 to one or more
of terminals 205A-205D of FIG. 2).
[0111] In another example, the computer into which the plurality of
animation paths are input may be the same computer as the computer
which renders the animation.
[0112] In another example, the computer into which the plurality of
animation paths are input may be a different computer from the
computer which renders the animation.
[0113] In another example, the computer into which the plurality of
animation paths are input and/or the computer which renders the
animation may be the same as the computer which generates the draw
result.
[0114] In another example, the computer into which the plurality of
animation paths are input and/or the computer which renders the
animation may be different from the computer which generates the
draw result.
[0115] In another example, the draw result may be input into the
computer into which the plurality of animation paths are input.
[0116] In another example, the draw result may be input into the
computer which renders the animation.
[0117] In another example, the method may further comprises
inputting at least one camera path;
[0118] wherein the rendering the animation further comprises
rendering the animation based at least in part upon the input
plurality of animation paths, the input camera path and the
generated draw result such that the race objects finish the
animation in an order corresponding to the order of finish of the
race indicated by the draw result.
[0119] In another example, the steps may be carried out in the
order recited.
[0120] In another example, there may be 1-5 race objects.
[0121] In another example, there may be 1-5 animation paths.
[0122] In another example, there may be 1-5 camera paths.
[0123] Referring now to FIGS. 4A-4D, block diagrams of embodiments
of the present invention related to systems for displaying a draw
result as a race are shown.
[0124] Referring first to FIG. 4A, computer 401 may generate draw
result(s). The draw result(s) may be input to computer 403, along
with data related to one or more animation paths and/or the input
data related to one or more camera paths. Computer 403 may render
one or more animations based at least in part upon the input draw
result(s) and the input data related to one or more animation paths
and/or the input data related to one or more camera paths. The
rendered animation(s) may then be used as desired (e.g., to display
lottery results at various terminals--in one example, the rendered
animation(s) may transmitted by central computer system 101 of FIG.
1 to one or more of terminals 105A-105D of FIG. 1 or the rendered
animation(s) may transmitted by central computer system 201 of FIG.
2 to one or more of terminals 205A-205D of FIG. 2).
[0125] Referring now to FIG. 4B, computer 411 may generate draw
result(s). The draw result(s) may be input to computer 415, along
with data related to one or more animation paths and/or the data
related to one or more camera paths. The data related to one or
more animation paths and/or the input data related to one or more
camera paths may come from computer 413. Computer 415 may render
one or more animations based at least in part upon the input draw
result(s) and the input data related to one or more animation paths
and/or the input data related to one or more camera paths. The
rendered animation(s) may then be used as desired (e.g., to display
lottery results at various terminals--in one example, the rendered
animation(s) may transmitted by central computer system 101 of FIG.
1 to one or more of terminals 105A-105D of FIG. 1 or the rendered
animation(s) may transmitted by central computer system 201 of FIG.
2 to one or more of terminals 205A-205D of FIG. 2).
[0126] Referring now to FIG. 4C, this is similar to FIG. 4A, but
the draw results may be generated manually (e.g., drawn by hand).
The draw result(s) may be input to computer 421, along with data
related to one or more animation paths and/or data related to one
or more camera paths. Computer 421 may render one or more
animations based at least in part upon the input draw result(s) and
the input data related to one or more animation paths and/or the
input data related to one or more camera paths. The rendered
animation(s) may then be used as desired (e.g., to display lottery
results at various terminals--in one example, the rendered
animation(s) may transmitted by central computer system 101 of FIG.
1 to one or more of terminals 105A-105D of FIG. 1 or the rendered
animation(s) may transmitted by central computer system 201 of FIG.
2 to one or more of terminals 205A-205D of FIG. 2).
[0127] Referring now to FIG. 4D, this is similar to FIG. 4B, but
the draw results may be generated manually (e.g., drawn by hand).
The draw result(s) may be input to computer 433, along with data
related to one or more animation paths and/or the data related to
one or more camera paths. The data related to one or more animation
paths and/or data related to one or more camera paths may come from
computer 431. Computer 433 may render one or more animations based
at least in part upon the input draw result(s) and the input data
related to one or more animation paths and/or the input data
related to one or more camera paths. The rendered animation(s) may
then be used as desired (e.g., to display lottery results at
various terminals--in one example, the rendered animation(s) may
transmitted by central computer system 101 of FIG. 1 to one or more
of terminals 105A-105D of FIG. 1 or the rendered animation(s) may
transmitted by central computer system 201 of FIG. 2 to one or more
of terminals 205A-205D of FIG. 2).
[0128] In another example, an artist may draw one or more races
(e.g., pre-rendered drawings showing cars on a race track at each
position). An artist may take model(s) and track(s) and (e.g.,
utilizing a computer) generate piecewise Bezier splines for the
animation paths (positions, overtaking, etc.). The paths may be
selected so that the winning race object(s), for example winning
car(s), are mapped to the correct path(s). A real-time animation
system may load the paths and add cars to render the
animation(s).
[0129] In another example, an animation and modeling software
package from XSI SOFTIMAGE may be utilized for any required
animation and/or modeling tasks (if desired, the XSI text output
may be made binary).
[0130] As described herein, various embodiments of the present
invention may provide a displayed race that may be "interesting",
"unique" and/or may "feel realistic".
[0131] Of note, the embodiments described herein may, of course, be
implemented using any appropriate computer hardware and/or computer
software. In this regard, those of ordinary skill in the art are
well versed in the type of computer hardware that may be used
(e.g., a mainframe, a mini-computer, a personal computer ("PC"), a
network (e.g., an intranet and/or the Internet)), the type of
computer programming techniques that may be used (e.g., object
oriented programming), and the type of computer programming
languages that may be used (e.g., C++, Basic, AJAX, Javascript).
The aforementioned examples are, of course, illustrative and not
restrictive.
[0132] While a number of embodiments of the present invention have
been described, it is understood that these embodiments are
illustrative only, and not restrictive, and that many modifications
may become apparent to those of ordinary skill in the art. For
example, certain methods may have been described herein as being
"computer implementable" or "computer implemented". In this regard,
it is noted that while such methods can be implemented using a
computer, the methods do not necessarily have to be implemented
using a computer. Also, to the extent that such methods are
implemented using a computer, not every step must necessarily be
implemented using a computer. Further, any desired number of draw
result(s) may be generated and/or displayed. Further still, any
number of computers may be replaced by any other desired number of
computers (e.g., one computer may perform the tasks described
herein as being done by one or more computers and/or one or more
computers may perform the tasks described herein as being done by
one computer). Further still, any desired number of users may
utilize the present invention. Further still, any desired still
image(s) may be used in conjunction with or in place of any desired
video. Further still, the various steps may be carried out in any
desired order (and any desired steps may be added and/or any
desired steps may be eliminated).
* * * * *