Алгоритм тайлинга для пересчета положения вершин - PullRequest
0 голосов
/ 24 марта 2012

Я ищу алгоритм пересчета положения векторов, который определяет полигон, который представляет одну плитку.У меня есть шаблон плитки - многоугольник, определяемый 16 вершинами, которые находятся в поле вершин.Например, у меня есть квадрат (или ромб, или любой другой многочлен, который может совмещаться с одним и тем же многоугольником).

x - x - x - x - x
|               |
x               x
|               |
x               x
|               |
x               x
|               |
x - x - x - x - x

Этот шаблон представляет одну плитку.Если я двигаюсь с одной вершиной (меняю ее положение), мне нужно пересчитать положение другой вершины, чтобы получить плитку, которая бы совмещалась с другими плитками. 1) Существует ли какой-либо алгоритм, который уже решает это? 2) Что такое хороший базовый шаблон?Квадрат слишком прост. Я слышал, что хорошо иметь симметричные формы для шаблонов, потому что их легче пересчитать.

Редактировать: Мотивация - рисовать плитки на некотором растровом изображении.Это как плитка в вашей ванной комнате, они тоже должны совмещаться.

Ответы [ 2 ]

0 голосов
/ 24 марта 2012

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

В этом случае каждый раз, когда вы перемещаете вершину, перемещайте вертикально-и горизонтально-зеркально отраженную вершину в одном и том же направлении на одну и ту же величину.

Например, если вы переместите правую нижнюю вершину вниз на 2 и вправо 1, вам также следует переместить верхнюю левую вершину вниз на 2 и правую 1. Это создаст «дыру» в верхнем левом углу, которая плотно прилегает новый острый край в правом нижнем углу.

0 голосов
/ 24 марта 2012

На базовых плиточных формах:

Квадрат и прямоугольник, шестиугольник - это хорошие базовые формы, пригодные для плитки.

Равносторонние треугольники могут быть мозаичными, но их необходимо перевернуть.

Существуют также более сложные узоры, где плитки не идентичны. То есть восьмиугольник + квадрат.

...