- i quickly talked with Tom and realized that it's not necessary that points has to form a polygone. They can be just a lots of points located on the same plane. so I'll rename it to `rotatePointsToXY()`. 
- Following Tom's suggestion, I'll restructure rotation functionalities in AnalyticalGeometry.h so that there will be a function to calculate a rotation matrix and a function to rotate points with a given rotation matrix.