我是靠谱客的博主 发嗲毛豆,最近开发中收集的这篇文章主要介绍判断一个点与直线的相对位置,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

定义:平面上的三点P1(x1,y1),P2(x2,y2),P3(x3,y3)
S(P1,P2,P3)= (x1-x3)* (y2-y3) - (y1-y3)*(x2-x3)
令矢量的起点为A,终点为B,判断的点为C,
如果S(A,B,C)为正数,则C在矢量AB的左侧;
如果S(A,B,C)为负数,则C在矢量AB的右侧;
如果S(A,B,C)为 0,则C在直线AB上。

double s(P A,P B,P C){
    return (A.x-C.x)*(B.y-C.y)-(A.y-C.y)*(B.x-C.x);
}
void check(int a,int b){
    for(int i=1;i<=m;i++){
        if(s(A[a],A[b],B[i])>0)...
        else if(s(A[a],A[b],B[i])<0)...
        else ...
    }
}

最后

以上就是发嗲毛豆为你收集整理的判断一个点与直线的相对位置的全部内容,希望文章能够帮你解决判断一个点与直线的相对位置所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部