Javascript 如何找到相对于旋转的一组坐标?

Javascript 如何找到相对于旋转的一组坐标?,javascript,canvas,Javascript,Canvas,如何找到相对于已旋转点的位置?我的想法是,我在一个特定的位置旋转一个实体,并且需要能够找到一个相对于该实体旋转的位置,这样相对于旋转的实体上方的10个单位不同于实体正上方的10个单位。希望这个图表能让你明白我的意思: 注意:我使用纯Javascript在标记中执行此操作 另外请注意:我刚刚完成代数,只做了一点三角学和一些几何,所以请把你的解释解释得比较清楚。Sin、cos和切线才刚刚开始有意义,前几天为了使用的旋转函数(谢谢,维基百科!),我不得不自己查找弧度的概念 还要注意的是:我自己也试过

如何找到相对于已旋转点的位置?我的想法是,我在一个特定的位置旋转一个实体,并且需要能够找到一个相对于该实体旋转的位置,这样相对于旋转的实体上方的10个单位不同于实体正上方的10个单位。希望这个图表能让你明白我的意思:

注意:我使用纯Javascript在
标记中执行此操作

另外请注意:我刚刚完成代数,只做了一点三角学和一些几何,所以请把你的解释解释得比较清楚。Sin、cos和切线才刚刚开始有意义,前几天为了使用
的旋转函数(谢谢,维基百科!),我不得不自己查找弧度的概念


还要注意的是:我自己也试过查这个(谷歌,所以,其他地方),但不知道正确的术语,我找不到任何东西。我相信这一定很简单,但对我来说也可能是希腊语。

如果你知道如何旋转正方形,你就知道如何旋转向量。
如果你所寻找的是一个点,它距离一个点
(x,y)
成角度
θ
,在顺时针方向,从正y轴开始,以该点为原点,那么你用
正方形(25,25)
,用
向量(25,15)
做什么,点由
(x+d*cos(π/2-θ),y+d*sin(π/2-θ))

你可以用向量和矩阵来表示。假设25,10的方向是立方体的前向向量。所以你可以把旋转矩阵应用到这个向量上,这是将这个向量乘以旋转矩阵,旋转矩阵是你需要的旋转度。这将返回你的相对位置。希望这是清楚的。我不是JavaScript专家。但我相信你可以使用一些向量数学API。 您必须执行以下步骤:

在旋转之前,计算从立方体位置到所需偏移的矢量

计算具有一定旋转度的旋转矩阵

将该向量乘以旋转矩阵,得到新的旋转向量


我找到了JavaScript向量数学库。看看矩阵对象。它有一个向量乘法的方法。

您的描述不清楚-旋转发生在轴/点周围。现在还不清楚你的轴心是什么。每个正方形是否围绕原点旋转?还是围绕它自己的中心?另外,45度不是一个好例子,因为它看起来可能是从任何一边。这就引出了我的最后一点——旋转是有方向的,你没有弄清楚旋转的方向。啊,轴就是正方形的中心。哦,好的。也许35度可以解释我的观点。我想我已经说清楚了,我用我的图表把正方形向右旋转了45度,不是吗?我想很明显,我不熟悉旋转不太可能,因为y轴的45度“右”可以是x轴的45度“左”,这就是为什么选择较小的角度会更好。啊,好的。所以,我要修改我的图表——谢谢你提供的信息。你忘了平移的最后一步。我该如何将向量乘以旋转矩阵呢?如果他平移立方体,那么他可以使用向量加法重新计算正向向量:)我相信这就是我需要的。谢谢