# US 7,411,592 B1 · Graphical processing of object perimeter information

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

- Number: US 7,411,592 B1
- Document ID: US7411592B1
- Status: Granted
- Kind: B1
- Application number: 11/207,460
- Filed: 2005-08-19
- Granted: 2008-08-12
- Earliest claimed: 2003-01-31
- Assignees: Microsoft Corporation
- Inventors: Sean E. Dunn
- Web page: https://patentgrep.com/patent/US7411592B1

## CPC

- G06T 15/50: Lighting effects
- G06T 15/04: Texture mapping
- G06T 15/60: Shadow generation
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

A technique for graphically processing perimeter information includes determining a polar representation of the perimeter of an object to define polar perimeter information, storing the polar perimeter information, retrieving the stored polar perimeter information using an overlay, and applying the retrieved polar perimeter information to provide a graphical effect within a scene (such as, but not limited to, a shadow effect).

## Claims

### Claim 1

A method for generating object perimeter information, comprising:
determining a polar representation of the perimeter of an object to define polar perimeter information, including:
rendering a depiction of the object from a vantage point of a light source, wherein the depiction of the object includes a plurality of object elements, and wherein a subset of the object elements forms the perimeter of the object; and
ascertaining polar coordinates defining respective positions of the object elements that form the perimeter of the object by:
identifying a sample object element;
determining a polar angle value associated with a position of the sample object element within the depiction of the object;
determining a polar radius value associated with the position of the sample object element within the depiction of the object;
comparing the determined polar radius value with a previously stored polar perimeter radius value associated with the determined polar angle value;
replacing the previously stored polar perimeter radius value with the determined polar radius value if the determined polar radius value is greater than the previously stored polar perimeter radius value; and
successively repeating the operations of identifying through replacing for additional sample elements within the depiction; and
storing the ascertained polar coordinates.

### Claim 2

A method for generating object perimeter information, comprising:
determining a polar representation of the perimeter of an object to define polar perimeter information, including:
rendering a depiction of the object from a vantage point of a light source, wherein the depiction of the object includes a plurality of object element, and wherein a subset of the object elements forms the perimeter of the object; and
ascertaining polar coordinates defining respective positions of the object elements that form the perimeter of the object; and
storing the ascertained polar coordinates, wherein the storing of the polar coordinates comprises storing polar perimeter radius values in storage slots, wherein each of the storage slots represents a particular polar angle value, and wherein each particular one of the polar perimeter radius values is stored in the storage slot that represents the particular polar angle value corresponding to the particular polar perimeter radius value, such that the polar angle values are not stored.

### Claim 3 (depends on 2)

A computer-readable memory encoded with computer-executable instructions for performing the method recited in claim 2.

### Claim 4

A method for generating object perimeter information, comprising:
determining a polar representation of the perimeter of an object to define polar perimeter information, including:
rendering a depiction of the object from a vantage point of a light source, wherein the depiction of the object includes a plurality of object elements, and wherein a subset of the object elements forms the perimeter of the object; and
ascertaining polar coordinates defining respective positions of the object elements that form the perimeter of the object;
storing the ascertained polar coordinates; and
storing transform information that reflects an orientation of the object with respect to the vantage point.

### Claim 5 (depends on 4)

A method according to claim 4, wherein the rendered depiction comprises a two dimensional collection of the object elements.

### Claim 6 (depends on 4)

A computer-readable memory encoded with computer-executable instructions for performing the method recited in claim 4.

### Claim 7

A method for generating object perimeter information comprising:
determining a polar representation of the perimeter of an object to define polar perimeter information, including:
rendering a depiction of the object from a vantage point of a light source, wherein the depiction of the object includes a plurality of object elements, and wherein a subset of the object elements forms the perimeter of the object; and
ascertaining polar coordinates defining respective positions of the object elements that form the perimeter of the object; and
storing the ascertained polar coordinates;
wherein the determining and storing produce the polar perimeter information of the object independently of a scene in which the object appears.

### Claim 8 (depends on 7)

A computer-readable memory encoded with computer-executable instructions for performing the method recited in claim 7.

### Claim 9

A method for generating object perimeter information comprising:
determining a polar representation of the perimeter of an object to define polar perimeter information, including:
using orthogonal-type camera processing to render a depiction of the object from a vantage point of a light source, wherein the depiction of the object includes a plurality of object elements, and wherein a subset of the object elements forms the perimeter of the object; and
ascertaining polar coordinates defining respective positions of the object elements that form the perimeter of the object; and
storing the ascertained polar coordinates.

### Claim 10 (depends on 9)

A computer-readable memory encoded with computer-executable instructions for performing the method recited in claim 9.

### Claim 11

A method for generating object perimeter information, comprising:
determining a polar representation of the perimeter of an object to define polar perimeter information, including:
rendering a depiction of the object from a vantage point of a light source, wherein the depiction of the object includes a plurality of object elements, and wherein a subset of the object elements forms the perimeter of the object; and
ascertaining polar coordinates defining respective positions of the object elements that form the perimeter of the object; and
storing the ascertained polar coordinates;
wherein the rendering renders the depiction of the object to maximize the size of the depiction.

### Claim 12 (depends on 11)

A computer-readable memory encoded with computer-executable instructions for performing the method recited in claim 11.

### Claim 13 (depends on 1)

A computer-readable memory encoded with computer-executable instructions for performing the method recited in claim 1.

### Claim 14

An apparatus for generating object perimeter information, comprising:
a processor;
a memory;
perimeter determination logic, stored in the memory and executable by the processor, the perimeter determination logic configured to determine a polar representation of the perimeter of an object to define polar perimeter information, including:
rendering logic configured to render a depiction of the object from a vantage point of a light source, wherein the depiction of the object includes a plurality of object elements, and wherein a subset of the object elements forms the perimeter of the object; and
polar coordinate determination logic configured to:
ascertain polar coordinates defining respective positions of the object elements that form the perimeter of the object;
identify a sample object element;
determine a polar angle value associated with a position of the sample object element within the depiction of the object;
determine a polar radius value associated with the position of the sample object element within the depiction of the object;
compare the determined polar radius value with a previously stored polar perimeter radius value associated with the determined polar angle value;
replace the previously stored polar perimeter radius value with the determined polar radius value if the determined polar radius value is greater than the previously stored polar perimeter radius value; and
successively repeat the operations of identifying through replacing for additional sample elements within the depiction; and
storage logic, stored in the memory and executable by the processor, the storage logic configured to store the ascertained polar coordinates.

### Claim 15

An apparatus for generating object perimeter information, comprising:
a processor;
a memory;
perimeter determination logic, stored in the memory and executable by the processor, the perimeter determination logic configured to determine a polar representation of the perimeter of an object to define polar perimeter information, including:
rendering logic configured to render a depiction of the object from a vantage point of a light source, wherein the depiction of the object includes a plurality of object elements, and wherein a subset of the object elements forms the perimeter of the object; and
polar coordinate determination logic configured to ascertain polar coordinates defining respective positions of the object elements that form the perimeter of the object;
storage logic, stored in the memory and executable by the processor, the storage logic configured to store the ascertained polar coordinates; and
a storage device having storage slots, wherein individual ones of the storage slots represent particular polar angle values,
wherein the storage logic is configured to store the polar perimeter radius values in respective storage slots of the storage device, such that each particular polar perimeter radius value is stored in the storage slot that represents a polar angle value to which the polar perimeter radius value corresponds.

### Claim 16

An apparatus for generating object perimeter information, comprising:
a processor;
a memory;
perimeter determination logic, stored in the memory and executable by the processor, the perimeter determination logic configured to determine a polar representation of the perimeter of an object to define polar perimeter information, including:
rendering logic configured to render a depiction of the object from a vantage point of a light source, wherein the depiction of the object includes a plurality of object elements, and wherein a subset of the object elements forms the perimeter of the object; and
polar coordinate determination logic configured to ascertain polar coordinates defining respective positions of the object elements that form the perimeter of the object; and
storage logic, stored in the memory and executable by the processor, the storage logic configured to:
store the ascertained polar coordinates; and
store transform information that reflects an orientation of the object with respect to the vantage point.

### Claim 17

An apparatus for generating object perimeter information, comprising:
a processor;
a memory;
perimeter determination logic, stored in the memory and executable by the processor, the perimeter determination logic configured to determine a polar representation of the perimeter of an object to define polar perimeter information, including:
rendering logic configured to render a depiction of the object from a vantage point of a light source, wherein the depiction of the object includes a plurality of object elements, and wherein a subset of the object elements forms the perimeter of the object; and
polar coordinate determination logic configured to ascertain polar coordinates defining respective positions of the object elements that form the perimeter of the object; and
storage logic, stored in the memory and executable by the processor, the storage logic configured to store the ascertained polar coordinates;
wherein the perimeter determination logic and the storage logic are configured to produce the polar perimeter information of the object independently of a scene in which the object appears.

### Claim 18 (depends on 17)

An apparatus according to claim 17 wherein the rendered depiction comprises a two dimensional collection of the object elements.

### Claim 19

An apparatus for generating object perimeter information, comprising:
a processor;
a memory;
perimeter determination logic, stored in the memory and executable by the processor, the perimeter determination logic configured to determine a polar representation of the perimeter of an object to define polar perimeter information, including:
rendering logic configured to use orthogonal type camera processing to render a depiction of the object from a vantage point of a light source, wherein the depiction of the object includes a plurality of object elements, and wherein a subset of the object elements forms the perimeter of the object; and
polar coordinate determination logic configured to ascertain polar coordinates defining respective positions of the object elements that form the perimeter of the object; and
storage logic, stored in the memory and executable by the processor, the storage logic configured to store the ascertained polar coordinates.

### Claim 20

An apparatus for generating object perimeter information, comprising:
a processor;
a memory;
perimeter determination logic, stored in the memory and executable by the processor, the perimeter determination logic configured to determine a polar representation of the perimeter of an object to define polar perimeter information, including:
rending logic configured to render a depiction of the object from a vantage point of a light source, wherein the depiction of the object includes a plurality of object elements, and wherein a subset of the object elements forms the perimeter of the object; and
polar coordinate determination logic configured to ascertain polar coordinates defining respective positions of the object elements that form the perimeter of the object; and
storage logic, stored in the memory and executable by the processor, the storage logic configured to store the ascertained polar coordinates;
wherein the rendering logic is configured to render the depiction of the object to maximize the size of the depiction.
