Geometry 向量数学与矩形
我知道这更像是高中数学(哇,我在那里已经很久了),但我正试图通过编程解决这个问题,所以我接触到了stackoverflow的集体知识 鉴于这种布局: 中点是我的参考点,在一个数组中,我有所有其他点的向量点(p) 我可以通过将浅蓝色区域分成四个象限,并进行跛脚气泡排序,在每个象限中找到最大(y)或最小(x)值,从而达到这种状态 我只需要找到外边界完全击中红色而非白色空间的象限。例如,左下角和右上角的浅蓝色矩形上没有任何空白 我确信我的术语在这里是完全错误的,我不寻找任何特定的代码,但是如果有人能为我指出一个更优化的解决方案,或者我已经拥有的下一步Geometry 向量数学与矩形,geometry,vector,rectangles,Geometry,Vector,Rectangles,我知道这更像是高中数学(哇,我在那里已经很久了),但我正试图通过编程解决这个问题,所以我接触到了stackoverflow的集体知识 鉴于这种布局: 中点是我的参考点,在一个数组中,我有所有其他点的向量点(p) 我可以通过将浅蓝色区域分成四个象限,并进行跛脚气泡排序,在每个象限中找到最大(y)或最小(x)值,从而达到这种状态 我只需要找到外边界完全击中红色而非白色空间的象限。例如,左下角和右上角的浅蓝色矩形上没有任何空白 我确信我的术语在这里是完全错误的,我不寻找任何特定的代码,但是如果有人能
谢谢我可能会先做一些BFI解决方案,然后再考虑将其推广,或者至少将其简化为一个表驱动循环 所以,如果它正是这些形状,而不是一个一般的解决方案,我认为您应该这样做:
首先,不能用单个向量定义红色区域,因为它是不相交的。您需要的向量数量与远处红色区域的数量相同 第二,我们是否假设不同的红色数字既不相交也不共享边界?在下一个条款中,我同意
第三,根据第2点中的假设,如果存在一个连续的红色图形,且该图形与两个轴(即光线)相交,则该象限将具有所有红色的外侧。要为所有象限确定这一点,应仅按给定顺序遍历所有(P)点。这需要线性时间并解决问题。我不确定我是否完全理解您的问题。。。如果你总是有相同的布局,你似乎可以说,“好吧,右上角和左下角总是与红色相邻,而不是与白色相邻”,然后到此为止。不过,这似乎太简单了,所以肯定还有更多。你能详细说明一下你有什么可用的信息吗?红色矩形可以是任何大小和任何地方。填充整个象限/在它们之间移动。基于给定的参考点(在本例中为中点),我需要构建内部矩形(在本例中由轴分割),并找出这些矩形中的哪些完全与所有SIE上的红色或蓝色碰撞。任何不接触蓝色或红色(接触空白)的区域都需要删除,剩余的蓝色区域将变为红色。我知道每个红色矩形的4个向量点。我妻子给出的很好的类比是蓝色是4个池,我需要找到有泄漏(左上和右下)轴的池永远不会泄漏,所以我只需要检查两侧。