To be unique, pattern representations {unique pattern representation} must use pattern center and pairwise relations between points.
center
The center is x, y, and z coordinate means plus unit distance along higher dimension. The extra dimension avoids false equivalences that can happen if center lies near point.
vectors
Vectors go from center to pattern points. For vector pairs, find something like cross product. Calculate each pair only once, not again for different order. Ignore unit vectors. Square difference, such as x1*y2 - x2*y1, assigned to unit vectors. Sum squares. Alternatively, use sum square root.
value
Add all cross products. Resulting sum is unique for compact pattern.
program 1
In array, in first coordinate, 0 is for y-coordinate, and 1 is for x-coordinate. k = pattern size. p = pattern-point number. max(p) = k. m = pattern number. n(#, k, p, m) are point coordinates. v = 0. v1 = 0. v2 = 0.
For p = 1 To k + 1. v = v + n(0, k, p, m). v1 = v1 + n(1, k, p, m). Next p. v = v / (k + 1). v1 = v1 / (k + 1). For p = 1 To k. For p1 = p + 1 To k + 1. x1 = n(0, k, p, m) - v. x2 = n(1, k, p, m) - v1. x3 = 1. y1 = n(0, k, p1, m) - v. y2 = n(1, k, p1, m) - v1. y3 = 1. w2 = ((x2 * y3 - y2 * x3) ^ 2 + (x1 * y3 - y1 * x3) ^ 2 + (x1 * y2 - y1 * x2) ^ 2) ^ 0.5. v2 = v2 + w2. Next p1. Next p.
Program compares patterns rapidly.
eye
Eye can perform this computation, because it is pattern center, and all points are in front of it. Eye can compare patterns and judge distances.
program 2
Patterns with different colors or point types can have pattern representations. In first coordinate, 0 is for y-coordinate, 1 is for x-coordinate, and 2 is for color or point type. k = pattern size. p = pattern point number; max(p) = k. m = pattern number. n(#, k, p, m) are coordinates and point type. v = 0. v1 = 0. v2 = 0.
For p = 1 To k + 1. v = v + n(0, k, p, m). v1 = v1 + n(1, k, p, m). Next p. v = v / (k + 1). v1 = v1 / (k + 1). For p = 1 To k. For p1 = p + 1 To k + 1. x1 = n(0, k, p, m) - v. x2 = n(1, k, p, m) - v1. x3 = 1. y1 = n(0, k, p1, m) - v. y2 = n(1, k, p1, m) - v1. y3 = 1. w2 = ((n(2, k, p, m) + 1) * (n(2, k, p1, m) + 1) + (x2 * y3 - y2 * x3) ^ 2 + (x1 * y3 - y1 * x3) ^ 2 + (x1 * y2 - y1 * x2) ^ 2) ^ 0.5. v2 = v2 + w2. Next p1. Next p.
Mathematical Sciences>Computer Science>System Analysis>Patterns
3-Computer Science-System Analysis-Patterns
Outline of Knowledge Database Home Page
Description of Outline of Knowledge Database
Date Modified: 2022.0224