Introduction
So, it is worth starting with the fact that you set an incorrect condition, since the angle -
a geometric figure formed by two rays (sides of the corner), emerging from a single point (which is called the top of the corner).
In turn, the beam -
the part of the line consisting of the given point and all points lying on one side of it. Any point on the line divides the line into two beams.
In turn, one single straight line passes through 2 points => to build the angle, parts of 2 intersecting straight lines are required (with one common point) => 2 * 2 - 1 = 3 points
Thus, we get an obvious fact for all: there can be no between two points of any angle
A bit of theory
Let us briefly depart from the explanation of the geometry for the N class of the secondary school and still try to guess what you need
As I understand it, you are modeling the movement of the machine in the xOy plane. As the car moves, it has some vector that characterizes its movement.
I suppose that the car left the point (0; 0) => if its current coordinates are (x; y) , then the displacement vector is {x - 0; y - 0; } = {x; y; }
However, since you need to find the angle to rotate the car, you should use its speed vector, but you are deprived of information about it, so I assume that it is in line with the displacement vector
So. At this step, we have a vector and a point , total: 3 points . To calculate the angle is more than enough
Next, we find the direction vector from the origin to the required point and find the smallest angle between the two existing vectors ( a and b ) using the formula:
cos(α) = (a * b) / (|a| * |b|)
Example
Let's try an example:
Let the machine be located at the point (1; 2.5) , and the destination - at the point (3; 3) :

a = {1; 2.5}
b = {3; 3}
cos(α) = (1*3 + 2.5*3) / (sqrt(1*1 + 2.5*2.5) * sqrt(3*3 + 3*3)) ≈ 0.91914503001
=>
α = arccos(0.91914503001) ≈ 0.404891786 rad ≈ 23.1985905 deg
So we got the coveted angle, which is approximately equal to 23 degrees
On this course, the geometry is over, go to the software implementation
Implementation
Sketch this function:
private static double GetAngle(Point Machine, Point Destination) { // Получим косинус угла по формуле double cos = Math.Round((Machine.X * Destination.X + Machine.Y * Destination.Y) / (Math.Sqrt(Machine.X * Machine.X + Machine.Y * Machine.Y) * Math.Sqrt(Destination.X * Destination.X + Destination.Y * Destination.Y)), 9); // Вернем arccos полученного значения (в радианах!) return Math.Acos(cos); }
Judging by the values in your example, which are clearly greater than one, you use not radian , but degree measure, and therefore, the value that the function returns to you will need to be converted by the formula:
dAngle = rAngle * 180 / Pi
That is so:
// Переведем угол в градусы private static double ToDegrees(double Angle) => Angle * 180 / Math.PI;
Test:
Let the machine be located at the point (-3; -3) , and the destination - at the point (3; 3) :

Find the angle:
Console.WriteLine(ToDegrees(GetAngle(new Point(-3, -3), new Point(3, 3)))); // 180
180 degrees , which is obviously the purest truth!
Results
Try not to forget that programming consists not only of typing, but also of applying knowledge of a certain subject area with which you come into contact within the project.
Don't you know something? Read and learn as much as you can!
And yes, I emphasize that the above method will work only if your machine is straight away from the origin (i.e., the displacement vectors and velocities are co-directed), but if the machine turns around and goes to the point (0; 0), everything will break !
To solve a problem, you need to know which way the car is moving. I do not know the details of your implementation, so I can suggest to cache the previous point where the car was, and then move it to a new one. Thus, you can easily find the velocity vector of the machine at any time and apply it in the algorithm described above.