判断凸四边形_外积

通过向量外积的正负号可以判断两个向量的相对位置和夹角,进而用于解决如何辨别凸多边形的问题。在四边形ABCD中,计算相邻边的外积,如AB×BC、BC×CD、CD×DA和DA×AB,如果所有外积符号相同,那么该四边形为凸四边形。此方法也可应用于LeetCode的469题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

两个向量的外积定义:

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];
     
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值