コード例 #1
0
ファイル: polygon.py プロジェクト: Germanc/supreme
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.')
コード例 #2
0
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.')