logo back up home forward   further reading more topics »

Maths - Polar coordinates

Note: polar coordinates is different from the topic of rotations which are covered here.
The position of a point in a plane can be represented by:
  1. Cartesian coordinates - Using two distance values on mutually perpendicular axis: P(x,y)
  2. Polar coordinates - Using a distance value and an angle: P(r,a)

Similarly a position in 3D space can be represented by:

  1. Cartesian coordinates - Using three distance values on mutually perpendicular axis: P(x,y,z)
  2. Spherical Polar coordinates - Using a distance value and two angles: P(r,a1,a2)
  3. Cylindrical Polar coordinates - Using two distance values and an angles: P(r,h,a)

For the special case of measuring the position on the surface of the earth see Geodetic (or Geographic) spatial reference frames.

Spherical polar coordinates could be thought of as being thought of as the angles being latitude and longitude and the distance being the distance from the centre of the earth. In this way any point in space can be represented (relative to the motion of the earth).

There may be other combinations for specifying a point in 3d using distances and angles. I think that any coordinate system would require at least one distance (cartographers can map a landscape using angles, but they need at least one distance to start with).

Conversion between Cartesian and Polar coordinates

Polar to Cartesian coordinates

In two dimensions:

In three dimensions:

Cartesian to Polar coordinates

In two dimensions:

Note: it is better to use the atan2(y,x) as explained here.

In three dimensions:

Polar curves

In cartesian coordinates the equation of a curve tends to be given in the following form: y=f(x).

In the polar coordinate system it is often useful to give the equation of a curve in this form r=f(a), in other words it gives the distance from the centre in terms of the angle.

Some typical curves are given below,

r = m sin(a)

r = m sin2(a)

where sin2 is sin squared

r = m cos(a)

r = m cos2(a)

r = m sin (2a)

r = m sin (3a)

r = m cos (2a)

r = m cos (3a)


metadata block
see also:

rotations

Correspondence about this page

Book Shop - Further reading.

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.

cover Mathematics for 3D game Programming - Includes introduction to Vectors, Matrices, Transforms and Trigonometry. (But no euler angles or quaternions). Also includes ray tracing and some linear & rotational physics also collision detection (but not collision response).

Other Math Books

Commercial Software Shop

Where I can, I have put links to Amazon for commercial software, not directly related to the software project, but related to the subject being discussed, click on the appropriate country flag to get more details of the software or to buy it from them.

cover us uk de SuSE Linux 10.3. Operating system with a wide range of applications including Open Office. A good distribution for developers as it contains KDevelop. Java, Mono, etc. Can install itself as a dual-boot system with an existing Windows OS if required. For information about installing it see this page.

Can you help?

Please send me any improvements to here. I would appreciate ideas to make the pages more useful including error correction, ideas for new pages, improvements to wording. It helps if you quote the full URL of the page.

 

progam

I am working on a project which uses these principles, if you would like to help me with this you are welcome to join in, here:

http://sourceforge.net/projects/mjbworld/

This site may have errors. Don't use for critical systems.

Copyright (c) 1998-2008 Martin John Baker - All rights reserved - privacy policy.