Как просто получить координаты x и y из линейной сетки? - PullRequest
1 голос
/ 27 октября 2009

У меня есть линейная сетка Vector2, хранящаяся в массиве Vector2[,], и у меня также есть другой Vector2, который находится в этой сетке.Как я могу просто извлечь ближайшие 4 точки сетки и их индексы в массиве?Я в полном замешательстве ...

1 Ответ

2 голосов
/ 27 октября 2009

Я не уверен, что понимаю ваш вопрос. Вы можете справиться с этим относительно простым способом?

  1. Объявите тип для хранения следующей информации:
    а. Целочисленный индекс в существующем массиве Vector2
    б. Расстояние от точки до вектора теста
    с. (необязательно) Значение Vector2.
  2. Объявите массив вновь определенного типа, который будет содержать результаты.
  3. Перебрать существующий массив Vector2s.
  4. Для каждого Vector2 рассчитайте его расстояние от тестового вектора.
  5. Сравните это расстояние с последним результатом Vector2. Если оно меньше этого расстояния, замените этот вектор результата информацией текущего вектора 2.
  6. Хотя расстояние до последнего вектора результатов меньше, чем у предыдущего, меняйте его местами с предыдущим результатом. (Повторите с тем же вектором, теперь в предпоследней позиции, пока векторы результата не будут отсортированы в порядке расстояния от тестового вектора.)
  7. Перейдите к следующей итерации цикла, начатого на шаге 3.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...