![]() |
Проблема с равномерным расположением(размещением) N точек в заданной области
Дана прямоугольная область, ширина и высота известны, дано N(вводится пользователем) точек, необходимо расположить эти точки равномерно по области. Загвоздка в том, что под словом равномерно подразумевается, что любая точка должна быть равноудалена от соседних (по x и y осям, т.е. диагональ не учитывается).
Я не прошу делать за меня, просто может кто сталкивался с подобным или знает хотя бы в какую сторону копать, а то второй день пошел а придумать как реализовать такое не могу. |
В хаотичном порядке или в виде таблицы - строки, столбцы?
|
Если таблицы то:
1 - Собираем все точки в массив 2 - Смотрим сколько строчек и столбцов у нас получается. 3 - По циклу раставляем все точки по принципу: Код AS3:
|
я так понимаю, что в виде таблицы
в чем проблема? определить количество строк и столбцов что-ли? |
вроде бы у такой задачки нет аналитического решения, только численно
вот эксперимент, попытка получить равноудаленные точки в прямоугольнике: считаем, что все точки одинаково заряженные частицы и двигаем их в соответствии с силой отталкивания каждой от остальных и от стенок - должно бы устаканится, но реально что-то не очень.. но вообще как вариант может сработать, там enterFrame только для посмотреть, считать-то можно просто в цикле и останавливать при какой-то точности Код AS3:
|
2silin, Спасибо за идею.
Буду пробовать, если толковое решение найду, выложу код сюда. |
А если построить сетку из равносторонних треугольников? По-моему как раз - точка идеально "равноудалена от соседних"... Может ошибаюсь. Может вообще не в тему :)
|
| Часовой пояс GMT +4, время: 05:45. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.