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
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.

darren_wheatley at hotmail dot com ¶
9 years ago
joelperr at kiwi-interactif dot com ¶
7 years ago
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
jmartin at columbiaservices dot net ¶
9 years ago
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)));