Fixed from_cartesian using atan2.