• Bruce Momjian's avatar
    Small patch that adds some documentation for the area() function. · 70f5a87e
    Bruce Momjian authored
    Specifically, point out that intersecting points in a path will yield
    (most likely), unexpected results.  Visually these are identical paths,
    but mathematically they're not the same.  Ex:
    
      area |                                           plan
    ------
    +-----------------------------------------------------------------------
    -------------------
        -0 | ((0,0),(0,1),(2,1),(2,2),(1,2),(1,0),(0,0))
         2 | ((0,0),(0,1),(1,1),(1,2),(2,2),(2,1),(1,1),(1,0),(0,0))
    
    The current algorithm for area(PATH) is very quick, but only handles
    non-intersecting paths.  I'm going to work on two other functions for
    the PATH data type that determines if a PATH is intersecting or not,
    and a function that returns the area() for an intersecting PATH.  The
    intersecting area() function will be considerably slower (I think it's
    going to be O(n!) or worse instead of the current O(n), but that comes
    with the territory).
    
    Sean Chittenden
    70f5a87e
func.sgml 291 KB