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

Algorithm 在2D中查找空白区域时使用什么算法?,algorithm,unity3d,3d,2d,Algorithm,Unity3d,3d,2d,我有3d元素(触发器),当点击它们时会产生内容框。我正在搜索一个算法,该算法在触发器附近的空白区域生成元素。2d方法可能就足够了,因为内容框需要面向用户。 生成的内容框既不应与触发器对象重叠,也不应与其他3d元素/内容框重叠 示例: 如果触发器是一个长的垂直管,则第一个contentbox可能会在其左侧生成,下一个会在右侧生成,因为左侧已被contentbox 1占用。第三个contentbox可能会在第一个contentbox的上方/下方生成,或者如果有其他内容,则会在第一个contentbo

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

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

这应该是实时的,它不一定是实际的最近点,但应该旨在保持一切紧密地在一起。我认为这是一个很多人在我之前就解决过的问题,但不知何故我找不到足够的信息,也许我缺少正确的搜索词,我很高兴听到不同的方法、提示和想法

谢谢


星期五

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

这是您的想法。将2d环境映射到网格并设置适当的粒度。网格中的零值表示空白。