Shoelace公式的实现可以在Windows中完成
Numpy。假设这些顶点:
import numpy as npx = np.arange(0,1,0.001)y = np.sqrt(1-x**2)
我们可以在numpy中重新定义函数以找到区域:
def PolyArea(x,y): return 0.5*np.abs(np.dot(x,np.roll(y,1))-np.dot(y,np.roll(x,1)))
并获得结果:
print PolyArea(x,y)# 0.26353377782163534
避免
for循环使此功能比
PolygonArea以下方法快50倍:
%timeit PolyArea(x,y)# 10000 loops, best of 3: 42 µs per loop%timeit PolygonArea(zip(x,y))# 100 loops, best of 3: 2.09 ms per loop.
定时在Jupyter笔记本中完成。



