【发布时间】:2011-03-23 04:40:07
【问题描述】:
假设我有两个像这样相互重叠的矩形......
alt text http://filebox.me/files/u8atnxd34_overlap1.png
我希望他们以这样的方式结束......
alt text http://filebox.me/files/jt8ef1t44_overlap2.png
如何计算我需要添加的位置以使矩形相互移开?
注意:我确实找到了this 问题,但它并没有告诉我如何实际移动矩形。
每个人都假设我想向下移动矩形,但实际上我希望矩形向最合乎逻辑的方向移动。因此,如果矩形完全位于第一个矩形的右侧并向左移动 1 个像素,则它不会向下移动,而是向右移动。
【问题讨论】:
-
你想让他们往哪个方向移动?
-
您是否编写了一些代码来尝试解决这个问题?还是您希望我们为您编写所有内容??
-
@Tim Robinson:嗯,基本上是两个矩形中心之间的方向。 @Grant Crofton:如果我不知道如何编写代码,我将如何编写代码?检查交叉路口很容易,但移动它们是另一回事。
-
请定义“最符合逻辑的方向”。
-
@Dlaor 我认为您会发现暂时忽略代码并考虑矩形的各种组合以及其中一个应该如何移动会很有帮助。换句话说,在开始思考如何编写代码之前,先在纸上做练习。
标签: c#