おまえらノリ悪いぞ。

方向ベクトル [dx,dy] を90度回転させれば [dy, -dx] になる
つまりx,yを入れ替えて片方負数にすればいい 

内積 (dx1*dx2+dy1*dy2)  90度回転させた相手との内積  (dy1*dx2-dx1*dy2)

で この比の ArcTanを取ればいいことになる。 実際にはatan2を使えば良い。