【文件属性】:
文件名称:逆时针方向排序的多边形-python读取mat文件并转为csv文件的实例
文件大小:9.75MB
文件格式:PDF
更新时间:2021-06-10 00:01:15
算法
图6.26 逆时针方向排序的多边形
接下来,推导下等式(6.3),从几何的角度考虑,设多边形是按照逆时针方向进行排
序的,如图6.26所示, O 表示原点,则多边形的面积可以表示为:
0 1 1 2 1 0
Area( ) Area( ) Area( ) Area( )
n
OV V OVV OV V
( 6.4)
其中,
1 1 1 1
Area( )
i i i i i i i i
OVV V V x y x y
。如果三角形
1i i
OVV
是逆时针顺序的,则
有
1
Area( ) 0
i i
OVV
;如果是顺时针顺序的,则有
1
Area( ) 0
i i
OVV
;如果三点共线,则有
1
Area( ) 0
i i
OVV
。以图6.26为例, 的面积可以理解为多边形
3 4 0 1
T { , , , , , }O V V V V 的面积
减去多边形
1 2 3
L { , , , }O V V V 的面积,就是灰色的多边形 的面积。展开等式(6.4),得到
1
1 1
0
1
( )
2
n
i i i i
i
Area R x y x y
(6.5)
令
0 0 1 1 1 1
, , ,
n n n n
x x y y x x y y
,可以继续优化等式(6.5),有
1
1 1
0
1
1 1 1 1
0
1 1
1 1 1 1
0 0
1
1 1 0 1 1
0
1
1 1
0
1
2
1
2
1
2
1
2
1
2
n
i i i i
i
n
i i i i i i i
i
n n
i i i i i i i
i i
n
i i i n n
i
n
i i i
i
x y x y
x y y x y x y
x y y x y x y
x y y x y x y
x y y
等式(6.5)需要 2n次乘法运算,2n次加法运算,等式(6.3)需要 n 次乘法运算,2 1n
次加法运算,与等式(6.5)相比,减少了 n 次乘法计算,效率更高。
上述方法计算出的是多边形 的有符号面积。如果多边形 是逆时针方向的,则