判断凸四边形_外积

两个向量的外积定义:

a = (x1, y1)  b = (x2, y2)

a ✖️ b = x1y2-x2y1

https://www.cnblogs.com/xiaojianliu/p/9964246.html

具体参见上面博客。通过外积正负号,可以判定两个向量的相对位置,也就是夹角。

夹角的性质,可以用来解决判别凸多边形,一个点在多边形内等问题。

例如:判别凸多边形:

 向量每个点相连接,假如是多边形ABCD,则得到AB,BC,CD,DA四个向量,分别判定

AB* BC

BC*CD

CD*DA

DA*AB

四个叉乘同不同号,如果同号,证明是凸四边形。leetcode469

class Solution {
public:
    bool isConvex(vector>& points) {
        int n = points.size();
        int xa, ya, xb, yb, xc, yc;
        int prevsign = 0;
        for(int i=0; i

你可能感兴趣的:(C++)