判断点和线的关系

这里判断点和线的关系要用到矢量乘法

1.矢量叉积 

设矢量P  =  (x1,y1)   ,Q  =  (x2,y2)

则矢量叉积定义为:   P  × Q  =  x1*y2  -  x2*y1    得到的是一个标量

显然有性质  P  × Q  =  -  (  Q  × P  )    P  × (  -  Q  )  =  -  (  P  × Q  )

如不加说明,下面所有的点都看作矢量,点的乘法看作矢量叉积;

叉乘的重要性质:

 >  若 P  × Q   >  0  ,   则P  在Q的顺时针方向

 >  若 P  × Q   <  0  ,   则P  在Q的逆时针方向

 >  若 P  × Q   =  0  ,   则P  与Q共线,但可能同向也可能反向



int getRefLine0Line1(POINT l0s,POINT l0e,POINT l1s,POINT l1e)
{
int ret = 0;


float dx0 = (l0e.x - l0s.x),dy0 = (l0e.y - l0s.y);
float dx1 = (l1e.x - l1s.x),dy1 = (l1e.y - l1s.y);

float val = dx0 * dy1 - dx1 * dy0;
if(val < 0) //Line0在Line1上
{
ret = 0;
}
else if(val > 0)//Line0在Line1下
{
ret = 1;
}
else //Line0在Line1里
{
ret = 2;
}


return ret;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 对于如何判断线与线的关系,可以使用数学中的向量来帮助判断。当两条线的向量之间夹角为零度时,说明这两条线是重合的;当两条线的向量之间夹角为九十度时,说明这两条线是垂直的;当两条线的向量之间夹角大于零度且小于九十度时,说明这两条线是斜交的。 举例如下: 假设有两条线分别为AB线和CD线,其中AB线上有点A(1,2)和点B(4,6),CD线上有点C(2,7)和点D(6,4)。我们可以使用向量的方式分别求出AB线和CD线上的向量,再计算向量之间的夹角,来判断这两条线的关系。 首先,求AB线上的向量: AB向量 = B点坐标 - A点坐标 = (4-1, 6-2) = (3, 4) 再求CD线上的向量: CD向量 = D点坐标 - C点坐标 = (6-2, 4-7) = (4, -3) 计算两条线的向量夹角: 夹角 = arccos[(AB向量·CD向量) / (|AB向量|·|CD向量|)] 其中,·表示向量的点乘,|x|表示向量的模或长度 代入数据计算: AB向量·CD向量 = (3, 4)·(4, -3) = (3×4) + (4×-3) = 0 |AB向量| = √[(3²+4²)] ≈ 5 |CD向量| = √[(4²+(-3)²)] ≈ 5 因此,夹角 = arccos[0 / (5×5)] ≈ 90°,即AB线与CD线是垂直的。 以上就是使用向量来判断线与线关系的详细举例说明。 ### 回答2: 要判断两条线的关系,需要注意它们的位置、方向和交点情况等方面。以下是详细举例说明: 1. 平行线:两条线在平面上没有任何交点,且它们的方向相同或相互垂直。例如,平面上的两条直线y=2x和y=2x+1,它们的斜率相同,且没有交点,因此它们是平行线。 2. 相交线:两条线在平面上有且仅有一个交点。例如,直角坐标系中的两条直线y=2x+1和y=-x+3,在点(1,3)处相交,因此它们是相交线。 3. 重合线:两条线在平面上完全重合,所有点都相同。例如,直角坐标系中的两条直线y=2x和2y=4x,它们的解是相同的,因此它们是重合线。 4. 垂直线:两条线的斜率乘积为-1,它们相互斜率互为相反数。例如,直角坐标系中的两条直线y=2x和y=-1/2x,它们的斜率乘积为(2)*(-1/2)=-1,因此它们是垂直线。 5. 平行且重合线:两条线的斜率相同且完全重合。例如,直角坐标系中的两条直线y=2x和2y=4x,它们斜率相同且解相同,因此它们是平行且重合线。 通过注意线的位置、方向和交点情况,我们可以准确判断两条线的关系。 ### 回答3: 判断线与线关系主要有以下几种方法。首先,可以通过观察线的方向和位置来判断。如果两条线的方向相同且没有交点,则它们是平行线。例如,地铁线路中的两条平行铁轨。 其次,可以通过计算线的斜率来判断。如果两条线段的斜率相同,则它们是平行线。例如,直角坐标系中,直线y = 2x和直线y = 2x + 3具有相同的斜率2。 此外,如果两条线段的斜率互为倒数,则它们是垂直线。例如,直角坐标系中,直线y = 2x和直线y = -1/2x + 4互为倒数关系。 另外,可以通过线的交点来判断线与线关系。如果两条线段的交点存在且唯一,则它们是相交线。例如,直角坐标系中,直线y = 2x和直线y = -x + 5相交于点(1, 2)。 最后,如果两条线段的一个端点重合,而另一条线段在重合端点的同侧,则它们是共线线段。例如,直角坐标系中,线段AB和线段AC共线,其中A为端点,且线段AB在A点的同侧。 综上所述,通过观察线的方向和位置,计算线的斜率,分析线的交点以及判断共线线段的端点位置,可以对线与线关系进行准确判断

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值