# Is it possible to define a coordinate system with 3 angles and no radii?

In Cartesian coordinates, a point or vector is defined with an x distance or magnitude, a y distance or magnitude, and in 3 dimensions, a z distance or magnitude.

In 2 dimensional polar coordinates, a point or vector is defined by a radius and an angle.

In 3 dimensions, we have cylindrical coordinates and spherical coordinates.

In cylindrical coordinates, we have a vertical distance for a point or vector, and an angle and radius for the "circle" in the cylinder.

In spherical coordinates, we have two angles and one radius.

But is it possible for a coordinate system to be defined with three angles and no radius?

• This is possible though if the radius is constant, sailor navigators used only-angles relative coordinates for ages for instance. But even though the radius was not constant, but constrained in a given range, you can take a far distant point (a star) as a reference point to calculate angles.
– zwim
Apr 15, 2021 at 16:30

## 3 Answers

Working on $$\mathbb{R}^3$$:

Yes, but not with them all being angles around the same point.

For example, fix some point $$y$$ in $$\mathbb{R}^3$$ other than the origin $$O$$. Then the following data uniquely define a point $$x$$ in $$\mathbb{R}^3$$:

1. The standard two angles $$\theta(x)$$ and $$\varphi(x)$$ from spherical geometry.
2. The angle $$\psi(x)$$ between the line through $$O$$ and $$y$$ and the line through $$x$$ and $$y$$.

Proof of the above:

The angles $$\theta(x)$$ and $$\varphi(x)$$ pin $$x$$ to being on some ray with endpoint $$O$$, as in spherical coordinates. We can relate the distance from $$x$$ to the origin to the angle $$\psi(x)$$ bijectively (consider the triangle between $$O$$, $$x$$, and $$y$$).

Proof that you cannot have all three angles around the same point:

Without loss of generality, that point is $$O$$ (else translate so that it is). If $$x$$ is a scalar multiple of $$y$$, then for all points $$z$$, the angles $$xOz$$ and $$yOz$$ are equal, so no such arrangement can distinguish $$x$$ and $$y$$.

• With this method the points along the line $Oy$ cannot be uniquely determined.
– user
Apr 16, 2021 at 9:44
• @user Oops, yes. To fix that, we need all three angles to be around different points. Apr 17, 2021 at 19:12
• In this case the angles will not be independent anymore.
– user
Apr 17, 2021 at 19:39
• @user No, but do we need them to be independent? Is that something we require to call something a system of coordinates? Apr 17, 2021 at 19:48
• I would say that it is highly desirable that the coordinates are independent. But before you present the coordinate system in details it is hard to say if it has other shortcomings as well.
– user
Apr 17, 2021 at 20:01

The question is a bit vague, coordinate system in particular would need a proper definition to give a rigorous answer.

But essentially the answer is yes. Imagine your space is a circle. Then a coordinate system is just an angle. You can generalise this to $$n$$ dimensions in at least two ways. You can take the product of $$n$$ circles, an $$n$$-torus, where natural coordinates are $$n$$ angles, or you can take the $$n$$-sphere, where again you can use $$n$$ angles as coordinates (that may be hard to visualise, but a 2-sphere is easy, and the angle are latitude and longitude).

Or you could decide you are work with conformal quantities - essentially you are defining an equivalence relation so that only angle matters and points along the same direction are identified (this is pretty loosely stated, look up conformal geometry or conformal transformation of a metric tensor if you are interested).

I propose a "goniometric" solution obtained by placing "observers" on the 3 axes. See figure below.

Let $$O$$ be the origin of coordinates.

Let us install "observers" in $$X(1,0,0), Y(0,1,0), Z(0,0,1)$$ resp.

Let us name

$$\alpha_x:=OXM, \ \ \alpha_y:=OYM, \ \ \alpha_z:=OZM$$

the deflection angles (wrt to origin $$O$$) under which a point $$M(x,y,z)$$ is seen from points $$X,Y,Z$$ resp.

Let $$c_x:=\cos(\alpha_x), \ \ c_y:=\cos(\alpha_y), \ \ c_z:=\cos(\alpha_z).$$

Let us consider the case of angle $$\alpha_x$$. We have:

$$\vec{MO}\begin{pmatrix}1\\0\\0\end{pmatrix}, \ \ \ \ \vec{MX} \begin{pmatrix}x-1\\y\\z\end{pmatrix}$$

Let us express in two ways the dot product $$\vec{MO}.\vec{MX}$$ :

$$1.(x-1)+0.y+0.z=c_x\sqrt{(x-1)^2+y^2+z^2} \tag{1}$$

Squaring (1), we obtain:

$$(c_x^2-1)(x-1)^2+(y^2+z^2)c_x^2=0 \ \iff \ y^2+z^2=t^2_x (1-x)^2$$

where $$t_x=\tan \alpha_x.$$

What has been done with angle $$\alpha_x$$ can be done in exactly the same way for the two other angles, yielding a system of 3 equations with 3 unknowns:

$$\begin{cases}&&y^2&+&z^2&=&t_x^2(1-x)^2 \ \ (a)\\x^2&+&&&z^2&=&t_y^2(1-y)^2 \ \ (b) \\x^2&+&y^2&&&=&t_z^2(1-z)^2 \ \ (c)\end{cases}\tag{2}$$

Let us now add resp. $$x^2$$ to (a), $$y^2$$ to (b), $$z^2$$ to (c), giving system (3), equivalent to system (2):

$$x^2+y^2+z^2=p(x)=q(y)=r(z) \ \ \text{with} \ \ \begin{cases}p(x)&:=&x^2+t_x^2(1-x)^2\\ q(y)&:=&y^2+t_y^2(1-y)^2\\ r(z)&:=&z^2+t_z^2(1-z)^2 \end{cases}\tag{3}$$

Geometrical interpretation of (3): As

$$p(x)=q(y), \ \ \ \ q(y)=r(z), \ \ \ \ r(z)=p(x)$$

are the equations of 3 hyperbolic cylinders (see figure) with orthogonal directing lines, (3) means that $$M(x,y,z)$$ is at the intersection of these cylinders.

One obtains in this way a finite number of solutions $$(x,y,z)$$ (more exactly at most $$8$$ solutions).

Spurious solutions have been introduced by squaring(s). Therefore, it remains to find out which of these solutions fulfill the original equations, such as (1). In this way one gets a unique solution.

Fig. 1: The 8 cylinders' triple intersections are visible at the top and bottom of the image. Only one of them (point $$M$$) is valid.

Appendix: For readers interested by the Matlab program I have written for this figure:

clear all;close all;hold on;axis equal off;
set(gcf,'color','w');
a=3;I=-a:0.2:a;
[x,y,z]=meshgrid(I);
axis([-a,a,-a,a,-a,a]);
M=[2.4,2.69,3];plot3(M(1),M(2),M(3),'ok');
tx=1.3;ty=0.8;tz=0.1;
p=x.^2+tx^2*(1-x).^2;
q=y.^2+ty^2*(1-y).^2;
r=z.^2+tz^2*(1-z).^2;
for k=1:3;
if k==1;s=p-q;end;
if k==2;s=q-r;end;
if k==3;s=r-p;end;
[faces,verts,colors] = isosurface(x,y,z,s,0,abs(z));
patch('Vertices',verts,'Faces',faces,'FaceVertexCData',colors,...
'FaceColor','interp','EdgeColor','none');
end;
view(55,16);alpha(0.2);
plot3([1,0,0,0,0],[0,0,1,0,0],[0,0,0,0,1]);
b=1.2;c=-0.25;d=0.2;text([c,b,0,0,M(1)+d],[c,0,b,0,M(2)+d],...
[0,0,0,b,M(3)],{'O','X','Y','Z','M'});

• I have added a figure with an example. Apr 16, 2021 at 11:51
• I don't have matlab. Can you translate it to Java, Python, C++, R, or any other language that has open source graphics libraries? Oct 28, 2021 at 13:58