# New trig function ‘atan2’ in PropertyWizard V1-8-2

PropertyWizard 1-8-2 includes an extra inverse tan function, ‘atan2’:

`atan2(<y-value>, <x-value>)`

The new function allows you to calculate the angle of a line from the line’s Y and X components (note the order of the arguments!) and it will return angle values from -π to +π radians (-180 to +180 degrees).

This is more versatile than the existing function ‘atan’, which can only return angles from -π/2 to +π/2 radians (-90 to +90 degrees).

The reason for the difference is shown in the plot of the tan function:

The single input to the atan function is a value on the y-axis. The function does not have enough information to tell which of the red curves to use for the calculation, so it chooses the one nearest the y-axis. Meaning it can only return x-axis values between -π/2 and +π/2.

In contrast, the two inputs to the atan2 function give it more information – it can tell which quadrant of the circle the relevant line lies in, and so it can return values between -π and +π:

## Why are the arguments in the ‘wrong’ order?

The input arguments to the new atan2 function seem to be in the ‘wrong’ order – Y and then X. This might seem illogical at first glance, but it makes some sense when you notice that:

```tan(angle) = Y/X
angle = atan(Y/X)```

This order also matches the underlying C# Math.Atan2(Double, Double) method and the Python math.atan2(y, x), so it will be familiar to people coming from those backgrounds.

This site uses Akismet to reduce spam. Learn how your comment data is processed.