csUSDomainPlugin.Effects.Util.DirectionTool.RotatePoint C# (CSharp) Method

RotatePoint() public method

public RotatePoint ( MapPoint point, MapPoint origin, float angle ) : MapPoint
point MapPoint
origin MapPoint
angle float
return MapPoint
        public MapPoint RotatePoint(MapPoint point, MapPoint origin, float angle)
        {
            MapPoint ret = new MapPoint();
//            ret.X = (float)(origin.X + ((point.X - origin.X) * Math.Cos((float)angle)) - ((point.Y - origin.Y) * Math.Sin((float)angle)));
//            ret.Y = (float)(origin.Y + ((point.X - origin.X) * Math.Sin((float)angle)) - ((point.Y - origin.Y) * Math.Cos((float)angle)));
            var sin = Math.Sin(angle);
            var cos = Math.Cos(angle);
            ret.X = (point.X*cos) - (point.Y*sin);
            ret.Y = (point.X*sin) + (point.Y*cos);

            point.X = ret.X;
            point.Y = ret.Y;

            return point;
        }
    }