Quote
Normalization is required
I won't outright say you're wrong, because I always want to allow for the possibility that I'm the one who's in error. But I think you're mistaken.
The algorithm in question is a spherical coordinate conversion. The first thing to note is that polar coordinates lie on a circle. Spherical coordinates can be thought of as the 3-d corollary. If that's accurate, then spherical coordinates (at least in the form under consideration here) lie on a sphere, in which case no normalization is needed (in the OP's case, the radial distance is implicitly 1).
Here's another way to think about it. If we start with:
x = cp*cy
y = sp
z = cp*sy
Where c = cos, s = sin, y = yaw, and p = pitch, then the coordinate when yaw = 0 is:
x = cp
y = sp
z = 0
Clearly this is unit-length. Intuitively, rotating the vector around the yaw axis shouldn't change the length. This is further evidence that normalization isn't needed.
This page includes an applet that might be illustrative. It allows you to change the spherical coordinate parameters and see visually (sort of) that the point always lies on the same sphere.
We should also be able to show mathematically that normalization isn't required. If the result is in fact always unit-length, then this should be true:
cp*cp*cy*cy + cp*cp*sy*sy + sp*sp = 1
We know that:
ct*ct + st*st = 1
Where t is an angle theta (y or p in this case). Further:
cp*cp*cy*cy + cp*cp*sy*sy = cp*cp(cy*cy+sy*sy) = cp*cp*1 = cp*cp
Therefore:
cp*cp*cy*cy + cp*cp*sy*sy + sp*sp = cp*cp + sp*sp = 1
Not to be contrary, but I'm not sure merely asserting that normalization is required is sufficient here. I think for the benefit of the OP and other readers, a link to a source or an explanation of what you mean would be helpful. (It's possible, for example, that we're actually talking about different things, which does sometimes happen in these sorts of discussions.)