繁体   English   中英

旋转形状时如何计算形状中的点

[英]How to calculate points in a shape when shape is rotated

我有一堆不同的形状,在这些形状上有20个点以网格形式布置。 我要弄清楚的是,当形状旋转时,如何计算这些点的位置,形状可以从形状的中心旋转任意角度。 这些点从形状的左上方放置。

在此处输入图片说明

在此处输入图片说明

这是几个形状的示例,这些形状带有随着旋转形状我想要能够计算的点。 我在0度时具有所有形状的所有x / y坐标。 我正在构建一个JavaScript应用程序,因此,如果有人在JavaScript中具有与此相关的任何功能,那就太好了,或者您可以将我带到具有某些资源的某个地方。

要将点(Xold,Yold)绕中心点(Xc,Yc)逆时针旋转角度,可以使用复杂的仿射变换 ,包括从旋转中心到原点的平移,围绕原点的旋转以及向后平移。 结果公式:

Xnew = Xc + (Xold - Xc) * Cos(Angle) - (Yold-Yc) * Sin(Angle)
Ynew = Yc + (Xold - Xc) * Sin(Angle) + (Yold-Yc) * Cos(Angle)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM