Ellipsoidal projection mapping
AssigneeSilicon Graphics, Inc.
InventorPeter Liepa
Life of this patent
Estimating the term…
Abstract
A projective body is aligned with a surface to generate texture coordinates for the surface. The present invention includes selecting an appropriate projective body for a given surface, orienting and positioning the surface with respect to the projective body, projecting the surface onto the projective body, and then mapping the projective body onto the texture rectangle. An inertial ellipsoid is used to orient the surface and the projective body. The inertial ellipsoid can also be used as the projective body. Ellipsoidal coordinates are preferably used to project the surface onto the projective body.
Claims18
A method of calculating texture coordinates for a surface, comprising the steps of:
- (a) aligning the centers of gravity of the surface and a projective body;
- (b) calculating an inertial ellipsoid of the surface;
- (c) calculating a transformation that aligns said inertial ellipsoid and said projective body, said transformation comprising a rotation of said inertial ellipsoid;
- (d) adjusting the relative orientation between the surface and said projective body according to said transformation;
- (e) projecting the surface onto said projective body;
- and
- (f) mapping said projective body to a texture rectangle.
A method of calculating texture coordinates for a surface, comprising the steps of:
- (a) calculating an inertial ellipsoid of the surface;
- (b) calculating a transformation that aligns said inertial ellipsoid and a projective body, wherein said projective body is an ellipsoid including eight octants;
- (c) adjusting the relative orientation and position between the surface and said projective body according to said transformation;
- (d) projecting the surface onto said projective body;
- and
- (e) mapping said projective body to a texture rectangle, wherein said texture rectangle includes eight texture sub-rectangles, and wherein said mapping step comprises the step of mapping each octant to a unique texture sub-rectangle.
A method of calculating texture coordinates for a surface, comprising the steps of:
- (a) selecting an ellipsoidal projective body;
- (b) aligning the centers of gravity of the surface and said projective body;
- (c) projecting the surface onto said ellipsoidal projective body using ellipsoidal coordinates;
- and
- (d) mapping said ellipsoidal projective body to a texture rectangle.
A method of calculating texture coordinates for a surface, comprising the steps of:
- (a) selecting an ellipsoidal projective body, wherein said ellipsoidal projective body includes eight octants;
- (b) projecting the surface onto said ellipsoidal projective body using ellipsoidal coordinates;
- and
- (c) mapping said ellipsoidal projective body to a texture rectangle, wherein said texture rectangle includes eight texture sub-rectangles, and wherein said mapping step comprises the step of mapping each octant to a unique texture sub-rectangle.
A computer program product comprising a computer usable medium having computer program logic stored therein, wherein said computer program logic comprises:
- receiving means for enabling a computer to receive a surface;
- aligning means for enabling said computer to align the centers of gravity of the surface and a projective body;
- first calculating means for enabling said computer to calculate an inertial ellipsoid of said surface;
- second calculating means for enabling said computer to calculate a transformation that aligns said inertial ellipsoid and said projective body, said transformation comprising a rotation of said inertial ellipsoid;
- adjusting means for enabling said computer to adjust the relative orientation between said surface and said projective body according to said transformation;
- projection means for enabling said computer to project said surface onto said projective body;
- and
- mapping means for enabling said computer to map said projective body to a texture rectangle.
A computer program product comprising a computer usable medium having computer program logic stored therein, wherein said computer program logic comprises:
- receiving means for enabling a computer to receive a surface;
- first calculating means for enabling said computer to calculate an inertial ellipsoid of said surface;
- second calculating means for enabling said computer to calculate a transformation that aligns said inertial ellipsoid and a projective body, wherein said projective body is an ellipsoid including eight octants;
- adjusting means for enabling said computer to adjust the relative orientation and position between said surface and said projective body according to said transformation;
- projection means for enabling said computer to project said surface onto said projective body;
- and
- mapping means for enabling said computer to map said projective body to a texture rectangle, wherein said texture rectangle includes eight texture sub-rectangles, and wherein said mapping means maps each octant to a unique texture sub-rectangle.
Dependencies are inferred from the claim text.