Triangulation of random and scattered data
First Claim
1. A method of producing an electronic data structure representing an image of an object including the steps of (i) providing a random and scattered array of data points on an electronic 2-dimensional plane, the data points relating to a portion of the object, and (ii) triangulating the data points on the 2-dimensional plane to produce an electronic data structure representing an image of the portion of the object;
- said step of triangulating the data points comprising the steps of;
preprocessing the data points and arranging the data points in a data structure, andforming a triangle, the step of forming the triangle, including;
i) determining an initial point in the data structure,ii) determining the nearest point to the initial point in the data structure to form a first edge,iii) determining a third point in the data structure nearest the first edge to form the triangle with the initial and nearest points, the third point being determined by;
a) forming a triangle using the first edge, a second edge emanating vertically from the initial point and a third edge emanating horizontally from the nearest point and intersecting the second edge,b) searching the triangle for points and computing which point forms the smallest cosine with the initial point and the nearest point,c) computing a circle through the initial point, the nearest point and the found point with the smallest cosine, thereby forming the smallest circle, andd) setting a bounding box for the smallest circle and checking for other points inside the box, and if other points are found, then determining the smallest circle for the other points and comparing the smallest circle for the other points with the smallest circle of step c) immediately above to determine whether the bounding box should be updated.
1 Assignment
0 Petitions
Accused Products
Abstract
A rapid and efficient method for triangulating random points is based on a "circular" triangulation strategy that allows the deletion of data points from the data set during triangulation. In one embodiment, data is initially preprocessed by sorting and is put into a sparse matrix, while in another embodiment, data is preprocessed directly into a uniform grid prior to the triangulation strategy. A circular queue is used to govern the triangulation process and allows dynamic update of the internal matrix or grid data structure. A substantial decrease in complexity is provided by the triangulation strategy as the number of points to be searched for triangle points decreases as the triangles are created. The method is stable and fast and is not sensitive to difficult cases such as collinear or nearly collinear points.
29 Citations
26 Claims
-
1. A method of producing an electronic data structure representing an image of an object including the steps of (i) providing a random and scattered array of data points on an electronic 2-dimensional plane, the data points relating to a portion of the object, and (ii) triangulating the data points on the 2-dimensional plane to produce an electronic data structure representing an image of the portion of the object;
- said step of triangulating the data points comprising the steps of;
preprocessing the data points and arranging the data points in a data structure, and forming a triangle, the step of forming the triangle, including; i) determining an initial point in the data structure, ii) determining the nearest point to the initial point in the data structure to form a first edge, iii) determining a third point in the data structure nearest the first edge to form the triangle with the initial and nearest points, the third point being determined by; a) forming a triangle using the first edge, a second edge emanating vertically from the initial point and a third edge emanating horizontally from the nearest point and intersecting the second edge, b) searching the triangle for points and computing which point forms the smallest cosine with the initial point and the nearest point, c) computing a circle through the initial point, the nearest point and the found point with the smallest cosine, thereby forming the smallest circle, and d) setting a bounding box for the smallest circle and checking for other points inside the box, and if other points are found, then determining the smallest circle for the other points and comparing the smallest circle for the other points with the smallest circle of step c) immediately above to determine whether the bounding box should be updated. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
- said step of triangulating the data points comprising the steps of;
-
19. A method of producing an electronic data structure representing an image of an object including the steps of (i) providing a random and scattered array of data points on an electronic 2-dimensional plane, the data points relating to a portion of the object, and (ii) triangulating the data points on the 2-dimensional plane to produce an electronic data structure representing an image of the portion of the object;
- said step of triangulating the data points comprising the steps of;
preprocessing the data points and arranging the data points in a data structure, forming triangles, the step of forming the triangles comprising the steps of; i) determining an initial point in the data structure, ii) determining the nearest point to the initial point in the data structure to form a first edge, iii) determining a third point in the data structure nearest the first edge to form second and third edges of a first triangle with the initial and nearest points, entering the first edge into a circular queue, and entering each additional edge of the first triangle into the rear position in the circular queue when each additional edge is determined, and determining an additional point in the data structure nearest each said edge in the rear position of the circular queue to form two further edges of a second triangle, entering each further edge of the second triangle into the rear position in the circular queue when each further edge is determined, and forming additional triangles until all the points are associated with at least one triangle. - View Dependent Claims (20, 21, 22)
- said step of triangulating the data points comprising the steps of;
-
23. A method of producing an electronic data structure representing an image of an object including the steps of (i) providing a random and scattered array of data points on an electronic 2-dimensional plane, the data points relating to a portion of the object, and (ii) triangulating the data points on the 2-dimensional plane to produce an electronic data structure representing an image of the portion of the object;
- said step of triangulating the data points comprising the steps of;
(a) determining pairs of data points, each pair having a first data point and a second data point; (b) searching for candidate points for at least one third data point for each pair of data points, thereby forming a triangle with the first, second, and third data points, the triangle meeting the Delaunay criterion; and (c) after finding at least one candidate point, limiting the search for the at least one third data point to points located within an area having a fixed relationship between the first and second data points and the candidate point; (d) determining which of the candidate points is the third point that forms a triangle with the first, second, and third data points, the triangle meeting the Delaunay criterion. - View Dependent Claims (24, 25, 26)
- said step of triangulating the data points comprising the steps of;
Specification