﻿ Unity Script Reference:
Mathf.Atan2
static function Atan2(y: float, x: float): float;
static float Atan2(float y, float x);
static def Atan2(y as float, x as float) as float
Description

Returns the angle in radians whose Tan is `y/x`.

Return value is the angle between the x-axis and a 2D vector starting at zero and terminating at (x,y).

Note that this function takes account of the cases where x is zero and returns the correct angle rather than throwing a division by zero exception.
```	// Usually you use transform.LookAt for this.
// But this can give you more control over the angle	var target : Transform;	function Update () {
var relative : Vector3  = transform.InverseTransformPoint(target.position);
var angle : float = Mathf.Atan2(relative.x, relative.z) * Mathf.Rad2Deg;
transform.Rotate (0, angle, 0);
}
```
```using UnityEngine;
using System.Collections;

public class Example : MonoBehaviour {
public Transform target;
void Update() {
Vector3 relative = transform.InverseTransformPoint(target.position);
float angle = Mathf.Atan2(relative.x, relative.z) * Mathf.Rad2Deg;
transform.Rotate(0, angle, 0);
}
}
```
```import UnityEngine
import System.Collections

public class Example(MonoBehaviour):

public target as Transform

def Update() as void:
relative as Vector3 = transform.InverseTransformPoint(target.position)
angle as float = (Mathf.Atan2(relative.x, relative.z) * Mathf.Rad2Deg)
transform.Rotate(0, angle, 0)

```