如何获得4个点围绕指针旋转一定角度以形成矩形?我可以围绕某个点旋转一个点,但是我无法将其偏移以制作一个不失真的矩形。围绕某个点旋转矩形
回答
如果你可以围绕一个点旋转一个点,那么它应该很容易旋转一个矩形 - 你只需旋转4个点。
这里是一个js函数绕原点旋转角度:
function rotate_point(pointX, pointY, originX, originY, angle) {
angle = angle * Math.PI/180.0;
return {
x: Math.cos(angle) * (pointX-originX) - Math.sin(angle) * (pointY-originY) + originX,
y: Math.sin(angle) * (pointX-originX) + Math.cos(angle) * (pointY-originY) + originY
};
}
然后你就可以做到这一点到每个点。 下面是一个例子:http://jsfiddle.net/dahousecat/4TtvU/
改变角度和命中运行看结果...
你能解释一下吗? jsfiddle.net/bjhc34xk/7这是否与PI的逼近有关,或者浮点数学错误? – 2015-04-04 23:52:09
分叉费利克斯的小提琴包括一个动态输入的滑块,使其更容易实验 - https://jsfiddle.net/brichins/0ccdd362/ – brichins 2016-07-15 18:05:12
@MaxMastalerz我相信你现在从这一点上移动,但你的小提琴可能是不在做你的想法。在计算过程中,您正在更改端点的X坐标,然后从该偏移点而不是中心旋转Y坐标。在一个很酷的黄金螺旋结果,但我认为你的意思是做到这一点:https://jsfiddle.net/brichins/w2rxsbt4/ – brichins 2016-07-15 18:15:08
- 1. 旋转矩形围绕SVG
- 2. 围绕某个点旋转html元素
- 3. 围绕某个轴的点的旋转
- 4. java的旋转矩形围绕中心
- 5. 围绕中心旋转矩形
- 6. 旋转矩形围绕柔性轴
- 7. 旋转矩形围绕其左上角
- 8. 如何用Java围绕某个点旋转多边形?
- 9. 围绕一个点旋转
- 10. 围绕点旋转
- 11. 围绕原点旋转三角形
- 12. 围绕原点旋转点
- 13. Three.js - 围绕某个轴旋转球体
- 14. 围绕另一点旋转一个点
- 15. 围绕另一点旋转一个点
- 16. 围绕特定点旋转(例如,围绕0,0,0旋转)
- 17. 围绕点xna旋转2D
- 18. 围绕其中心旋转一个矩形?
- 19. 我如何使一个uilabel围绕某个点旋转?
- 20. 如何在Java中围绕一个点旋转多边形/点
- 21. 旋转矩阵 - 围绕旋转框旋转球
- 22. 围绕一个点旋转div
- 23. 围绕原点旋转整个SKView
- 24. 围绕一个中心点旋转CGPoint
- 25. 围绕一个任意点旋转QPixmap
- 26. 围绕一个点旋转CIImage
- 27. 围绕一个点旋转Vector2
- 28. UIimageView围绕一个点旋转
- 29. 仅围绕一个轴旋转节点
- 30. Kineticjs:围绕一个点旋转一组
你试过做这么远吗?一些代码?谢谢 – Trufa 2010-12-16 22:26:40
翻译你的四点,以便你将指针作为中心,通过标准旋转矩阵方法进行旋转,然后将点转回。 [说明](http://www.euclideanspace.com/maths/geometry/affine/aroundPoint/index.htm) – Michal 2010-12-16 23:45:03
如果我明白我会用它,但我需要一个简单的英文或最好是JavaScript的解决方案。 – Anonymous 2010-12-17 08:03:58