旋转移动数学公式
2026/7/21 17:56:33 网站建设 项目流程

旋转移动数学公式

一 数学公式

/// <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);}

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询