question: public double [ ] bisector ( final double [ ] a , final double [ ] b ) { double [ ] diff = subtractComponents ( a , b ) ; double [ ] sum = sumComponents ( a , b ) ; double dot = dot ( diff , sum ) ; double [ ] result = new double [ diff . length + 1 ] ; System . arraycopy ( diff , 0 , result , 0 , diff . length ) ; result [ diff . length ] = - dot / 2 ; return result ; }
target:  Perpendicular bisector of two Points. Works in any dimension. The coefficients are returned as a Point of one higher dimension (e.g., (A,B,C,D) for an equation of the form Ax + By + Cz + D = 0).