两个正方形的关系

时间:2016-02-06 16:28:00

标签: c#

我的作业是制作一个绘制2个正方形的程序,然后决定它们是否交叉,触摸,彼此内部,或两者都没有。

我使用两点系统:第一个是左上角,另一个是右下角。然后,我画出它们之间的界限。

请你告诉我一个简单的算法来确定这4个案例中的哪一个发生?

传中:

for (int i = start; i < end; i++) { 
    if (!Character.isLetterOrDigit(source.charAt(i))) {
        if (!Character.isSpaceChar(source.charAt(i)))
            return "";
    }
}

触摸:

 ┌────┐
 │  ┌──────────┐
 │  │ │        │
 └──│─┘        │
    └──────────┘

彼此内心:

 ┌────┐
 │    │──────────┐
 │    │          │
 └────┘          │
      └──────────┘

既不:

  ┌──────────┐
  │  ┌────┐  │
  │  └────┘  │
  └──────────┘

1 个答案:

答案 0 :(得分:2)

好吧,我没有为你准备任何代码,因为它并不是一个特定于语言的问题,而且因为它可以帮到你。但是这里有一些指示:

  • X轴上有两个间隔,Y轴上有两个间隔
  • 众所周知如何确定两个间隔是否重叠。您还可以确定一个间隔是否完全位于另一个间隔内。
  • 对于重叠的方块,您需要测试一个简单的条件。想想它是什么。
  • 奖励:你也可以计算重叠区域。