Code:
Vector2D VDirection;
Vector VDir3D,VSide;
VDir3D.x = VDirection.x;
VDir3D.y = VDirection.y;
VDir3D.z = 0;
VSide = CrossProduct(VDir3D,Vector(0,0,1));
not tested, but it should look somewhat similar
the crossproduct of 2 vectors is perpendicular to both arguments and the length of the result is |length1| * |length2| * sin phi where phi is the angel between the arguments ...