C# 点绕某点旋转某角度

来源:互联网 发布:网络上粑粑什么意思 编辑:程序博客网 时间:2024/05/19 09:13
[csharp] view plaincopyprint?
  1. /// <summary>  
  2. /// 以中心点旋转Angle角度  
  3. /// </summary>  
  4. /// <param name="center">中心点</param>  
  5. /// <param name="p1">待旋转的点</param>  
  6. /// <param name="angle">旋转角度(弧度)</param>  
  7. private void PointRotate(Point center, ref Point p1, double angle)  
  8. {  
  9.     double x1 = (p1.X - center.X) * Math.Cos(angle) + (p1.Y - center.Y) * Math.Sin(angle) + center.X;  
  10.     double y1 = -(p1.X - center.X) * Math.Sin(angle) + (p1.Y - center.Y) * Math.Cos(angle) + center.Y;  
  11.     p1.X = (int)x1;  
  12.     p1.Y = (int)y1;  
  13. }  
0 0
原创粉丝点击