Computer graphics processing and selective visual display system – Computer graphics processing – Graphic manipulation
Reexamination Certificate
1999-08-13
2002-08-20
Brier, Jeffery (Department: 2672)
Computer graphics processing and selective visual display system
Computer graphics processing
Graphic manipulation
C345S419000, C345S474000
Reexamination Certificate
active
06437798
ABSTRACT:
TECHNICAL FIELD
This invention relates to an information processing apparatus, an information processing method and a transmission medium, and more particularly to an information processing apparatus, an information processing method and a transmission medium which are adapted to interpolate at least three attitudes or more of object to thereby improve degree of freedom of rotational operation of the object.
BACKGROUND ART
In information processing apparatuses such as computer game machine, etc., objects of various shapes (polygons) can be represented as two-dimensional graphic or three-dimensional graphic to change, within three-dimensional virtual space, corresponding objects so as to take various states, i.e., to allow them to carry out animation.
In order to change a predetermined object from a predetermined attitude to another attitude within the three-dimensional virtual space, it is sufficient to rotate it by a predetermined angle with a predetermined axis being as center. As a method of carrying out processing to rotate such object with an arbitrary axis being as center, there has been proposed a method disclosed in, e.g., the Japanese Laid Open Application No. 315171/1996 publication. In accordance with the method disclosed in this publication, such an approach is employed as shown in
FIG. 7
to determine reference attitude (angle) A of an object
201
, rotated attitude (target attitude) B thereof and a predetermined axis of rotation
202
to determine, on the assumption that the object
201
rotates within the range of 0 to &thgr; around (about) the rotation axis with the rotation axis being as center, rotation angle &thgr;d of object interpolated within such a range to determine interpolation rotation matrix Rd by using the rotation angle &thgr;d. A further approach is employed to dissolve the determined interpolation rotation matrix Rd into angle data around respective axes of X-axis, Y-axis and Z-axis of the three-dimensional coordinate system thus to calculate interpolation data.
Explanation will now be given in connection with a method of determining rotation matrix when a predetermined object rotates from a reference attitude with an arbitrary axis being as center. Rotation around (about) the origin of the three-dimensional coordinate system is represented by rotation matrix of 3×3. When it is now assumed that the coordinate system B is the coordinate system in which the coordinate system A is rotated by rx degrees around the X-axis, is rotated by ry degrees around the Y-axis and is rotated by rz degrees around the Z-axis in order, the rotation matrix R is represented by the following formula (1).
R
=
(
cos
⁡
(
rz
)
-
sin
⁡
(
rz
)
0
sin
⁡
(
rz
)
cos
⁡
(
rz
)
0
0
0
1
)
⁢
(
cos
⁡
(
ry
)
0
sin
⁡
(
ry
)
0
1
0
-
sin
⁡
(
ry
)
0
cos
⁡
(
ry
)
)
⁢
(
1
0
0
0
cos
⁡
(
rx
)
-
sin
⁡
(
rx
)
0
sin
⁡
(
rx
)
cos
⁡
(
rx
)
)
(
1
)
It is further assumed that this formula (1) is represented by the formula (2) expressed below.
R
=
(
R
11
R
12
R
13
R
21
R
22
R
23
R
31
R
32
R
33
)
(
2
)
In this case, transposed matrix R
T
of this rotation matrix R is represented by the formula (3) expressed below.
R
T
=
⁢
(
R
11
R
21
R
31
R
12
R
22
R
32
R
13
R
23
R
33
)
=
⁢
(
1
0
0
0
cos
⁡
(
rx
)
sin
⁡
(
rx
)
0
-
sin
⁡
(
rx
)
cos
⁡
(
rx
)
)
⁢
(
cos
⁡
(
ry
)
0
-
sin
⁡
(
ry
)
0
1
0
sin
⁡
(
ry
)
0
cos
⁡
(
ry
)
)
⁢
(
cos
⁡
(
rz
)
sin
⁡
(
rz
)
0
-
sin
⁡
(
rz
)
cos
⁡
(
rz
)
0
0
0
1
)
(
3
)
In this case, since the formula expressed below holds,
R
T
R=
1 (4)
this rotation matrix R is orthogonal matrix. Conversely, orthogonal matrix where |R|=1 is represented by the formula (4). This matrix is rotation matrix. Generally, it is known that the orthogonal matrix can be normalized as indicated below by using other orthogonal matrix T.
T
-
1
⁢
RT
=
(
1
0
0
0
cos
⁢
⁢
θ
sin
⁢
⁢
θ
0
-
sin
⁢
⁢
θ
cos
⁢
⁢
θ
)
(
5
)
When arbitrary two rotation matrices A, B exist, R is put (represented) as the following formula (6).
R=A−
1
B
(6)
When this formula (6) is used, the above mentioned formula (5) can be expressed as below.
T
-
1
⁢
A
-
1
⁢
BT
=
(
1
0
0
0
cos
⁢
⁢
θ
sin
⁢
⁢
θ
0
-
sin
⁢
⁢
θ
cos
⁢
⁢
θ
)
(
7
)
When rotation matrix B is determined from this formula (7), it is represented by the formula (8) expressed below.
B
=
AT
⁡
(
1
0
0
0
cos
⁢
⁢
θ
sin
⁢
⁢
θ
0
-
sin
⁢
⁢
θ
cos
⁢
⁢
θ
)
⁢
T
-
1
(
8
)
In this case, when angle is changed within the range from 0 to &thgr;, the previously described coordinate system (attitude) represented by A rotates around (about) a predetermined axis, resulting in coordinate system (attitude) of B. When orthogonal matrix of T is found out in this way, interpolation can be made between arbitrary two coordinate systems by rotation around (about) certain one rotation axis.
A method of finding out this orthogonal matrix T will now be described. Let find out vector which is eigen (intrinsic) vector of rotation matrix R, which satisfies the following relational expression, and has absolute value of 1.
Rt=t
(9)
When E is now assumed to be unit matrix, the following relational expression holds.
(
R−E
)
t=
0 (10)
Accordingly, t is orthogonal to component vector of matrix (R−E).
Further, linearly independent two (sets of) vectors of the matrix (R−E) are found out to provide outer product thereof. This vector is normalized. The normalized vector thus obtained is assumed to be t
1
. Then, vector orthogonal to t
1
is found out. As this vector, either one of vectors of matrix (R−E) which generates t
1
may be used. This vector is also normalized. The normalized vector thus obtained is assumed to be t
2
. Then, outer product of t
1
and t
2
is provided. The vector thus obtained is assumed to be t
3
. Since these t
1
to t
3
all have absolute values of 1 and are orthogonal to each other, matrix (t
1
t
2
t
3
) is orthogonal matrix.
Assuming now that the matrix (t
1
t
2
t
3
) is orthogonal matrix T, the left side of the formula (5) can be represented as the formula (11) indicated below.
T
-
1
⁢
RT
=
(
t
1
t
2
t
3
)
-
1
⁢
R
⁡
(
t
1
t
2
t
3
)
=
(
t
1
T
t
2
T
t
3
T
)
⁢
⁢
R
⁡
(
t
1
t
2
t
3
)
=
(
t
1
T
⁢
Rt
1
t
1
T
⁢
Rt
2
t
1
T
⁢
Rt
3
t
2
T
⁢
Rt
1
t
2
T
⁢
Rt
2
t
2
T
⁢
Rt
3
t
3
T
⁢
Rt
1
t
3
T
⁢
Rt
2
t
3
T
⁢
Rt
3
)
(
11
)
In this case, t
1
to t
3
can be represented by the formula (12) expressed below by using the formula (9).
t
1
T
Rt
1
=t
1
T
t
1
t
2
T
Rt
1
=t
2
T
t
1
t
3
T
Rt
1
=t
3
T
t
1
(12)
By using these relational expressions, the formula (11) can be represented by the formula (13) expressed below.
T
-
1
⁢
RT
=
(
1
0
0
0
t
2
T
⁢
Rt
2
t
2
T
⁢
Rt
3
0
t
3
T
⁢
Rt
2
t
3
T
⁢
Rt
3
)
(
13
)
Then, respective elements (components) of the formula (13) are put as indicated by the formula (14) expressed below.
T
-
1
⁢
RT
=
(
1
0
0
0
A
B
0
C
D
)
(
14
)
In this case, since T and R are both orthogonal matrices, T
−1
RT is also orthogonal matrix. The following relational expressions hold.
A
2
+C
2
=1 (15)
B
2
+D
2
=1 (16)
A
2
+B
2
=1 (17)
C
2
+D
2
=1 (18)
AB+CD=
0 (19)
AC+BD=
0 (20)
AD−BC=
1 (21)
Subtraction of the formula (18) from the formula (15) gives
A
2
−D
2
=0
, A=±D
Further, when A=−D, substitution thereof into the formula (19) gives
D
(
C−B
)=0
Thus, D=0 or B=C. Substitution of D=0 into the formula (21) gives
−BC=
1
Further, subtraction of the formula (17) from the formula (15) giv
Brier Jeffery
Fouladi Faranak
Lerner David Littenberg Krumholz & Mentlik LLP
Sony Computer Entertainment Inc.
LandOfFree
Information processing apparatus, information processing... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Information processing apparatus, information processing..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Information processing apparatus, information processing... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2911925