`to obtain the direction of the line, you are better to use the <? atan2((y2-y1)/(x2-x1)) ?> function, since the regular atan function will only return arguments in the half-plane, ie. if y2-y1 and x2-x1 are negative, atan will give you an angle measurement less than 90 degrees, while it really should be between 180 and 270`

# atan

(PHP 4, PHP 5)

atan — Arc tangent

### Description

float

**atan**( float`$arg`)Returns the arc tangent of * arg* in radians.

**atan()**is the complementary function of tan(), which means that

*a==tan(atan(a))*for every value of a that is within

**atan()**'s range.

### Parameters

`arg`-
The argument to process

### Return Values

The arc tangent of * arg* in radians.

User Contributed Notes

**atan****joelperr at kiwi-interactif dot com**

12-Jan-2006 01:12

**darren_wheatley at hotmail dot com**

28-Nov-2003 02:24

`Arc Tan curve manipulation.`

I used this formula to help with increasing and then diminishing return for y given an increasing x for a game.

Ie: Food production (output) is y. Food research is x.

The more research you put into x the more you produce, however after a certain point you get less reward.

y = atan(x - pi()) + pi()/2;

The + pi()/2 moves it up the y axis so you'd add more if you want it to start higher.

The x - pi() moves it to the right so you'd minus more to move it more.

If you want stretched along the y axis change it to 2 * atan( ...... )

Dunno how useful it is... but it's there.

Daz

**jmartin at columbiaservices dot net**

21-Nov-2003 08:10

`I looked for hours trying to come up with a formula to solve the direction that a line was heading (in degrees) when x1,y1 were the starting points, and x2,y2 are the ending points. Here is the equasion I was given, I hope this helps anyone in need of the same one.`

$angle = rad2deg(atan2(($y2 - $y1), ($x2 - x1)));