【发布时间】:2017-11-19 11:28:29
【问题描述】:
我有一个这样的矩形......
...而且我也知道矩形的角位置,如下面的数组:
var corners = [[107, 0], [0, 21], [111, 24], [4, 45]]
因为我需要计算矩形的角度,就像我在上图中用符号表示的那样,所以我的想法是只使用以下代码:
var rectangle_angle = ((180/Math.PI) * Math.atan((a[1] - b[1]) / (a[0] - b[0]))).toFixed(2)
console.log('angle : ' + rectangle_angle)
在上面的例子中,我使用前两个角点来计算角度:
var a = corners[0], b = corners[1]
但是例如我正在使用如下所示的矩形并尝试计算矩形的角度...
(角落:[[101, 0], [110, 22], [0, 38], [9, 60]])
...但是我得到的结果是这个->angle : 67.75,绝对不是正确的旋转角度。
之后我只使用corner[0] 和corner[2] 进行计算而不是使用corner[0] 和corner[1] 来解决问题。
所以我现在得到的结果是-20.62°。好多了。
现在我的问题是:如何从我必须用于计算的角数组中提取正确的点?
你可以在这里试试这个功能:
var corners = [[107, 0], [0, 21], [111, 24], [4, 45]]
var a = corners[0], b = corners[1]
var rectangle_angle = ((180/Math.PI) * Math.atan((a[1] - b[1]) / (a[0] - b[0]))).toFixed(2)
console.log('angle : ' + rectangle_angle)
【问题讨论】:
-
兄弟,请阅读这个问题,我不是在寻找角落,而是在计算矩形@JonasW 的角度。
-
Now my question: How can I extract the right corner positions that I have to use for my calculation?但问题在于找到正确的角。 -
...and I also know the rectangles corner positions...试图找到角度,是的! -
你总是把X轴放在相反的方向吗?令人困惑。
-
你是指我图片中的 Y 轴吗? - 好吧..因为我真的无法得到你的评论:(@trincot
标签: javascript jquery math angle rectangles