两个向量的外积定义:
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<vector<int>>& points) {
int n = points.size();
int xa, ya, xb, yb, xc, yc;
int prevsign = 0;
for(int i=0; i<n; i++){
xa = points[i][0];
ya = points[i][1];
xb = points[(i + 1) % n][0];