When using the trigonometric method and the vector method, all of the xVel and yVel ranges from 0.4 to 0.9. If I increase my speed, I would get a more accurate range of 1.0 to 1.5, but it causes the dot pixel to jump around. Other than the jumping, the direct path movement for speed more than 5 is correct.
Due to the way I set my speed to 1 pixel per tick, 60 ticks per second, I have to click multiple times in order for the program is obtain a number larger than 1.0, which by that point, the dot then moves.
I even tried adding a new thread to do the calculations in case the reaction time is less than par, but then it complicates things; I have discarded it.
Here's my next theory:
What if I add this:
xa -= (xm * Math.cos(rot) + ym * Math.sin(rot)) * speed; ya -= (ym * Math.cos(rot) - xm * Math.sin(rot)) * speed;
Where rot is the angle from Point 2 to Point 1 in radians, xm and ym are the directional vectors for Point 1 and Point 2, xm for X axis, ym for Y axis, and the xa and ya are the acceleration for the dot.