繁体   English   中英

从较小的矩形构造一个矩形

[英]Constructing a rectangle from smaller rectangles

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

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

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

设置屏幕时,左上角为(0,0),而底部右数为(1,1)。 我该怎么做? 不专门寻找实际的代码,伪代码甚至是解释,也许一些数学就好了! 提前致谢。

这里有一些几何形状供您选择:

如果矩形完全对齐,则可以画一个大矩形,然后赢。

如果在任何角度都略微倾斜,都可以将线表示为简单方程式

y = m * x + c

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

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

如果您查看矩形图片,可以看到基本上有三个部分:第一部分从底部到左下边缘。 它沿着左侧的长边,并在左侧遇到一条边。 之后,您沿着右侧的两个短边,然后遇到右上边缘,然后上升到左上角(当然,您也可以从上到下进行此操作)

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM