嗨,我想计算两个旋转元素之间的垂直距离。当旋转角度为0时,我使用 el1.getBoundingClientRect().x - el2.getBoundingClientRect().x
来计算距离,它可以给出正确的距离,但是对于旋转的元素,它不起作用,因为它给出的是顶点之间的垂直距离(边界矩形的距离),那么我该如何获取x?谢谢!
https://codesandbox.io/s/epic-thunder-mxqbc?file=/src/index.js
嗨,我想计算两个旋转元素之间的垂直距离。当旋转角度为0时,我使用 el1.getBoundingClientRect().x - el2.getBoundingClientRect().x
来计算距离,它可以给出正确的距离,但是对于旋转的元素,它不起作用,因为它给出的是顶点之间的垂直距离(边界矩形的距离),那么我该如何获取x?谢谢!
https://codesandbox.io/s/epic-thunder-mxqbc?file=/src/index.js
(dx, dy)
,那么在旋转角度为 fi
后,新的顶点坐标差为: nx = dx * cos(fi) - dy * sin(fi)
ny = dx * sin(fi) + dy * cos(fi)
cos(fi)
,第二个方程乘以sin(fi)
,然后将它们相加,我们就可以找到所需的值。dx = nx * cos(fi) + ny * sin(fi)
dx为25,cos(fi)=4/5,sin(fi)=3/5
nx=5,ny=35,我们可以找到dx=5*4/5+25*3/5=4+21=25
。