I have one incoming vector and multiple outgoing vectors in 2D.
I need compute an angle in this way: Imagine an incoming vector parallel to the x-axis. Then the angle-value "starts" below the incoming vector and increases counter-clockwise.
Please see the example image:

The incoming vector is $\overrightarrow{AB}$. Outgoing vectors are $\overrightarrow{BC}$, $\overrightarrow{BD}$ and $\overrightarrow{BE}$. By the definition above: $\alpha$ is the smallest angle and $\gamma$ is the biggest angle in this situation.
The incoming vector is $\overrightarrow{FG}$. Outgoing vectors are $\overrightarrow{GH}$ and $\overrightarrow{GJ}$. $\delta <\epsilon$.
I need algorithmicaly select the outgoing vector with the smallest angle (defined above).
How can I compute this specific angle?
Translate the picture so the incoming vector ends at the origin. (Subtract the coordinates of its “tip” from every tip and tail.)
Reverse the tip and tail of the incoming vector so it has its tail at the origin.
Scale each vector by its length, so each has length 1. (Divide each point’s coordinates by the length of the vector it’s an endpoint of.)
Find the angle to the translated and scaled incoming vector measured counter-clockwise from the origin. Because it's now a unit vector with tail at the origin, its tip is at $(\cos\theta,\sin\theta)$ for a unique angle $0\le\theta<2\pi$.
Rotate everything clockwise around the origin by this angle $\theta$, using the standard rotation transformation taking $(x,y)$ to $(x\cos\theta+y\sin\theta,-x\sin\theta+y\cos\theta)$.
Now the tip of each vector is $(\cos\theta,\sin\theta)$ for a different unique angle $0\le\theta<2\pi$. These are the angles you want.