Claims Analysis
Total Claims: 70
Claim 1
Independent Claim
126 words
A method of mapping a graphical surface model, comprising a plurality of model values, onto a polygon of a perspective projection of a polygon-based, graphically-represented object defined by points within an object coordinate system, the method comprising the steps of: a) subdividing the polygon into subpolygons each having a plurality of sides and a plurality of vertices, the subdivision being such that, given exact model values to be assigned to the vertices, the determination of model values by linear interpolation over the length of any one subpolygon side does not produce an interpolation error which exceeds a predetermined threshold value; b) determining the exact model values for the vertices of the sub-polygons; and c) determining the model values corresponding to the non-vertex object points by interpolation.
Claim 2
Independent Claim
126 words
A method of mapping a graphical surface model, comprising a plurality of model values, onto a polygon of a perspective projection of a polygon-based, graphically-represented object defined by points within an object coordinate system, the method comprising the steps of: a) subdividing the polygon into subpolygons each having a plurality of sides and a plurality of vertices, the subdivision being such that, given exact model values to be assigned to the vertices, the determination of model values by linear interpolation over the length of any one subpolygon side does not produce an interpolation error which exceeds a predetermined threshold value; b) determining the exact model values for the vertices of the sub-polygons; and c) determining the model values corresponding to the non-vertex object points by interpolation.
Claim 3
Dependent Claim
12 words
A method according to claim 1 wherein the polygon is a triangle.
Claim 4
Dependent Claim
95 words
A method according to claim 1 wherein, for a given subpolygon, the plurality of vertices includes a first vertex P 0 having object coordinates (x 0 , y 0 , w 0 ) and a second vertex P 1 having object coordinates (x 1 , y 1 , w 1 ), and wherein determining the maximum error for a subpolygon side bounded by vertex P 0 and vertex P 1 comprises finding a maximum error e such that: e=((x.sub.1 -x.sub.0).sup.2 +(y.sub.1 -y.sub.0).sup.2).sup.1/2 ·(1-√α)/(1+√α) where α=min(w 0 , w 1 )/max(w 0 , w 1 ).
Claim 5
Dependent Claim
39 words
A method according to claim 1 wherein subdividing the polygon further comprises subdividing the polygon such that a new vertex is created along a first side of the polygon for which a maximum interpolation error exceeds the threshold value.
Claim 6
Dependent Claim
24 words
A method according to claim 4 wherein said new vertex is located substantially at the point of maximum interpolation error for the first side.
Claim 7
Dependent Claim
67 words
A method according to claim 5 wherein the first side is bounded by a first vertex P 0 having object coordinates (x 0 , y 0 , w 0 ) and a second vertex P 1 having object coordinates (x 1 , y 1 , w 1 ), and wherein the point of maximum error t maxerror for the first side is determined as: t.sub.maxerror =1/(1+√(w.sub.1 /w.sub.0)).
Claim 8
Dependent Claim
20 words
A method according to claim 4 wherein said new vertex is located substantially at the midpoint of the first side.
Claim 9
Dependent Claim
40 words
A method according to claim 1 wherein the polygon is a triangle and subdividing the triangle comprises subdividing the triangle into four triangles such that a new vertex is created at the midpoint of each of the original triangle sides.
Claim 10
Dependent Claim
12 words
A method according to claim 1 wherein said interpolation is linear interpolation.
Claim 11
Independent Claim
156 words
A method of mapping a graphical surface model, comprising a plurality of model values, onto a triangle of a perspective projection of a triangle-based, graphically-represented object defined by points within an object coordinate system, the method comprising the steps of: a) obtaining the exact model values for each vertex of the triangle; b) determining, for each side of the triangle, a maximum interpolation error which would result from the use of interpolation, based on the model values of the vertices at the endpoints of that side, to assign model values to all object points along that triangle side; c) comparing the maximum error for each side to a predetermined threshold value; d) subdividing the triangle into subtriangles and repeating steps (a), (b), (c) and (d) for each subtriangle if the maximum error for any of the triangle sides exceeds the threshold value; and e) determining the model values corresponding to the non-vertex object points using interpolation.
Claim 12
Independent Claim
156 words
A method of mapping a graphical surface model, comprising a plurality of model values, onto a triangle of a perspective projection of a triangle-based, graphically-represented object defined by points within an object coordinate system, the method comprising the steps of: a) obtaining the exact model values for each vertex of the triangle; b) determining, for each side of the triangle, a maximum interpolation error which would result from the use of interpolation, based on the model values of the vertices at the endpoints of that side, to assign model values to all object points along that triangle side; c) comparing the maximum error for each side to a predetermined threshold value; d) subdividing the triangle into subtriangles and repeating steps (a), (b), (c) and (d) for each subtriangle if the maximum error for any of the triangle sides exceeds the threshold value; and e) determining the model values corresponding to the non-vertex object points using interpolation.
Claim 13
Dependent Claim
76 words
A method according to claim 10 wherein, for a side having a vertex P 1 with object coordinates (x 1 , y 1 , w 1 ) at a first end, and a vertex P 0 with object coordinates (x 0 , y 0 , w 0 ) at a second end, the maximum error for that side is: e=((x.sub.1 -x.sub.0).sup.2 +(y.sub.1 -y.sub.0).sup.2).sup.1/2 ·(1-√α)/(1+√α) where α=min(w 0 , w 1 )/max(w 0 , w 1 ).
Claim 14
Dependent Claim
84 words
A method according to claim 10 wherein subdividing the triangle comprises creating a new vertex substantially at the point of maximum interpolation error along one of the triangle sides, and wherein, if the side has a vertex P 1 at a first end with a homogeneous coordinate w 1 , and a vertex P 2 at a second end with a homogeneous coordinate w 2 , the point of maximum interpolation error t maxerror for that side is determined as: t.sub.maxerror =1/(1+√(w.sub.1 /w.sub.0)). 13.
Claim 15
Dependent Claim
28 words
A method according to claim 10 wherein subdividing the triangle comprises creating a new vertex substantially at the midpoint of a triangle side along which it is created.
Claim 16
Dependent Claim
34 words
A method according to claim 10 wherein subdividing the triangle comprises subdividing the triangle into four triangles such that a new vertex is created at the midpoint of each of the original triangle sides.
Claim 17
Independent Claim
174 words
A method of mapping a graphical surface model, comprising a plurality of model values, onto a triangle of a perspective projection of a triangle-based, graphically-represented object defined by points within an object coordinate system, the triangle having a plurality of sides and a plurality of vertices, the method comprising the steps of: a) creating new vertices along the triangle sides such that each of the triangle sides is divided into a plurality of sections, the length of each section being such that, given exact model values to be assigned to the vertices, the determination of model values by linear interpolation over the length of any one section does not produce an error which exceeds the threshold value; b) interconnecting the new vertices with line segments parallel to the original triangle sides, such as to create interior subtriangles having vertices at crossing points between the line segments; c) determining the exact model values for each of the vertices of the subtriangles; and d) determining the model values corresponding to the non-vertex object points using interpolation.
Claim 18
Independent Claim
174 words
A method of mapping a graphical surface model, comprising a plurality of model values, onto a triangle of a perspective projection of a triangle-based, graphically-represented object defined by points within an object coordinate system, the triangle having a plurality of sides and a plurality of vertices, the method comprising the steps of: a) creating new vertices along the triangle sides such that each of the triangle sides is divided into a plurality of sections, the length of each section being such that, given exact model values to be assigned to the vertices, the determination of model values by linear interpolation over the length of any one section does not produce an error which exceeds the threshold value; b) interconnecting the new vertices with line segments parallel to the original triangle sides, such as to create interior subtriangles having vertices at crossing points between the line segments; c) determining the exact model values for each of the vertices of the subtriangles; and d) determining the model values corresponding to the non-vertex object points using interpolation.
Claim 19
Dependent Claim
47 words
A method according to claim 15 further comprising omitting steps a-c if, for each side of the triangle, no interpolation error which would result from the use of interpolation in assigning model values to object points along that side of the triangle would exceed the threshold value.
Claim 20
Independent Claim
188 words
A method of mapping a graphical surface model, comprising a plurality of model values, onto a w-isosceles triangle of a perspective projection of a triangle-based, graphically-represented object defined by points within an object coordinate system, the triangle having two sides and a base, the base being bounded by two vertices each having a homogeneous coordinate w of the same value, the method comprising the steps of: a) dividing the triangle into a plurality of trapezoids each having four vertices, two bases parallel to the base of the triangle, and two sides, each of which is colinear with one of the triangle sides, the length of the trapezoid sides being such that, given the exact model values to be assigned to the vertices of the trapezoid, the interpolation of model values along the sides of the trapezoid results in no interpolation error that exceeds a predetermined threshold value; b) determining the exact model values for the vertices of each trapezoid; c) subdividing the interior of each trapezoid into a plurality of w-isosceles subtriangles; and d) determining the model values for the remaining object points of the triangle by interpolation.
Claim 21
Independent Claim
188 words
A method of mapping a graphical surface model, comprising a plurality of model values, onto a w-isosceles triangle of a perspective projection of a triangle-based, graphically-represented object defined by points within an object coordinate system, the triangle having two sides and a base, the base being bounded by two vertices each having a homogeneous coordinate w of the same value, the method comprising the steps of: a) dividing the triangle into a plurality of trapezoids each having four vertices, two bases parallel to the base of the triangle, and two sides, each of which is colinear with one of the triangle sides, the length of the trapezoid sides being such that, given the exact model values to be assigned to the vertices of the trapezoid, the interpolation of model values along the sides of the trapezoid results in no interpolation error that exceeds a predetermined threshold value; b) determining the exact model values for the vertices of each trapezoid; c) subdividing the interior of each trapezoid into a plurality of w-isosceles subtriangles; and d) determining the model values for the remaining object points of the triangle by interpolation.
Claim 22
Dependent Claim
21 words
A method according to claim 17 wherein step (c) further comprises forming a plurality of geometrically isosceles subtriangles within each trapezoid.
Claim 23
Dependent Claim
47 words
A method according to claim 17 further comprising omitting steps a-c if, for each side of the triangle, no interpolation error which would result from the use of interpolation in assigning model values to object points along that side of the triangle would exceed the threshold value.
Claim 24
Dependent Claim
24 words
A method according to claim 17 further comprising creating said w-isosceles triangle by dividing a triangle which is not w-isosceles into two w-isosceles triangles.
Claim 25
Dependent Claim
41 words
A method according to claim 17 wherein step (d) comprises first determining the model values for the vertices of the isosceles subtriangles by interpolation, and thereafter determining the model values for the other remaining object points of the triangle by interpolation.
Claim 26
Dependent Claim
147 words
A computer program product for mapping a graphical surface model, comprising a plurality of model values, onto a polygon of a perspective projection of a polygon-based, graphically-represented object defined by points within an object coordinate system, the program code including: program code for performing the step (a) of subdividing the polygon into subpolygons each having a plurality of sides and a plurality of vertices, the subdivision being such that, given exact model values to be assigned to the vertices, the determination of model values by linear interpolation over the length of any one subpolygon side does not produce an interpolation error which exceeds a predetermined threshold value; program code for performing the step (b) of determining the exact model values for the vertices of the sub-polygons; and program code for performing the step (c) of determining the model values corresponding to the non-vertex object points by interpolation.
Claim 27
Dependent Claim
147 words
A computer program product for mapping a graphical surface model, comprising a plurality of model values, onto a polygon of a perspective projection of a polygon-based, graphically-represented object defined by points within an object coordinate system, the program code including: program code for performing the step (a) of subdividing the polygon into subpolygons each having a plurality of sides and a plurality of vertices, the subdivision being such that, given exact model values to be assigned to the vertices, the determination of model values by linear interpolation over the length of any one subpolygon side does not produce an interpolation error which exceeds a predetermined threshold value; program code for performing the step (b) of determining the exact model values for the vertices of the sub-polygons; and program code for performing the step (c) of determining the model values corresponding to the non-vertex object points by interpolation.
Claim 28
Dependent Claim
44 words
A computer program product according to claim 22 wherein the program code for performing step (a) comprises program code for subdividing the polygon such that a new vertex is created along a first side for which the maximum interpolation error exceeds the threshold value.
Claim 29
Dependent Claim
33 words
A computer program product according to claim 22 wherein the program code for performing step (a) further comprises program code for locating the new vertex substantially at the midpoint of the first side.
Claim 30
Dependent Claim
51 words
A computer program product according to claim 22 wherein the polygon is a triangle, and wherein the program code for performing step (a) further comprises program code for subdividing the triangle into four triangles such that a new vertex is created at the midpoint of each of the original triangle sides.
Claim 31
Dependent Claim
190 words
A computer program product for mapping a graphical surface model, comprising a plurality of model values, onto a triangle of a perspective projection of a triangle-based, graphically-represented object defined by points within an object coordinate system, the program code including: program code for performing the step (a) of obtaining the exact model values for each vertex of the triangle; program code for performing the step (b) of determining, for each side of the triangle, a maximum interpolation error which would result from the use of interpolation, based on the model values of the vertices at the endpoints of that side, to assign model values to object points along that triangle side; program code for performing the step (c) of comparing the maximum error for each side to a predetermined threshold value; program code for performing the step (d) of subdividing the triangle into subtriangles and repeating steps (a), (b), (c) and (d) for each subtriangle, if the maximum error for any of the triangle sides exceeds the threshold value; and program code for performing the step (e) of determining the model values corresponding to the non-vertex object points using interpolation.
Claim 32
Dependent Claim
190 words
A computer program product for mapping a graphical surface model, comprising a plurality of model values, onto a triangle of a perspective projection of a triangle-based, graphically-represented object defined by points within an object coordinate system, the program code including: program code for performing the step (a) of obtaining the exact model values for each vertex of the triangle; program code for performing the step (b) of determining, for each side of the triangle, a maximum interpolation error which would result from the use of interpolation, based on the model values of the vertices at the endpoints of that side, to assign model values to object points along that triangle side; program code for performing the step (c) of comparing the maximum error for each side to a predetermined threshold value; program code for performing the step (d) of subdividing the triangle into subtriangles and repeating steps (a), (b), (c) and (d) for each subtriangle, if the maximum error for any of the triangle sides exceeds the threshold value; and program code for performing the step (e) of determining the model values corresponding to the non-vertex object points using interpolation.
Claim 33
Dependent Claim
203 words
A computer program product for mapping a graphical surface model, comprising a plurality of model values, onto a triangle of a perspective projection of a triangle-based, graphically-represented object defined by points within an object coordinate system, the triangle having a plurality of sides and a plurality of vertices, the program code including: program code for performing the step (a) of creating new vertices along the triangle sides such that each of the triangle sides is divided into a plurality of sections, the length of each section being such that, given exact model values to be assigned to the vertices, the determination of model values by linear interpolation over the length of any one section does not produce an error which exceeds the threshold value; program code for performing the step (b) of interconnecting the new vertices with line segments parallel to the original triangle sides, such as to create interior subtriangles having vertices at crossing points between the line segments; program code for performing the step (c) of determining the exact model values for each of the vertices of the subtriangles; and program code for performing the step (d) of determining the model values corresponding to each non-vertex object point using linear interpolation.
Claim 34
Dependent Claim
203 words
A computer program product for mapping a graphical surface model, comprising a plurality of model values, onto a triangle of a perspective projection of a triangle-based, graphically-represented object defined by points within an object coordinate system, the triangle having a plurality of sides and a plurality of vertices, the program code including: program code for performing the step (a) of creating new vertices along the triangle sides such that each of the triangle sides is divided into a plurality of sections, the length of each section being such that, given exact model values to be assigned to the vertices, the determination of model values by linear interpolation over the length of any one section does not produce an error which exceeds the threshold value; program code for performing the step (b) of interconnecting the new vertices with line segments parallel to the original triangle sides, such as to create interior subtriangles having vertices at crossing points between the line segments; program code for performing the step (c) of determining the exact model values for each of the vertices of the subtriangles; and program code for performing the step (d) of determining the model values corresponding to each non-vertex object point using linear interpolation.
Claim 35
Dependent Claim
52 words
A computer program product according to claim 27 further comprising program code for omitting steps (a)-(c) if, for each side of the triangle, no interpolation error which would result from the use of interpolation in assigning model values to object points along that side of the triangle would exceed the threshold value.
Claim 36
Dependent Claim
212 words
A computer program product for mapping a graphical surface model, comprising a plurality of model values, onto a w-isosceles triangle of a perspective projection of a triangle-based, graphically-represented object defined by points within an object coordinate system, the triangle having two sides and a base, the base being bounded by two vertices each having a homogeneous coordinate w of the same value, the program code including: program code for performing step (a) of dividing the triangle into a plurality of trapezoids each having four vertices, two bases parallel to the base of the triangle, and two sides, each of which is colinear with one of the triangle sides, the length of the trapezoid sides being such that, given the exact model values to be assigned to the vertices of the trapezoid, the interpolation of model values along the sides of the trapezoid results in no interpolation error that exceeds a predetermined threshold value; program code for performing step (b) of determining the exact model values for the vertices of each trapezoid; program code for performing step (c) of subdividing the interior of each trapezoid into a plurality of w-isosceles subtriangles; and program code for performing step (d) of determining the model values for the remaining object points of the triangle by interpolation.
Claim 37
Dependent Claim
212 words
A computer program product for mapping a graphical surface model, comprising a plurality of model values, onto a w-isosceles triangle of a perspective projection of a triangle-based, graphically-represented object defined by points within an object coordinate system, the triangle having two sides and a base, the base being bounded by two vertices each having a homogeneous coordinate w of the same value, the program code including: program code for performing step (a) of dividing the triangle into a plurality of trapezoids each having four vertices, two bases parallel to the base of the triangle, and two sides, each of which is colinear with one of the triangle sides, the length of the trapezoid sides being such that, given the exact model values to be assigned to the vertices of the trapezoid, the interpolation of model values along the sides of the trapezoid results in no interpolation error that exceeds a predetermined threshold value; program code for performing step (b) of determining the exact model values for the vertices of each trapezoid; program code for performing step (c) of subdividing the interior of each trapezoid into a plurality of w-isosceles subtriangles; and program code for performing step (d) of determining the model values for the remaining object points of the triangle by interpolation.
Claim 38
Dependent Claim
52 words
A computer program product according to claim 29 further comprising program code for omitting steps (a)-(c) if, for each side of the triangle, no interpolation error which would result from the use of interpolation in assigning model values to object points along that side of the triangle would exceed the threshold value.
Claim 39
Dependent Claim
31 words
A computer program product according to claim 29 wherein the program code for performing step (c) further comprises program code for forming a plurality of geometrically isosceles subtriangles within each trapezoid.
Claim 40
Dependent Claim
29 words
A computer program product according to claim 29 further comprising program code for creating said w-isosceles triangle by dividing a triangle which is not w-isosceles into two w-isosceles triangles.
Claim 41
Dependent Claim
156 words
A computer apparatus comprising a storage medium in which is stored program code for mapping a graphical surface model, comprising a plurality of model values, onto a polygon of a perspective projection of a polygon-based, graphically-represented object defined by points within an object coordinate system, the storage medium comprising: program code for performing the step (a) of subdividing the polygon into subpolygons each having a plurality of sides and a plurality of vertices, the subdivision being such that, given exact model values to be assigned to the vertices, the determination of model values by linear interpolation over the length of any one subpolygon side does not produce an interpolation error which exceeds a predetermined threshold value; program code for performing the step (b) of determining the exact model values for the vertices of the sub-polygons; and program code for performing the step (c) of determining the model values corresponding to the non-vertex object points by interpolation.
Claim 42
Dependent Claim
156 words
A computer apparatus comprising a storage medium in which is stored program code for mapping a graphical surface model, comprising a plurality of model values, onto a polygon of a perspective projection of a polygon-based, graphically-represented object defined by points within an object coordinate system, the storage medium comprising: program code for performing the step (a) of subdividing the polygon into subpolygons each having a plurality of sides and a plurality of vertices, the subdivision being such that, given exact model values to be assigned to the vertices, the determination of model values by linear interpolation over the length of any one subpolygon side does not produce an interpolation error which exceeds a predetermined threshold value; program code for performing the step (b) of determining the exact model values for the vertices of the sub-polygons; and program code for performing the step (c) of determining the model values corresponding to the non-vertex object points by interpolation.
Claim 43
Dependent Claim
41 words
Apparatus according to claim 33 wherein the program code for performing step (a) comprises program code for subdividing the polygon such that a new vertex is created along a first side for which the maximum interpolation error exceeds the threshold value.
Claim 44
Dependent Claim
30 words
Apparatus according to claim 33 wherein the program code for performing step (a) further comprises program code for locating the new vertex substantially at the midpoint of the first side.
Claim 45
Dependent Claim
48 words
Apparatus according to claim 33 wherein the polygon is a triangle, and wherein the program code for performing step (a) further comprises program code for subdividing the triangle into four triangles such that a new vertex is created at the midpoint of each of the original triangle sides.
Claim 46
Dependent Claim
199 words
A computer apparatus comprising a storage medium in which is stored program code for mapping a graphical surface model, comprising a plurality of model values, onto a triangle of a perspective projection of a triangle-based, graphically-represented object defined by points within an object coordinate system, the storage medium comprising: program code for performing the step (a) of obtaining the exact model values for each vertex of the triangle; program code for performing the step (b) of determining, for each side of the triangle, a maximum interpolation error which would result from the use of interpolation, based on the model values of the vertices at the endpoints of that side, to assign model values to object points along that triangle side; program code for performing the step (c) of comparing the maximum error for each side to a predetermined threshold value; program code for performing the step (d) of subdividing the triangle into subtriangles and repeating steps (a), (b), (c) and (d) for each subtriangle, if the maximum error for any of the triangle sides exceeds the threshold value; and program code for performing the step (e) of determining the model values corresponding to the non-vertex object points using interpolation.
Claim 47
Dependent Claim
199 words
A computer apparatus comprising a storage medium in which is stored program code for mapping a graphical surface model, comprising a plurality of model values, onto a triangle of a perspective projection of a triangle-based, graphically-represented object defined by points within an object coordinate system, the storage medium comprising: program code for performing the step (a) of obtaining the exact model values for each vertex of the triangle; program code for performing the step (b) of determining, for each side of the triangle, a maximum interpolation error which would result from the use of interpolation, based on the model values of the vertices at the endpoints of that side, to assign model values to object points along that triangle side; program code for performing the step (c) of comparing the maximum error for each side to a predetermined threshold value; program code for performing the step (d) of subdividing the triangle into subtriangles and repeating steps (a), (b), (c) and (d) for each subtriangle, if the maximum error for any of the triangle sides exceeds the threshold value; and program code for performing the step (e) of determining the model values corresponding to the non-vertex object points using interpolation.
Claim 48
Dependent Claim
212 words
A computer apparatus comprising a storage medium in which is stored program code for mapping a graphical surface model, comprising a plurality of model values, onto a triangle of a perspective projection of a triangle-based, graphically-represented object defined by points within an object coordinate system, the triangle having a plurality of sides and a plurality of vertices, the storage medium comprising: program code for performing the step (a) of creating new vertices along the triangle sides such that each of the triangle sides is divided into a plurality of sections, the length of each section being such that, given exact model values to be assigned to the vertices, the determination of model values by linear interpolation over the length of any one section does not produce an error which exceeds the threshold value; program code for performing the step (b) of interconnecting the new vertices with line segments parallel to the original triangle sides, such as to create interior subtriangles having vertices at crossing points between the line segments; program code for performing the step (c) of determining the exact model values for each of the vertices of the subtriangles; and program code for performing the step (d) of determining the model values corresponding to each non-vertex object point using linear interpolation.
Claim 49
Dependent Claim
212 words
A computer apparatus comprising a storage medium in which is stored program code for mapping a graphical surface model, comprising a plurality of model values, onto a triangle of a perspective projection of a triangle-based, graphically-represented object defined by points within an object coordinate system, the triangle having a plurality of sides and a plurality of vertices, the storage medium comprising: program code for performing the step (a) of creating new vertices along the triangle sides such that each of the triangle sides is divided into a plurality of sections, the length of each section being such that, given exact model values to be assigned to the vertices, the determination of model values by linear interpolation over the length of any one section does not produce an error which exceeds the threshold value; program code for performing the step (b) of interconnecting the new vertices with line segments parallel to the original triangle sides, such as to create interior subtriangles having vertices at crossing points between the line segments; program code for performing the step (c) of determining the exact model values for each of the vertices of the subtriangles; and program code for performing the step (d) of determining the model values corresponding to each non-vertex object point using linear interpolation.
Claim 50
Dependent Claim
53 words
Apparatus according to claim 38 wherein the storage medium further comprises program code for omitting steps (a)-(c) if, for each side of the triangle, no interpolation error which would result from the use of interpolation in assigning model values to object points along that side of the triangle would exceed the threshold value.
Claim 51
Dependent Claim
221 words
A computer apparatus comprising a storage medium in which is stored program code for mapping a graphical surface model, comprising a plurality of model values, onto a w-isosceles triangle of a perspective projection of a triangle-based, graphically-represented object defined by points within an object coordinate system, the triangle having two sides and a base, the base being bounded by two vertices each having a homogeneous coordinate w of the same value, the storage medium comprising: program code for performing step (a) of dividing the triangle into a plurality of trapezoids each having four vertices, two bases parallel to the base of the triangle, and two sides, each of which is colinear with one of the triangle sides, the length of the trapezoid sides being such that, given the exact model values to be assigned to the vertices of the trapezoid, the interpolation of model values along the sides of the trapezoid results in no interpolation error that exceeds a predetermined threshold value; program code for performing step (b) of determining the exact model values for the vertices of each trapezoid; program code for performing step (c) of subdividing the interior of each trapezoid into a plurality of w-isosceles subtriangles; and program code for performing step (d) of determining the model values for the remaining object points of the triangle by interpolation.
Claim 52
Dependent Claim
221 words
A computer apparatus comprising a storage medium in which is stored program code for mapping a graphical surface model, comprising a plurality of model values, onto a w-isosceles triangle of a perspective projection of a triangle-based, graphically-represented object defined by points within an object coordinate system, the triangle having two sides and a base, the base being bounded by two vertices each having a homogeneous coordinate w of the same value, the storage medium comprising: program code for performing step (a) of dividing the triangle into a plurality of trapezoids each having four vertices, two bases parallel to the base of the triangle, and two sides, each of which is colinear with one of the triangle sides, the length of the trapezoid sides being such that, given the exact model values to be assigned to the vertices of the trapezoid, the interpolation of model values along the sides of the trapezoid results in no interpolation error that exceeds a predetermined threshold value; program code for performing step (b) of determining the exact model values for the vertices of each trapezoid; program code for performing step (c) of subdividing the interior of each trapezoid into a plurality of w-isosceles subtriangles; and program code for performing step (d) of determining the model values for the remaining object points of the triangle by interpolation.
Claim 53
Dependent Claim
53 words
Apparatus according to claim 40 wherein the storage medium further comprises program code for omitting steps (a)-(c) if, for each side of the triangle, no interpolation error which would result from the use of interpolation in assigning model values to object points along that side of the triangle would exceed the threshold value.
Claim 54
Dependent Claim
28 words
Apparatus according to claim 40 wherein the program code for performing step (c) further comprises program code for forming a plurality of geometrically isosceles subtriangles within each trapezoid.
Claim 55
Dependent Claim
30 words
Apparatus according to claim 40 wherein the storage medium further comprises program code for creating said w-isosceles triangle by dividing a triangle which is not w-isosceles into two w-isosceles triangles.
Claim 56
Dependent Claim
184 words
A video controller apparatus for exchanging graphics data between a host processor and a display that displays a graphical image to a user, the controller including a graphics processor in communication with a storage medium in which is stored program code for mapping a graphical surface model, comprising a plurality of model values, onto a polygon of a perspective projection of a polygon-based, graphically-represented object defined by points within an object coordinate system, the storage medium comprising: program code for performing the step (a) of subdividing the polygon into subpolygons each having a plurality of sides and a plurality of vertices, the subdivision being such that, given exact model values to be assigned to the vertices, the determination of model values by linear interpolation over the length of any one subpolygon side does not produce an interpolation error which exceeds a predetermined threshold value; program code for performing the step (b) of determining the exact model values for the vertices of the sub-polygons; and program code for performing the step (c) of determining the model values corresponding to the non-vertex object points by interpolation.
Claim 57
Dependent Claim
184 words
A video controller apparatus for exchanging graphics data between a host processor and a display that displays a graphical image to a user, the controller including a graphics processor in communication with a storage medium in which is stored program code for mapping a graphical surface model, comprising a plurality of model values, onto a polygon of a perspective projection of a polygon-based, graphically-represented object defined by points within an object coordinate system, the storage medium comprising: program code for performing the step (a) of subdividing the polygon into subpolygons each having a plurality of sides and a plurality of vertices, the subdivision being such that, given exact model values to be assigned to the vertices, the determination of model values by linear interpolation over the length of any one subpolygon side does not produce an interpolation error which exceeds a predetermined threshold value; program code for performing the step (b) of determining the exact model values for the vertices of the sub-polygons; and program code for performing the step (c) of determining the model values corresponding to the non-vertex object points by interpolation.
Claim 58
Dependent Claim
42 words
A controller according to claim 44 wherein the program code for performing step (a) comprises program code for subdividing the polygon such that a new vertex is created along a first side for which the maximum interpolation error exceeds the threshold value.
Claim 59
Dependent Claim
31 words
A controller according to claim 44 wherein the program code for performing step (a) further comprises program code for locating the new vertex substantially at the midpoint of the first side.
Claim 60
Dependent Claim
49 words
A controller according to claim 44 wherein the polygon is a triangle, and wherein the program code for performing step (a) further comprises program code for subdividing the triangle into four triangles such that a new vertex is created at the midpoint of each of the original triangle sides.
Claim 61
Dependent Claim
235 words
A video controller for exchanging graphics data between a host processor and a display that display a graphical image to a user, the controller including a graphics processor in communication with a storage medium in which is stored program code for mapping a graphical surface model, comprising a plurality of model values, onto a triangle of a perspective projection of a triangle-based, graphically-represented object defined by points within an object coordinate system, the storage medium comprising: program code for performing the step (a) of obtaining the exact model values for each vertex of the triangle; program code for performing the step (b) of determining, for each side of the triangle, a maximum interpolation error which would result from the use of interpolation, based on the model values of the vertices at the endpoints of the corresponding side for which the maximum interpolation error is determined, to assign model values to object points along the corresponding side; program code for performing the step (c) of comparing the maximum error for each side to a predetermined threshold value; program code for performing the step (d) of subdividing the triangle into substriangles and repeating steps (a), (b), (c) and (d) for each subtriangle, if the maximum error for any of the triangle sides exceeds the threshold value; and program code for performing the step (e) of determining the model values corresponding to the non-vertex object points using interpolation.
Claim 62
Dependent Claim
235 words
A video controller for exchanging graphics data between a host processor and a display that display a graphical image to a user, the controller including a graphics processor in communication with a storage medium in which is stored program code for mapping a graphical surface model, comprising a plurality of model values, onto a triangle of a perspective projection of a triangle-based, graphically-represented object defined by points within an object coordinate system, the storage medium comprising: program code for performing the step (a) of obtaining the exact model values for each vertex of the triangle; program code for performing the step (b) of determining, for each side of the triangle, a maximum interpolation error which would result from the use of interpolation, based on the model values of the vertices at the endpoints of the corresponding side for which the maximum interpolation error is determined, to assign model values to object points along the corresponding side; program code for performing the step (c) of comparing the maximum error for each side to a predetermined threshold value; program code for performing the step (d) of subdividing the triangle into substriangles and repeating steps (a), (b), (c) and (d) for each subtriangle, if the maximum error for any of the triangle sides exceeds the threshold value; and program code for performing the step (e) of determining the model values corresponding to the non-vertex object points using interpolation.
Claim 63
Dependent Claim
239 words
A video controller for exchanging graphics data between a host processor and a display that displays a graphical image to a user, the controller including a graphics processor in communication with a storage medium in which is stored program code for mapping a graphical surface model, comprising a plurality of model values, onto a triangle of a perspective projection of a triangle-based, graphically-represented object defined by points within an object coordinate system, the triangle having a plurality of sides and a plurality of vertices, the storage medium comprising: program code for performing the step (a) of creating new vertices along the triangle sides such that each of the triangle sides is divided into a plurality of sections, the length of each section being such that, given exact model values to be assigned to the vertices, the determination of model values by linear interpolation over the length of any one section does not produce an error which exceeds the threshold value; program code for performing the step (b) of interconnecting the new vertices with line segments parallel to the original triangle sides, such as to create interior subtriangles having vertices at crossing points between the line segments; program code for performing the step (c) of determining the exact model values for each of the vertices of the subtriangles; and program code for performing the step (d) of determining the model values corresponding to each non-vertex object point using linear interpolation.
Claim 64
Dependent Claim
239 words
A video controller for exchanging graphics data between a host processor and a display that displays a graphical image to a user, the controller including a graphics processor in communication with a storage medium in which is stored program code for mapping a graphical surface model, comprising a plurality of model values, onto a triangle of a perspective projection of a triangle-based, graphically-represented object defined by points within an object coordinate system, the triangle having a plurality of sides and a plurality of vertices, the storage medium comprising: program code for performing the step (a) of creating new vertices along the triangle sides such that each of the triangle sides is divided into a plurality of sections, the length of each section being such that, given exact model values to be assigned to the vertices, the determination of model values by linear interpolation over the length of any one section does not produce an error which exceeds the threshold value; program code for performing the step (b) of interconnecting the new vertices with line segments parallel to the original triangle sides, such as to create interior subtriangles having vertices at crossing points between the line segments; program code for performing the step (c) of determining the exact model values for each of the vertices of the subtriangles; and program code for performing the step (d) of determining the model values corresponding to each non-vertex object point using linear interpolation.
Claim 65
Dependent Claim
54 words
A controller according to claim 49 wherein the storage medium further comprises program code for omitting steps (a)-(c) if, for each side of the triangle, no interpolation error which would result from the use of interpolation in assigning model values to object points along that side of the triangle would exceed the threshold value.
Claim 66
Dependent Claim
248 words
A video controller for exchanging graphics data between a host processor and a display that displays a graphical image to a user, the controller including a graphics processor in communication with a storage medium in which is stored program code for mapping a graphical surface model, comprising a plurality of model values, onto a w-isosceles triangle of a perspective projection of a triangle-based, graphically-represented object defined by points within an object coordinate system, the triangle having two sides and a base, the base being bounded by two vertices each having a homogeneous coordinate w of the same value, the storage medium comprising: program code for performing step (a) of dividing the triangle into a plurality of trapezoids each having four vertices, two bases parallel to the base of the triangle, and two sides, each of which is colinear with one of the triangle sides, the length of the trapezoid sides being such that, given the exact model values to be assigned to the vertices of the trapezoid, the interpolation of model values along the sides of the trapezoid results in no interpolation error that exceeds a predetermined threshold value; program code for performing step (b) of determining the exact model values for the vertices of each trapezoid; program code for performing step (c) of subdividing the interior of each trapezoid into a plurality of w-isosceles subtriangles; and program code for performing step (d) of determining the model values for the remaining object points of the triangle by interpolation.
Claim 67
Dependent Claim
248 words
A video controller for exchanging graphics data between a host processor and a display that displays a graphical image to a user, the controller including a graphics processor in communication with a storage medium in which is stored program code for mapping a graphical surface model, comprising a plurality of model values, onto a w-isosceles triangle of a perspective projection of a triangle-based, graphically-represented object defined by points within an object coordinate system, the triangle having two sides and a base, the base being bounded by two vertices each having a homogeneous coordinate w of the same value, the storage medium comprising: program code for performing step (a) of dividing the triangle into a plurality of trapezoids each having four vertices, two bases parallel to the base of the triangle, and two sides, each of which is colinear with one of the triangle sides, the length of the trapezoid sides being such that, given the exact model values to be assigned to the vertices of the trapezoid, the interpolation of model values along the sides of the trapezoid results in no interpolation error that exceeds a predetermined threshold value; program code for performing step (b) of determining the exact model values for the vertices of each trapezoid; program code for performing step (c) of subdividing the interior of each trapezoid into a plurality of w-isosceles subtriangles; and program code for performing step (d) of determining the model values for the remaining object points of the triangle by interpolation.
Claim 68
Dependent Claim
54 words
A controller according to claim 51 wherein the storage medium further comprises program code for omitting steps (a)-(c) if, for each side of the triangle, no interpolation error which would result from the use of interpolation in assigning model values to object points along that side of the triangle would exceed the threshold value.
Claim 69
Dependent Claim
29 words
A controller according to claim 51 wherein the program code for performing step (c) further comprises program code for forming a plurality of geometrically isosceles subtriangles within each trapezoid.
Claim 70
Dependent Claim
31 words
A controller according to claim 52 wherein the storage medium further comprises program code for creating said w-isosceles triangle by dividing a triangle which is not w-isosceles into two w-isosceles triangles.