变换不以原点为中心的矩形的顶点
我认为我只是让这个变得过于复杂,但我有一个矩形,我试图使用旋转值来绘制。我有所有四个顶点的坐标,并且我需要顺时针旋转 X 度时的新坐标。
编辑:需要注意的一件事是,我在 HTML5 画布上绘图,因此坐标系有点不同。 X和Y总是> 0 且 Y 的增加向下进行。
有什么想法吗?
谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
因此,您真正需要的是一个接受点、原点(在本例中为矩形的中心)和角度的函数:
因此,如果您想将顶点绕中心旋转 10,10 度 45 度(比如说)20,20,你会这样做:
rotatePoint({x:10, y:10}, {x:20, y:20}, 45)
会给你(20, 5.85)
,等等。So all you really need is a function that takes a point, an origin (the center of your rectangle in this case) and an angle:
So if you wanted to rotate a vertex at 10,10 by 45 deggrees about the center which is (say) 20,20, you would do:
rotatePoint({x:10, y:10}, {x:20, y:20}, 45)
would give you(20, 5.85)
, and so on.