added cartesian and polar structs and a cartesian to polar and polar to cartesian functions