Update--4/1/11
Just running Mathf.Cos(45) returns 0.525322, when WebMath and my desktop calculator say its suppose to be 0.70710.
Debug.Log(Mathf.Cos(45));
Simplified code
var Point_A:Vector2 = Vector2(0,0);
var Point_B:Vector2 = Vector2(5,5);
var dir_a_to_b:Vector2 = (Point_B - Point_A);
var Angle_A:float = Vector2.Angle(dir_a_to_b, Vector2(1,0));
var Angle_C:float = 90.0;
var hypo:float = Vector2.Distance(Point_A, Point_B);
var adj:float = hypo * Mathf.Cos(Angle_A);
Debug.Log(Mathf.Cos(Angle_A));
I'm trying to calculate a right angle triangle but my math keeps coming back wrong.
//this cube sits at (0,5,0) but everything should be calculated on the x and z axis...so (0,0)
Cube_From = GameObject.Find("Cube_From");
Cube_From.renderer.material.color = Color.white;
//this cube sits at (0,5,5) or (0,5). Its 5 units down Cube_From's axis and is blue...so (0,5)
Cube_Z = GameObject.Find("Cube_Z");
Cube_Z.renderer.material.color = Color.blue;
//the angle between Cube_From to Cube_Z which returns 0.
CF_CZ = Vector2.Angle((Vector2(Cube_Z.transform.position.x,Cube_Z.transform.position.z) - Vector2(Cube_From.transform.position.x,Cube_From.transform.position.z)), Cube_From.transform.up);
//this cube sits at (5,5,5) or (5x,5z)
Cube_XYZ = GameObject.Find("Cube_XYZ");
Cube_XYZ.renderer.material.color = Color.yellow;
//get the angle of the opposite...should be 45
CF_CXYZ = Vector2.Angle((Vector2(Cube_XYZ.transform.position.x,Cube_XYZ.transform.position.z) - Vector2(Cube_From.transform.position.x,Cube_From.transform.position.z)), Cube_From.transform.up);
//get the lenght of the hypotenuse
hypo = Vector2.Distance(Vector2(Cube_From.transform.position.x,Cube_From.transform.position.z), (Vector2(Cube_XYZ.transform.position.x,Cube_XYZ.transform.position.z)));
//get the length of side_a
Side_A = Vector2.Distance(Vector2(Cube_From.transform.position.x,Cube_From.transform.position.z), (Vector2(Cube_Z.transform.position.x,Cube_Z.transform.position.z)));
//Calculate the adjacent/side a
adj = hypo * Mathf.Cos(CF_CXYZ);
My math is really rusty so I'm not sure if the calculation is simplified correctly.
Wikipedia says Cos A = adj/hypo and WebMath says its simplified to adj = hypo*Cos(A) but i don't get 5 when unity calculates it. I get 3.7 ish in length.