Re: Documentation fix regarding atan2

From: "Andrew Maclean" <a(dot)maclean(at)cas(dot)edu(dot)au>
To: "'Bruno Wolff III'" <bruno(at)wolff(dot)to>
Cc: <pgsql-general(at)postgresql(dot)org>
Subject: Re: Documentation fix regarding atan2
Date: 2007-09-05 03:24:44
Message-ID: 007201c7ef6c$4e265570$670711ac@acfr.usyd.edu.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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-----
From: Bruno Wolff III [mailto:bruno(at)wolff(dot)to]
Sent: Wednesday, 5 September 2007 12:34
To: a(dot)maclean(at)cas(dot)edu(dot)au
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: [GENERAL] Documentation fix regarding atan2

On Wed, Sep 05, 2007 at 10:37:18 +1000,

Andrew Maclean <andrew(dot)amaclean(at)gmail(dot)com> 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.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2007-09-05 03:25:23 Re: Documentation fix regarding atan2
Previous Message Gregory Stark 2007-09-05 03:11:26 Re: Controlling locale and impact on LIKE statements