A Cartesian coordinate system is generally assumed i.e there exists an
x-y coordinate system so there is an inherent ordering property here. Regarding atan2, this makes interesting reading: http://en.wikipedia.org/wiki/Atan2 All I am asking is the documentation for atan2 conform with the correct
definition. You are actually using atan2(y,x) in postgresql. The inverse tangent is defined as arctan(y/x). Hence
atan2 should be atan2(y,x) to be consistent with this definition. This conforms
with C++, C usage. Andrew -----Original Message----- On Wed, Sep 05, 2007 at 10:37:18 +1000, Andrew Maclean <andrew.amaclean@xxxxxxxxx> wrote: > In Table 9.4 of the documentation atan2 is described as follows: > atan2(*x*, *y*) inverse tangent of *x*/*y* > > I am sure it should read as: > atan2(*y*, x) inverse tangent of y/x Aren't those two statements sayiong the same thing? You've just switched the names 'x' and 'y' and not changed their
relationships. > > > You can easily test this: > If y = 2, x = 1, then degrees(atan(y/x)) =63.4 but if we proceed
according > to the documentation; degrees(atan2(x,y))=degrees(atan2(1,2))=25.6
which is > not the same as degrees(atan(y/x)). In this example you switched things around part way thorugh. atan2(1,2) is the atan of (1/2), not atan(2/1) as used at the beginning of the
example. > So it must be degrees(atan2(y,x))=degrees(atan2(2,1))=63.4. |