VP引导定位软件-定位纠偏(带角度)
/// <summary>/// 计算物理旋转之后点xy的变化/// </summary>/// <param name="x0">图像物体上一点的x</param>/// <param name="y0">图像物体上一点的y</param>/// <param name="centerx">图像物体的中心x</param>/// <param name="centery">图像物体的中心y</param>/// <param name="angle"></param>/// <returns></returns>publicVector2RotatePoint(floatx0,floaty0,floatcenterx,floatcentery,floatangle){// 将角度转换为弧度angle=(float)(angle*Math.PI/180);// 计算旋转后的坐标floatx=(float)((x0-centerx)*Math.Cos(angle)-(y0-centery)*Math.Sin(angle)+centerx);floaty=(float)((x0-centerx)*Math.Sin(angle)+(y0-centery)*Math.Cos(angle)+centery);// 返回旋转后的坐标returnnewVector2(x,y);}// 定义 Vector2 结构体用于返回坐标publicstructVector2{publicfloatX{get;}publicfloatY{get;}publicVector2(floatx,floaty){X=x;Y=y;}}privatevoidbutton1_Click(objectsender,EventArgse){Vector2xy=RotatePoint(1000f,1200f,2000f,2000f,10f);MessageBox.Show("旋转后的点坐标:"+" x:"+xy.X+" y:"+xy.Y);}