Как превратить несколько прямоугольников в 1 большую фигуру (массив вершин) в Java? - PullRequest
0 голосов
/ 10 апреля 2020

(Эта проблема может быть решена без знания LibGDX или Box2D). Я пытаюсь превратить несколько прямоугольников в один большой ChainShape в LibGDX / Box2D.

У меня есть список прямоугольников, у всех 4 очка / координаты (очевидно). Теперь я хочу метод, который вычисляет, какие прямоугольники смежны друг с другом, а затем объединяет их в одну большую форму. Форма состоит из вершин, каждая точка которых соединяется со следующей точкой. В качестве примера, вершины прямоугольника могут рассматриваться следующим образом (хотя это не обязательно должна быть конкретная форма):

// Point 1
vertices[0] = x;
vertices[1] = y;

// Point 2
vertices[2] = x + width;
vertices[3] = y;

// Point 3
vertices[4] = x + width;
vertices[5] = y + height;

// Point 4
vertices[6] = x;
vertices[7] = y + height;

// Connect back to first point
vertices[8] = x;
vertices[9] = y;

Это пример прямоугольников перед вызовом метода вычисления : enter image description here

И вот как должны выглядеть комбинированные фигуры (в основном это будет 2 массива вершин): enter image description here

У меня будет прямоугольник ArrayList, и у каждого прямоугольника есть значения ax, y, width и height. Я знаю, что то, чего я пытаюсь достичь, должно быть возможным, но я не могу понять, как этого достичь. Я уверен, что многие из вас намного умнее меня, так что, надеюсь, кто-то может помочь мне с этим или, по крайней мере, направит меня в правильном направлении.

...