Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];

Вниз

Равномерное расположение N точек в ограниченной области.   Найти похожие ветки 

 
4ECHOK ©   (2005-11-19 18:21) [0]

Необходимо разработать/найти алгоритм равномерного расположения определенного числа точек в произвольной замкнутой двухмерной области.
"Равномерного" - тут значит, что N точек оптимально расположены по всей площади фигуры.

Может кто направит на правильный путь ...


 
XProger ©   (2005-11-19 18:39) [1]

Есть одномерная область. Размером S. Следовательно точки будут отдалены друг от друга на расстояние S/N. Ещё вопросы?


 
4ECHOK ©   (2005-11-19 18:56) [2]

Что-то я не совсем понял связь между моим вопросом и твоим предложением. Как я сказал - область двумерная в декартовом пространстве R2, причем тут одномерная область ?
Равномерное расположение в двухмерном пространстве, в отличие от одномерного, не подразумевает удаленность точек на равные расстояния. А решение поставленной задачи требует разработки гораздо сложного алгоритма, нежели предложенного тобой.

Еще предложения ...


 
XProger ©   (2005-11-19 18:59) [3]

Натяни сетку на свою фигуру. Площадь ячейки S/N. В узлах сетки получишь точки.
Ещё вопросы?


 
4ECHOK ©   (2005-11-19 19:20) [4]

Берем самый простой вариант. Имеется окружность, в ней надо равномерно расположить 3 точки.
Допустим площадь круга составляет 9 м^2. Делим на 3, получаем 3 м^2 - площадь ячейки. Как по этой информации "натянуть сетку на фигуру" и "получить точки". ИМХО - бред.


 
Separator ©   (2005-11-19 19:42) [5]

Ну заполняй от центра

Находишб цетр, рисуешь в нем точку, потом на лево через определенный интервал рисуешь точки, когда доходишь до конца круга, потом от цетра точно также рисуешь вправо, далее на шаг вверх, и снова на лево и вправо, когда упрешся на верху, идешь от центра вниз


 
4ECHOK ©   (2005-11-19 19:48) [6]

Дык прикол в том, что число точек N может меняться. Поэтому "шаговый" алгоритм для произвольной области здесь неприменим. При том:
1. "Находишь центр" - можно без проблем найти для идеальных ситуаций типа окружность, квадрат.
2. "через определенный интервал" - его для начала надо найти =))

Т.е. НЕ стоит задача нанесения сетки, стоит задача "равномерной заливки"  области некоторым количеством точек N.


 
PAVIA ©   (2005-11-19 20:57) [7]

Берешь фигуру. Представляшь все его пиксели в виде линейного массива. Который равномерно и заполняешь.


 
NE_Parovoz ©   (2005-11-19 21:20) [8]

4ECHOK
отталкиваеш каждую точку от остальных с силой пропорциональной расстоянию, и так же от стенок

не самый быстрый метод, но работать будет


 
П7   (2005-11-20 05:18) [9]


> PAVIA ©   (19.11.05 20:57) [7]

По моему самый оптимальный (качество\скорость) вариант решения задачи.


 
4ECHOK ©   (2005-11-20 13:15) [10]


> Берешь фигуру. Представляшь все его пиксели в виде линейного
> массива. Который равномерно и заполняешь.


Представим себе прямоугольную область X*Y. N - количество точек. Если N=X или N=Y, то применив алгоритм линейного расположения, получим, что все точки выстраиваются в ряд или колонку. Можно найти несколько таких примеров.

Поэтому, данный алгоритм тоже не совсем подходит.


> отталкиваеш каждую точку от остальных с силой пропорциональной
> расстоянию, и так же от стенок


А вот этот алгоритм, по-моему, может дать результаты.


 
П7   (2005-11-20 18:20) [11]


> Представим себе прямоугольную область X*Y. N - количество
> точек. Если N=X или N=Y, то применив алгоритм линейного
> расположения, получим, что все точки выстраиваются в ряд
> или колонку. Можно найти несколько таких примеров.

Это уже частности, с которыми нужно и вполне можно бороться. Например случайным смещением. Или особым способом взятия линейного массива. Скажем: сначала берём по горизонтали, затем по вертикали, затем снова по горизонтали, и т.д. В общем тут экспериментировать нужно, но метод реально на порядок быстрее будет, чем с отталкиванием.


 
Думкин ©   (2005-11-21 06:20) [12]

1. Можно вписать фигуру в более простую - например квадрат и равномерно заполнять его, и отбрасывть точки не попадающие в фигуру.
2. Можно апроксимировать фигуру многоугольником - и равномерно заполнять его.
3. Для квадратов, прямоугольников, окружностей и многоугольников - задачи разбирались в пятничных задачках МВо.



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.011 c
1-1151042414
Shlomo
2006-06-23 10:00
2006.08.06
Delphi 2005 и Quick Report?


4-1145148582
Ку Ку
2006-04-16 04:49
2006.08.06
Консольное приложение, глюки с кодировкой


4-1145337676
DIR3ct0r
2006-04-18 09:21
2006.08.06
Определение сезона (зима/лето) по дате


15-1150462592
blackcrazzy
2006-06-16 16:56
2006.08.06
Сайт Delphimaster.ru


15-1150718022
pavel_guzhanov
2006-06-19 15:53
2006.08.06
Проблема при переходе с MSSQL2000 на MSSQL2005





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский