平面三个点
( ) ( ) ( )
1 1 1 2 2 2 3 3 3
, , , , ,p x y p x y p x y= = =
( ) ( )
12 2 1 2 1 13 3 1 3 1
, , ,p x x y y p x x y y= - - = - -
( ) ( )( ) ( )( )
12 13 2 1 3 1 3 1 2 1
,cross p p x x y y x x y y= - - - - -
如果
,则
时逆时针,opencv 符号正好相反
如果
,则
时顺时针,opencv 符号正好相反
如果
,则
共线
判断点
在三角形内
内
1. 如 果
为 顺 时 针 , 并 且
,
,
同时小于 0(opencv 符号正好相反),说明点在
在三角形内
内。
2. 如 果
为 逆 时 针 , 并 且
,
,
同时大于 0(opencv 符号正好相反),说明点在
在三角形内
内。
总结:令
( ) ( )
( ) ( )
( ) ( )
1 2 12 13
2 3 12 13
3 1 12 13
, / ,
, / ,
, / ,
cross p p p p cross p p
cross p p p p cross p p
cross p p p p cross p p
a
b
g
= - -
= - -
= - -
若
,则说明点在
在三角形内
内,如果三个值非负,并且其中
某个或某两个为 0,说明
在三角形内
的一条边上或与其中一个顶点重合。
评论0