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
atan
joelperr at kiwi-interactif dot com
12-Jan-2006 01:12
12-Jan-2006 01:12
darren_wheatley at hotmail dot com
28-Nov-2003 02:24
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
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)));