Automated inspection system
US-2024420305-A1 · Dec 19, 2024 · US
US2020005501A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2020005501-A1 |
| Application number | US-201816133633-A |
| Country | US |
| Kind code | A1 |
| Filing date | Sep 17, 2018 |
| Priority date | Jun 30, 2018 |
| Publication date | Jan 2, 2020 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A line segment is rendered by two triangles joined by their hypotenuses. A graphics processing system includes a lookup table that contains a plurality of values representing reciprocal square roots for normal vectors to a corresponding plurality of line segments. The dot product of a normal vector to the line segment is scaled by a scaling factor and input to the lookup table. The scaling factor has a trivial/simple square root and is a power of 2 so that multiplication of binary values may be performed by shifting. A value is output from the lookup table representing a reciprocal square root of the normal vector to the line segment. A half unit normal vector to the line segment is determined based on the normal vector to the line segment and the output value and is used to determine the two triangles for rendering the line segment.
Opening claim text (preview).
What is claimed is: 1 . A graphics processing system, comprising: a lookup table containing a plurality of values representing reciprocal square roots for normal vectors to a corresponding plurality of line segments; and a graphics processor that receives a first vertex and a second vertex of a first line segment that is to be rendered as two triangles, the graphics processor inputting an input value to the lookup table, the input value comprising 2 to a negative power of an integer L times a dot product of a normal vector to the first line segment with itself, the graphics processor receiving an output value from the lookup table that represents a reciprocal square root of the normal vector to the first line segment and determining a unit normal vector to the first line segment by multiplying the normal vector to the first line segment by the output value received from the lookup table, the graphics processor further determining a first half unit normal vector and a second half unit normal vector to the first line segment from the unit normal vector and the first vertex and the second vertex of the first line segment, and determining a first triangle and a second triangle based on the first and second half normal vectors and the first vertex and the second vertex of the first line segment, the first and second triangles each comprising a hypotenuse and being joined together by their hypotenuses. 2 . The graphics processing system of claim 1 , wherein the graphics processor further renders the first line segment by rendering the first and second triangles. 3 . The graphics processing system of claim 2 , wherein the graphics processor further scales a length of each of the first and second half normal vectors to be half of a predetermined line width of the rendered line segment. 4 . The graphics processing system of claim 1 , wherein an input range of the lookup table spans from 1.0 inclusive to 4 non-inclusive, and wherein an output range of the lookup table spans from 0.5 non-inclusive to 1.0 inclusive. 5 . The graphics processing system of claim 1 , wherein L ranges from −8 inclusive to 19 inclusive. 6 . The graphics processing system of claim 1 , wherein the first half unit normal vector and the second half unit normal vector each comprise 8 fractional bits of resolution. 7 . The graphics processing system of claim 1 , wherein a time from inputting the input value to the lookup table to receiving the output value from the lookup table takes one clock cycle of the graphics processor. 8 . A method to graphically represent a line segment by two triangles, the method comprising: receiving at a graphics processor a first vertex and a second vertex of a line segment; determining by the graphics processor a scaling factor that is equal to 4 to a power of an integer L; inputting an input value to a lookup table by the graphics processor, the input value comprising 2 to a negative power of L times a dot product of a normal vector to the line segment with itself; receiving by the graphics processor from the lookup table an output value that equals a reciprocal square root of the input to the lookup table; determining by the graphics processor a unit normal vector to the line segment by dividing the normal vector to the line segment by the output value received from the lookup table; determining by the graphics processor a first half normal vector and a second half normal vectors to the line segment from the unit normal vector and the first vertex and the second vertex of the line segment; determining by the graphics processor a first triangle and a second triangle based on the first and second half normal vectors and the first vertex and the second vertex of the line segment, the first and second triangles each comprising a hypotenuse and being joined together by their hypotenuses; and graphically rendering the line segment by the graphics processor by rendering the first and second triangles. 9 . The method of claim 8 , wherein determining the first and second half normal vectors further comprises scaling a length of each of the first and second half normal vectors to be half of a predetermined line width of the rendered line segment. 10 . The method of claim 8 , wherein an input range of the lookup table spans from 1.0 inclusive to 4 non-inclusive. 11 . The method of claim 10 , wherein an output range of the lookup table spans from 0.5 non-inclusive to 1.0 inclusive. 12 . The method of claim 8 , wherein L ranges from −8 inclusive to 19 inclusive. 13 . The method of claim 8 , wherein the first half normal vector and the second half normal vector each comprise 8 fractional bits of resolution. 14 . The method of claim 8 , wherein inputting the input value to the lookup table and receiving the output value from the lookup table takes one clock cycle of the graphics processor. 15 . A method to graphically represent a line segment by two triangles, the method comprising: receiving at a graphics processor a first vertex v 0 and a second vertex v 1 of a line segment; determining by the graphics processor a scaling factor P=4 L in which L is an integer value given by L=└log 4 (n·n)┘ in which n is a normal vector to the line segment, and n·n is a dot product of the normal vector n with itself; inputting an input value a into a lookup table by the graphics processor, the input value comprising a=2 −2L (n·n); receiving by the graphics processor from the lookup table an output value b=S(2 −2 L(n·n)); determining by the graphics processor a unit normal vector {circumflex over (n)} to the line segment by multiplying the normal vector n to the line segment by the output value b received from the lookup table; determining by the graphics processor a first normal half vector h and a second half normal vector h to the line segment from the unit normal vector {circumflex over (n)} and the first vertex v 0 and the second vertex v 1 of the line segment; determining by the graphics processor a first triangle and a second triangle based on the first half normal vector h and the second half normal vector h and the first vertex v 0 and the second vertex v 1 of the line segment, the first and second triangles each comprising a hypotenuse and being joined together by their hypotenuses; and graphically rendering the line segment by the graphics processor by rendering the first and second triangles. 16 . The method of claim 15 , wherein determining the first half normal vector and the second half normal vector h further comprises scaling a length of each of the first half normal h vector and the second half normal vector h to be half of a predetermined line width of the rendered line segment. 17 . The method of claim 15 , wherein an input range of the lookup table spans from 1.0 inclusive to 4 non-inclusive. 18 . The method of claim 15 , wherein an output range of the lookup table spans from 0.5 non-inclusive to 1.0 inclusive. 19 . The method of claim 15 , wherein L ranges from −8 inclusive to 19 inclusive. 20 . The method of claim 15 , wherein the first half normal vector h and the second half normal vectors h each comprise 8 fractional bits of resolution.
Processor architectures; Processor configuration, e.g. pipelining · CPC title
Logarithmic or exponential functions (G06F1/0314, G06F1/035 take precedence) · CPC title
General purpose rendering architectures · CPC title
involving antialiasing · CPC title
using straight lines or curves · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.