0

在过去的几个小时里,我一直在尝试从任何角度的较小矩形构造一个矩形。我想像这样http://i.stack.imgur.com/Ymakk.png

[ 其中黑线代表构造矩形的轮廓,红线代表构造它的三角形。红色矩形也必须完全笔直。]

显然,除非我在尝试渲染它时有一个非常小的增量,否则它看起来不会很明确,但最终产品希望看起来像一个预定角度的矩形。

屏幕设置为左上角为 (0, 0),右下角为 (1, 1)。我该怎么做?不是专门寻找实际代码、伪代码甚至解释,也许一些数学......会很棒!提前致谢。

4

1 回答 1

0

这是给你的一些几何图形:

如果你的矩形完全对齐,你可以只画一个大矩形,你就赢了。

如果它在任何角度都被忽略了,你可以将线条表示为简单的方程

y = m * x + c

在其中插入两条边的 x 和 y 以计算 m 和 c(实际上是一个非常简单的过程),或者您可以计算 m = tan(angle)

然后,您可以通过将 y、c 和 m 值插入方程并求解 x 来“仅”沿着 y 坐标走,并在属于矩形的左右线上获得相应的 x 位置。

如果你看一下你的矩形图片,你会发现基本上有三个部分:第一部分从底部到左下边缘。它沿着长边向左走,并在左侧遇到一条边。之后,您沿着两个短边向右,然后遇到右上边缘并向上到左上角(当然,您也可以从上到下这样做)

您需要仔细检查是否已到达左侧或右侧两条线之间的边缘,并在适当的时候切换 m 和 c 的值。

我认为这应该让您接近解决方案

于 2013-07-14T21:19:59.147 回答