# Find angle between two gameobjects?

I know this has been asked a lot, but the only answer I see is Vector3.Angle, I don’t want to use that. I’m making a graphing calculator, I have everything working fine, except I can’t find what angle the graphed line is. I’m using this function to try to calculate it:

``````void CalculateAngle(GameObject x, GameObject y) {
float xDis = y.transform.position.x - x.transform.position.x;
float yDis = y.transform.position.y - x.transform.position.y;

Debug.Log(xDis + " : " + yDis);
}
``````

The gameobects that is calls for are the first two plotted points of a line(my calculator only supports straight lines for now), I want to find the angle between those them, then spawn a long, thin cube at their position at that angle to draw the line. I thought I was onto something with that code, but I have no idea what it was. I really need some help with this, I’m not too good with math and this is hurting my brain.

Also, incase it matters, I’m not using the z axis.

To begin with, as @McAden says, you can just draw a line using the LineRenderer class. More information on drawing lines here:

http://www.everyday3d.com/blog/index.php/2010/03/15/3-ways-to-draw-3d-lines-in-unity3d/comment-page-1/

Plus if you are willing to spend some \$, Vectrosity makes your task of drawing a line for your calculator trivial.

If you really want the angle. You can use Mathf.Atan2(). I really suggest a better name for your two game objects, but you can calculate the angle like:

``````Vector3 dir = y.position - x.position;
float angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg;
``````

As for placing a quad between two points, you can do it this way:

``````var dir = x.position - y.position;
var mid = (dir) / 2.0 + x.position;