点与线的关系处理

判断某一点处于有向线段左右侧

这里我们使用矢量来进行判断:
定义:平面上三点A(x1,y1),B(x2,y2),C(x3,y3)组成的面积(含正负,取绝对值为面积)是:
S(A,B,C) = [ (x1-x3) * (y2-y3) - (y1 -y3)* (x2-x3) ]

那么,当ABC逆时针顺序时S为正的,顺时针则S为负值。
所以,
对于有向线段AB和点C
如果S(A,B,C)为正数,则C在有向线段AB的左侧;
如果S(A,B,C)为负数,则C在有向线段AB的右侧;
如果S(A,B,C)为0,则C在直线AB上。

点关于直线的距离、垂足、对称点公式

已知点p(x0,y0),直线方程为Ax+By+C=0;

  1. 点到直线的距离d
    d = ( A*x0 + B*y0 +C ) / sqrt( A*A + B*B);
    这个距离有符号之分,表示点处于直线的上下方,绝对值表示欧氏距离。
  2. 点到直线上的垂足(x,y)
    对于方程 :
    (1) Ax + By +C =0
    (2) (y - y0) / (x - x0) = B / A 联合求解:
    x = ( B*B*x0 - A*B*y0 - A*C )/ (A*A + B*B);
    y = (-A*B*x0 + A*A*y0 - B*C) /(A*A + B*B )
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值