Bounding sphere projected height on screen

That might be because of your last two operations in the h and h_apparent computations. Performing such things on the vector3s instead of the plain .y component of the initial vector3 doesn’t seem like the right choice, and getting the .length() neither. In other words, you’re looking for scalar values here, and the only component of interest is the projected Y one… :thinking:

There is always a solution. Projecting all vertices would probably work as well, but depending on their number (and the number of segments in the shape), it can be a bit intensive, and logically it’s overkill to do that when all you need are just 2 points. A slightly related approach (with a different objective than yours, mainly to center and fit an cube on the screen) is illustrated in the fiddle from this post.

That indeed looks strange, not entirely sure what would be the cause. I’ll try to rewrite this in a fiddle and see what can be done about it. By the way, you want the little A and B spheres to be in the screen space or in 3D space?