Say I have a centre of rotation at C(x, y, 1 <= z <= 1.5). I need to define a unit normal vector to this. I know it's a length of 1 and this means there's a sphere of radius 1 at the origin so I can get the beginnings of a spherical coordinate system, but I'm a little unclear on how to work that out from there as I don't have the angle or elevation or whatever.

Some advice would be appreciated!

To define a unit normal vector at a center of rotation C(x, y, z), you can use the concept of spherical coordinates.

In spherical coordinates, a point is represented by three quantities: the radius (r), the inclination angle (θ), and the azimuth angle (φ).

Since you already know that there is a sphere of radius 1 at the origin, you can assume that the radius (r) of your point is also 1.

To determine the inclination angle (θ) and azimuth angle (φ), you need more information about the location of the point relative to C(x, y, z). Let's assume you have the coordinates of a point P(x', y', z').

First, calculate the differences between the coordinates of P and C:

Δx = x' - x
Δy = y' - y
Δz = z' - z

Next, you can calculate the inclination angle (θ) and azimuth angle (φ) using the following formulas:

θ = arccos(Δz / √(Δx^2 + Δy^2 + Δz^2))
φ = arctan(Δy / Δx)

Note that the arccos function returns the angle in radians and arctan returns the angle in radians, which you can convert to degrees if necessary.

Using these calculations, you can obtain the inclination angle (θ) and azimuth angle (φ) for your unit normal vector at the center of rotation C(x, y, z).