2010-08-30 307 views
1

我有一个旋转矩形,我知道对角线的大小。我也知道用于旋转矩形的角度。从对角线和旋转角度计算矩形的宽度和高度

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

对于该问题的一个草图,请参见:

alt text

+2

即使a = 0,也不能仅从对角线长度获得w和h。 – 2010-08-30 11:39:04

回答

3

1)创建一个新行开始在对角的端点中的一个,并在所述旋转角度行进。

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

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

这里唯一的'棘手'的代码是投影。此网页具有点 - 线距离/投影一些示例代码:http://softsurfer.com/Archive/algorithm_0102/algorithm_0102.htm

0

感谢大卫·吕滕,

我得到它的工作。关于投影的网站对我的数学知识非常重要,但是对于一些Google,我找到了一个很好的指向线交叉函数,这有助于我计算其中一边的长度(距离)。

不幸的是,我太“新”在这里奖励你的信用或答复你的anwser。

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

再次感谢!