使用什么算法在 2D 中查找空白区域?



我有 3d 元素(触发器(,当单击它们时会生成内容框。我正在寻找一种在靠近触发器的空白区域中生成元素的算法。2d 方法可能就足够了,因为内容框需要面向用户。 生成的内容框不应与触发器对象重叠,也不应与其他 3d 元素/内容框重叠。

示例 : 如果触发器是一个长垂直管,则第一个内容框可能会在其左侧生成,下一个内容框将在右侧生成,因为左侧已经被内容框 1 占用。然后,第三个内容框可能会在第一个内容框的上方/下方生成,或者如果还有其他内容,则在第一个内容框的左侧生成。

这应该是实时工作的,它不必是实际最近的点,但应该旨在将所有内容紧密地结合在一起。我认为这是许多人在我之前解决的问题,但不知何故我找不到足够的信息,也许我缺乏正确的搜索词,我很高兴听到不同的方法,提示和想法。

谢谢

星期五

尝试在平面或空间中的现有点上创建网格。此网格可以是每个现有点上的两条垂直线。之后,创建一个树来搜索这个空间。或者只是在这些点上创建一个 kd 树。您可以在计算几何上下文中找到有关这些内容的更多信息。

最新更新