NEW: Welcome to the Rhino 6 version of this page! Looking for the older Rhino 5 version?

### Calculate the Angle Between Two Vectors

Demonstrates how to calculate the angle between two vectors using RhinoScript.

VBScript

' Description:
'  Calculates the angle between two 3-D vectors.
' Parameters:
'   v0 - [in] - the first vector.
'   v1 - [in] - the second vector.
' Returns:
'   the angle in degrees.

Function VectorAngle(v0, v1)

Dim u0  : u0  = Rhino.VectorUnitize(v0)
Dim u1  : u1  = Rhino.VectorUnitize(v1)
Dim dot : dot = Rhino.VectorDotProduct(u0, u1)

' Force the dot product of the two input vectors to
' fall within the domain for inverse cosine, which
' is -1 <= x <= 1. This will prevent runtime
' "domain error" math exceptions.
If (dot < -1.0) Then
dot = -1.0
ElseIf (dot > 1.0) Then
dot = 1.0
End If

VectorAngle = Rhino.ToDegrees(Rhino.ACos(dot))

End Function