我正在尝试编写一个函数,它接受两个重叠的矩形并返回一个覆盖矩形A区域但不包括矩形B区域的矩形数组。由于可能发生碰撞的数量巨大且难以计算,因此我很难确定该算法的样子。
简而言之,我正在尝试使用另一个矩形剪切一个矩形,从而得到一组覆盖剩余区域的矩形。
请注意,可能的重叠模式是上述显示的两倍,因为矩形A和B可以是上述任何重叠模式中的任意一个矩形。
简而言之,我正在尝试使用另一个矩形剪切一个矩形,从而得到一组覆盖剩余区域的矩形。
|-------------| |-------------|
|A | |R1 |
| |-------|----| |-----|-------|
| |B | | To |R2 |
| | | | ====> | |
| | | | | |
|-----|-------| | |-----|
| |
|------------|
POSSIBLE OVERLAP PATTERNS
|-----| |-----| |-----| |-----|
| |---|-| |-|---| | | |-| | | |-| |
|-|---| | | |---|-| |-|-|-| | |-| |
|-----| |-----| |-| |-----|
|-| |-----| |-----|
|-|-|-| | |---|-| |-|---| |
| |-| | | |---|-| |-|---| |
|-----| |-----| |-----|
请注意,可能的重叠模式是上述显示的两倍,因为矩形A和B可以是上述任何重叠模式中的任意一个矩形。