我正在编写一个脚本,我在Maya网格上生成多边形的随机实例。但是,我不知道如何阻止这些立方体在每个或彼此内部产生。我听说过在互联网上抛出的边界框,但我不确定如何制作一个。有人可以帮助我,我已经做了好几天了。 (我用Python编码)
答案 0 :(得分:1)
如果将每个多维数据集的位置保存为元组(),则可以将它们保存在集合中。然后,每次掷骰子以获取新位置时,只需检查该组,如果已使用该组合,则重新滚动:
import random
already_seen = set()
created = []
while len(created) < 11:
x = random.randint(-10, 10)
y = random.randint(-10,10)
z = random.randint(-10,10)
pos = (x, y, z)
if pos not in already_seen:
already_seen.add(pos)
node, shape = cmds.polyCube()
cmds.xform(node, t = pos)
created.append(node)
这会使用整数位置,因为这样可以让您远离检查每个新点与所有先前点的距离。您可以将整数位置视为“单元格”,并在该单元格中添加较小的随机偏移量,以保证其不那么严格。