Another service from Omega

Problem 3



Show that if u and v are vectors then
|v| u + |u| v

bisects the angle between u and v.

First notice that we only need to show that (u+v) bisects the angle between u and v when |u|=|v|=1. The general case will follow from here, for if the result is true for vectors of length 1 then,

(u/|u|) + (v/|v|)

will bisect the angle between u/|u| and v/|v| which is the same as the angle between u and v (we are only changing their lengths). Also, if a vector b bisects an angle then so does any scalar multiple of it. Thus, multiplying by (|u|*|v|) we obtain the original result.

OK but we still need to show that u+v does the trick. That is not difficult to see. We loose no generality if we choose a coordinate system where:

i=u, and j on the plane containing u and v

> u := vector([1,0]); v := vector([cos(t),sin(t)]);

                                 u := [ 1, 0 ]

                            v := [ cos(t), sin(t) ]

The vector v forms an angle of "t" with u,

> angle(u,u+v);

                                      1 + cos(t)
                                          2         2 1/2
                             ((1 + cos(t))  + sin(t) )

so this is the angle between u and u+v... is this t/2 ? First, simplify with trig,

> ang := simplify(",trig);

                                          1 + cos(t)
                        ang := arccos(-----------------)
                                      (2 + 2 cos(t))

we are getting there... but not yet. Now let's use the formula for cos(t) in terms of cos(t/2). Let's make s=t/2 and simplify.

> ang := subs(t=2*s,ang);

                                         1 + cos(2 s)
                       ang := arccos(-------------------)
                                     (2 + 2 cos(2 s))

> ang := arccos(expand(cos(ang)));

                                           1/2       2
                                          4    cos(s)
                        ang := arccos(1/2 ------------)
                                                 2 1/2
                                          (cos(s) )

> simplify(");

                          arccos(csgn(cos(s)) cos(s))

The inside of arccos is nothing but |cos(s)| and since we are assuming that 0 < s < Pi/2, the above is just s.

Link to the commands in this file
Carlos Rodriguez <>
Last modified: Wed Oct 23 11:39:01 EDT 1996