Well the thing you probably missed was that while this vector (1,1,0) has two components that are 1 unit long, its entire length is the square root of both components squared, which is in this case about 1.41 (Sqrt(2)). When the vector is normalized this whole length is shortened to 1 and the components become shorter than 1 unit.

Your example:

Starting vector: (1,1,0), length = 1.41

Normalized: (0.7,0.7,0), length = 1

Times two: (1.4,1.4,0), length = 2 (times your circle’s radius)

Ahhhhhhhhh This is what I enjoy about JME3 and the community - I learn something new every day.

Thank you both for the solution and the explanation. I understand perfectly now although I think completing the Khan Academy Geometry and Trigonometry courses would be a smart move on my part. School was a long time ago for me

You could use interpolate, I dont like this function because it changes the parameter, but you can allways look at the code and create an similar function:

Vector3f va = new Vector3f(0,2,0);
Vector3f vb = new Vector3f(2,0,0);
Vector3f vc = va.clone().interpolate(vb, 0.5f).normalize().mult(va.length());

But interpolate is the slow way to go in this case. If you want a midpoint then just take the midpoint:
va.add(vb).divide(2).normalize().mult(va.length())