EDA365电子工程师网

标题: 请高手看一下,提供个思路 [打印本页]

作者: soswelcome    时间: 2016-4-27 11:32
标题: 请高手看一下,提供个思路
我现在知道了所有线段的各个端点的坐标值,和各个线段的中点坐标值,现在有没有什么思路可以判断出来下面几种情况1和2,3和4的相对位置来?


谢谢



作者: soswelcome    时间: 2016-4-27 11:36
也就是说,这些坐标值可以判断出来吗?如果可能的话,如何进行判断了?大概思路是什么呢?
作者: deargds    时间: 2016-4-27 17:30
直角坐标系中求各线与X轴,Y轴的交点
作者: kevin890505    时间: 2016-4-27 20:45
segment的角度相同时,左右 上下关系就是y 或者x等于0的时候另外一个的值的大小
作者: soswelcome    时间: 2016-4-28 09:12
kevin890505 发表于 2016-4-27 20:45
segment的角度相同时,左右 上下关系就是y 或者x等于0的时候另外一个的值的大小

非常谢谢,有道理

作者: soswelcome    时间: 2016-4-28 18:28
deargds 发表于 2016-4-27 17:30
直角坐标系中求各线与X轴,Y轴的交点

可否具体一点呢,用到数学函数吗?想了一个下午也没有搞定




作者: soswelcome    时间: 2016-4-28 18:28
kevin890505 发表于 2016-4-27 20:45
segment的角度相同时,左右 上下关系就是y 或者x等于0的时候另外一个的值的大小

可否具体一点呢,用到数学函数吗?想了一个下午也没有搞定





作者: kevin890505    时间: 2016-4-28 22:17
soswelcome 发表于 2016-4-28 18:28
可否具体一点呢,用到数学函数吗?想了一个下午也没有搞定

没做过这个功能,不知道有没有函数可以直接判断 但是交点很好判断的嘛    你获得lineA,lineB,然后分别获得二者的start+end point location,一般走线都是0   45   90度,那么你从走线的起止点  就可以得到其类型 和函数  
比如 A  起(0 5) 终(5 5),B起(0 6) 终(5 6)两点y相同,说明是0度, 分别是y=5  y=6  那么B就在A下方,同样的90度也一样。
45度的,比如A  起(1 2) 终(3 4),B起(5 5) 终(8 8),那么你很容易求的 斜率是正45   函数是y=x +1  y=x,取x=0  AB分别y=1 和0  取y=0则 x=-1 0则说明A在B上 左

负45度一样的  只不过函数是y=-x之类的

你可以把这个弄成个子函数,需要用的时候直接调用即可

作者: soswelcome    时间: 2016-4-29 08:34
kevin890505 发表于 2016-4-28 22:17
没做过这个功能,不知道有没有函数可以直接判断 但是交点很好判断的嘛    你获得lineA,lineB,然后分别 ...

回答的非常到位,非常感谢!

作者: httpftpli    时间: 2016-4-29 08:54
简单,知道直线的2点就可以了,不用第三点。f1(x)-f2(x) 判断上下 ,f1(y)-f2(y) 判断左右,什么角度就可以
作者: deargds    时间: 2016-4-29 09:33
soswelcome 发表于 2016-4-28 18:28
可否具体一点呢,用到数学函数吗?想了一个下午也没有搞定

根据直线一次函数y=kx+b可知,与X轴交点,即交点处Y坐标为0时X=-(b/k)
再根据之前已知的线段两端点坐标(x0 y0)   (x1  y1)求k值和b值.
skill中k可以通过axlLineSlope获取,b值只需代入任一端点坐标即可求出。另外k=0的情况需要提前判断一下。


作者: soswelcome    时间: 2016-4-29 13:29
httpftpli 发表于 2016-4-29 08:54
简单,知道直线的2点就可以了,不用第三点。f1(x)-f2(x) 判断上下 ,f1(y)-f2(y) 判断左右,什么角度就可以

谢谢!

作者: soswelcome    时间: 2016-4-29 13:30
deargds 发表于 2016-4-29 09:33
根据直线一次函数y=kx+b可知,与X轴交点,即交点处Y坐标为0时X=-(b/k)
再根据之前已知的线段两端点坐标 ...

谢谢!





欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/) Powered by Discuz! X3.2