PDA

Просмотр полной версии : помогите придумать общий алгоритм


iflamberg
05.06.2009, 17:29
есть на плоскости несколько прямоугольников(x,y,width,height). Имеется еще один прямоугольник заданных размеров (width,height). Нужно разместить этот прямоугольник так, чтобы он касался(именно касался) как можно больше других прямоугольников.

undefined
05.06.2009, 19:23
первое что пришло в голову:
построить охватывающий прямоугольник, замерить сумму длин сторон которые касаются каждой стороны охватывающего прямоугольника, выбрать из 4-ех сторон охватывающего пр-ка две где касаний больше, исходный прямоугольник располагать так, чтоб он касался 2-ух выбранных сторон у охватывающего.

wvxvw
05.06.2009, 20:17
прямоугольники могут пересекаться?

iflamberg
05.06.2009, 20:46
2undefined:
если я правильно понял, то в твоем варианте будет не касание, а именно охватывание.

2wvxvw: прямоугольники на плоскости не могут пересекаться. НОвый прямоугольник должен касаться стороной. Хм... хочешь предложить считать в "дырках" максимально большой прямоугольник, занимающий пустое пространство?

kruasan
05.06.2009, 21:51
хотелось бы уточнить, чего должно быть "как можно больше"?

1. Как можно больше прямоугольников, которых касается новый прямоугольник.
ИЛИ
2. Наибольшая область касания. Т.е. наибольшая суммарная длина всех отрезков, в точках которых просходит касание.

?

iflamberg
05.06.2009, 22:08
Как можно больше прямоугольников, которых касается новый прямоугольник.

Собственно это компьютерная игра-стратегия. На карте юниты, AI должен определить куда нанести арт-обстрел, чтобы ранить как можно больше.