EDA365电子工程师网

标题: 求解,PCB上任意两条线交叉点坐标算法,附代码没看懂 [打印本页]

作者: fengyu6117    时间: 2015-3-26 15:27
标题: 求解,PCB上任意两条线交叉点坐标算法,附代码没看懂
本帖最后由 fengyu6117 于 2015-3-26 17:18 编辑

求大神详细解释。
A_x    直线AB的开始和终点坐标
A_y
B_x
B_y
C_x    直线CD的开始和终点坐标
C_y
D_x
D_y

denom =  (( D_y -  C_y)*( B_x -  A_x) - ( D_x -  C_x)*( B_y -  A_y))    两条直线斜率相减。


u_AB = ((( D_x -  C_x)*( A_y -  C_y) - ( D_y -  C_y)*( A_x -  C_x)) / denom)  这个是什么公式?

u_CD = ((( B_x -  A_x)*( A_y -  C_y) - ( B_y -  A_y)*( A_x -  C_x)) / denom)  这个是什么公式?

cross_x =  A_x + u_AB * ( B_x -  A_x)   交叉点X坐标   这个是什么公式?
cross_y =  A_y + u_AB * ( B_y -  A_y)   交叉点Y坐标   这个是什么公式?
    if( (u_AB >= 0.0 && u_AB <= 1.0) && (u_CD >= 0.0 && u_CD <= 1.0) then
        true_intersect_exists = t



作者: gzgl153    时间: 2015-3-26 16:13
个人表示很晕
作者: fengyu6117    时间: 2015-3-26 16:26
估计上小学的时候算这个在行
作者: Max_xwz    时间: 2015-3-27 09:55
建议楼主自己把公式推导一遍,这个也许是简化后的公式。。。也许根本就是错的。。
作者: fengyu6117    时间: 2015-3-27 16:52
是对的,可以执行




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