import sys import supreme from supreme.geometry import Polygon grid_y, grid_x = np.mgrid[0:1:0.1,0:1:0.1].reshape(2,-1) # simple area test xp = [0.15,0.85,0.85,0.15] yp = [0.15,0.15,0.85,0.85] pa = Polygon(xp,yp) print pa print "Area expected: %f, area found: %f" % ((0.85-0.15)**2, pa.area()) print "Centroid: ", pa.centroid() print # concave enclosure test-case for inside. xp = [0.15,0.25,0.45,0.45,0.25,0.25,0.65,0.65,0.85,0.85,0.15] yp = [0.15,0.15,0.15,0.25,0.25,0.55,0.55,0.15,0.15,0.85,0.85] pb = Polygon(xp,yp) xc, yc = pb.centroid() print pb print "Area: ", pb.area() print "Centroid: ", xc, yc print inside = pb.inside(grid_x,grid_y) plt.plot(grid_x[inside], grid_y[inside], 'g.') plt.plot(grid_x[~inside], grid_y[~inside],'r.')
import sys import supreme from supreme.geometry import Polygon grid_y, grid_x = np.mgrid[0:1:0.1, 0:1:0.1].reshape(2, -1) # simple area test xp = [0.15, 0.85, 0.85, 0.15] yp = [0.15, 0.15, 0.85, 0.85] pa = Polygon(xp, yp) print pa print "Area expected: %f, area found: %f" % ((0.85 - 0.15)**2, pa.area()) print "Centroid: ", pa.centroid() print # concave enclosure test-case for inside. xp = [0.15, 0.25, 0.45, 0.45, 0.25, 0.25, 0.65, 0.65, 0.85, 0.85, 0.15] yp = [0.15, 0.15, 0.15, 0.25, 0.25, 0.55, 0.55, 0.15, 0.15, 0.85, 0.85] pb = Polygon(xp, yp) xc, yc = pb.centroid() print pb print "Area: ", pb.area() print "Centroid: ", xc, yc print inside = pb.inside(grid_x, grid_y) plt.plot(grid_x[inside], grid_y[inside], 'g.') plt.plot(grid_x[~inside], grid_y[~inside], 'r.')