@Lord_kazu

У меня есть отрисовка рандомных примитивов (кубов), как мне сделать так, чтобы они не заходили в друг друга при отрисовке?

def createRandomObjects(cam):
global obj, scenes
k_scatter = 1.0
scenes=[]
obj=[]
for i in range(0,num_boxes):
#размер объектов
szx=randrange(169,200)
szy=randrange(169,200)
szz=randrange(199,200)

sz=int(np.linalg.norm((szx, szy, szz)))

z=randrange(cam.min_dist+int(sz*1.3), cam.max_dist-sz)

vROT=[0,45,0]
vROT/=np.linalg.norm(vROT)
vROT=np.insert(vROT, 0, randrange(0, 45))

pose=[[#sizes
szx,szy,szz],
# rotation
vROT,
[#position
randrange(-z,z+1)*k_scatter,
randrange(-z,z+1)*k_scatter,
z]]

box = Box(pose[0], pose[1], pose[2])
obj.append(box)
poses.append(np.asarray(pose))
  • Вопрос задан
  • 43 просмотра
Пригласить эксперта
Ответы на вопрос 1
> как мне сделать так, чтобы они не заходили в друг друга при отрисовке?
не позиционировать их при отрисовке так, чтобы они заходили друг в друга.

Как их не позиционировать так? Ну если это что-то движущееся, то реализуйте определение столкновений и соответствующую физику. Если они статичны, и дело только в генерации - ну реализуйте простейшую сетку и не заполняйте повторно уже занятые ячейки. Тут без конкретной цели вам сложно что-то подсказать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы