```python
import numpy as np
v1 = py5.Py5Vector(20, 20)
v1.heading = py5.radians(135)
print(v1)
# Py5Vector2D(-20., 20.)
print(v1.heading)
# 2.356194490192345
v2 = py5.Py5Vector(10, 10, 10, dtype=np.float16)
v2.heading = py5.radians(45), py5.radians(135)
print(v2)
# Py5Vector3D(-8.664, 8.664, 12.25)
print(v2.heading)
# (0.7855022650013651, 2.35546875)
v3 = py5.Py5Vector(5, 5, 5, 5, dtype=np.float16)
v3.heading = py5.radians(45), py5.radians(45), py5.radians(90)
print(v3)
# Py5Vector4D(7.07, 5., 0., 5.)
print(v3.heading)
# (0.7854515748642288, 0.7853981633974483, 1.5707963267948966)
```