Войти
ПрограммированиеФорумГрафика

Poisson Disk Generator (2 стр)

Страницы: 1 2 3 Следующая »
#15
11:57, 7 мая 2014

Прикольно)


#16
12:30, 7 мая 2014

Алексей Патрашов
> А Мерсен куда потерялся? Я полосатость видел только у совсем примитивных ГПСЧ.
> Я код посмотрел, а там болтается квадратный корень, что на скорость влияет
> отрицательно. Картина высокохудожественная где-нибудь есть для сравнения?
Дело не в полосатости - вот как выглядят точки при обычном рандоме:

+ Показать
#17
13:20, 7 мая 2014

Алексей Патрашов
> Объясните мне, тупому, в чём тут глубокий смысл и почему распределение Пуассона
> выглядит как равномерное двухмерное?
Если внимательно почитать, то понятно что настоящее равномерное не гарантирует что точки не будут слипаться в кластеры.
Что, например, для процедурной засейки травой и деревьями крайне неприятная штука.

Алексей Патрашов
> А Мерсен куда потерялся? Я полосатость видел только у совсем примитивных ГПСЧ.
Тут борятся не с полосатостью, а чтобы расстояние между точками было не менее определенного (в зависимости от плотности).

#18
14:35, 7 мая 2014

Я идею понял. Когда улучшу время попробую сделать алгоритм с учётом уже проставленных точек. У меня ещё была мысль о проходе ячейкой с рандомом по ячейке.

#19
14:56, 7 мая 2014

Алексей Патрашов
> алгоритм с учётом уже проставленных точек
Так там и сделано. Прочитай пейпер, чтобы велосипед не изобретать http://people.cs.ubc.ca/%7Erbridson/docs/bridson-siggraph07-poissondisk.pdf

#20
15:36, 7 мая 2014

о... ещё занятней...

#21
16:19, 7 мая 2014

Сделаю заметку, чтобы не забыть. Придумал я алгоритм без корней с управляемой плотностью и минимальной ячейкой. Там всё просто оказалось. Вероятность пересчитывать на клетку и одновременно получаются и координаты в клетке.

#22
16:32, 7 мая 2014

Алексей Патрашов
Там в туториале по ссылке что-то похожее упоминается. Все равно не так красиво, есть шанс что две точки рядом окажутся. Или у тебя гарантируется что две точки не могут оказаться рядом (при этом пустых полос нет)?

#23
16:33, 7 мая 2014

Алексей Патрашов
> Вероятность пересчитывать на клетку и одновременно получаются и координаты в клетке.
Вот сравнение пересчёта на клетку (jittered grid) с пуассоном:

Изображение

На клетках всё ещё получаются кластеры из 3 точек (а максимум может быть 4 рядом).

#24
17:57, 7 мая 2014

kipar
> Или у тебя гарантируется что две точки не могут оказаться рядом (при этом пустых полос нет)?
Я исходил из того, что у меня задаются по углам клетки значения в зависимости от соседних клеток и положения в них точек. Тогда можно уже не переделывать равномерное распределение в трапецию, а сравнивать с трапецией, то есть вместо обратного преобразования использовать функцию распределения, которая будет квадратичной в противовес квадратному корню функции преобразования.

#25
18:20, 7 мая 2014

Алексей Патрашов
Интересно посмотреть реализацию и результат.

#26
22:20, 7 мая 2014

Алексей Патрашов
А анизотропии между направлением по диагонали и по вертикали\горизонтали и вообще заметной клеточности точно не будет?

#27
22:42, 7 мая 2014

kipar
> А анизотропии между направлением по диагонали и по вертикали\горизонтали и вообще заметной клеточности точно не будет?
По идее не должно, доберусь до питона может в эти выходные и опробую, там хорошая библиотека для изображений. В глубокой теории можно применить вообще алгоритм перебора с предотвращением кластеризации, но у него O(N2) сложность и ну его нафиг. Если ячейки попиксельно бить на вероятности с выбором нижнего значения, то должно быть всё достаточно раскидано выглядеть.

#28
2:55, 8 мая 2014

В копилку: Point Sampling with General Noise Spectrum

#29
12:21, 8 мая 2014

Алексей Патрашов
> но у него O(N2)
У алгоритма из статьи сложность O(N*K). Зачем делать N^2?

Страницы: 1 2 3 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.