平面内两条线平行条件:
平行线的k斜率相等: l1: y= kx+b; l2: y =kx+c
两条互相垂直的直线,其斜率是互为负倒数.
即 k1=-1/k2.
或 k1·k2=-1.
相交点坐标
a为跟随移动的点,c为固定点,move为移动点,求过一点d与直线垂直的交点? ps: y = kx + b , 已知两点求ac bc所在直线方程 y = -x/k +b2 直线垂线方程
let k1 = (a.y-c.y)/(a.x- c.x);
let b1 = c.y-(a.y-c.y)/(a.x- c.x)*c.x;
let b2 = move.y + move.x/k1
let d = {};
d.x = (b2/k1 - b1/k1)/(1+(1/Math.pow(k1,2)));
d.y = k1*d.x+b1;
以上方式是也是对已知一固定点c,c两端延伸出两条线段并且垂直,move点跟随鼠标移动,那么未知点有两个a和b以上求出了d,即是a移动后的点新位置坐标那么b怎么求,同理如下:
// 求 e
let k2 = (b.y-c.y)/(b.x- c.x);
let b3 = c.y-(b.y-c.y)/(b.x- c.x)*c.x;
let b4 = move.y + move.x/k2
let e = {};
e.x = (b4/k2 - b3/k2)/(1+(1/Math.pow(k2,2)));
e.y = k2*e.x+b3;
实践可用靠谱