bisector:=proc(a,b,c,d) local x, y, # x-y expresions of param rep mx, my, run, rise; mx := (a+c)/2; my := (b+d)/2; run := -(d-b); rise := (c-a); x := mx + t * run; y := my + t * rise; RETURN([x,y]); end; # bisector inter := proc(L1, L2) local subsL2, eq1, eq2, sol; subsL2 := subs(t=s, L2); eq1 := op(1, L1) - op(1, subsL2); eq2 := op(2, L1) - op(2, subsL2); sol := solve({eq1, eq2}, {s, t}); RETURN(subs(sol, L1)); end; # inter