根据对角线和旋转计算矩形的宽度和高度

发布于 2024-09-16 05:26:00 字数 151 浏览 6 评论 0原文

我有一个旋转矩形,我知道对角线的大小。我还知道用于旋转矩形的角度。

如何计算矩形的宽度和高度?

有关问题的概述,请参阅:

alt text

I have a rotate rectangle and I know the size of the diagonal. I also know the angle used to rotate the rectangle.

How can I calculate the width and height of the rectangle?

For a sketch of the problem, see:

alt text

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不爱素颜 2024-09-23 05:26:00

1) 创建一条从对角线端点之一开始并以旋转角度行进的新线。

2) 将另一个对角线终点投影到这条线上。现在您知道了矩形的一侧。

3) 将线段复制到对角线的另一边并连接端点以完成矩形。

这里唯一“棘手”的代码是投影。该网页有一些点线距离/投影的示例代码: http://softsurfer.com/存档/algorithm_0102/algorithm_0102.htm

1) create a new line starting at one of the end-points of the diagonal and travelling at the rotation angle.

2) project the other diagonal terminus onto this line. You now know one side of the rectangle.

3) Copy the segment to the other side of the diagonal and connect the endpoints to complete the rectangle.

The only 'tricky' code here is the projection. This webpage has some example code for Point-Line distance/projection: http://softsurfer.com/Archive/algorithm_0102/algorithm_0102.htm

只为一人 2024-09-23 05:26:00

谢谢大卫·鲁滕,

我成功了。你关于投影的网站对我的数学知识来说太多了,但是通过一些谷歌,我找到了一个很好的点到线相交函数,它帮助我计算其中一侧的长度(距离)。

不幸的是,我在这里太“新”了,无法奖励你积分或回复你的答案。

@Eric bainville:我知道距离,因为我有 point1 和 point2 (左上和右下)坐标。有了这些坐标就可以了。我没有提到这一点,但幸运的是大卫猜对了,我认识他们。

再次感谢!

Thanks David Rutten,

I got it working. Your site about the projection was to much for my math knowledge, but with some google i find a nice point to line intersection function which helped me to calc the length (distance) of one of the sides.

Unfortunately I'm too "new" here to award you with credits or reply on your anwser.

@Eric bainville: I knew the distance because i had point1 and point2 (upper left and bottom right) coordinates. With those coordinates it is possible. I didnt mention this, but luckily David guessed right that I knew them.

Thanks again!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文