To calculate an angle from a triangle's sides.
Use the 'law of cosines' :
<?php
// aÂ_+bÂ_-cÂ_
// cosC = --------
// 2ab
function calculateAngle($c,$a,$b)
{
$angleInRadians=acos((pow($a,2) + pow($b,2) - pow($c,2)) / (2 * $a * $b));
return rad2deg($angleInRadians);
}
?>
$a, $b, $c are the triangle sides.
The function returns the angle opposite side c, in degrees.
acos
(PHP 4, PHP 5)
acos — Arc cosine
Description
float acos ( float $arg )
Returns the arc cosine of arg in radians. acos() is the complementary function of cos(), which means that a==cos(acos(a)) for every value of a that is within acos()' range.
Parameters
- arg
-
The argument to process
Return Values
The arc cosine of arg in radians.
User Contributed Notes
acos
acos
anthony at interiorgoodsdirect dot com
05-Dec-2007 01:28
05-Dec-2007 01:28
zoltan dot szentesi at nokia dot com
06-Aug-2006 10:29
06-Aug-2006 10:29
Wondering what is the use of 'acos' function?
It is essential in games, animations and drawings to determine the location of two objects relating to each other.
To the point: the angle of two vectors is calculated by
v1X*v2X + v1Y*v2Y
acos(--------------------------)=angle between two vectors.
|v1| * |v2|
|v1| and |v2| are the length of the vectors and calculated using Pithagoras-formula: |v1|=sqrt(v1X*v1X + v1Y*v1Y)
This helped me to calculate and share given space for 'n' amount of objects so that they don't overlap.
Enjoy! :-)