![]() |
Пространство треугольника
Стоит следующая задача:
Есть треугольник (задан вершинами), в каждой вершине треугольника есть вес. Необходимо заполнить пространство треугольника точками так чтобы плотность точек была больше там, где больше вес вершины. Число точек, которыми надо заполнить треугольник задано. Плюс желательно чтобы плотность точек была более менее равномерная. Есть у кого идеи на этот счет? |
Ответ: Пространство треугольника
Цитата:
С ограничением числа точек чуть сложнее, можно попробовать посчитать получаемое кол-во точек ( как-то через площадь может? ) ну и соотношение с ограничением использовать в интерполяции. |
Ответ: Пространство треугольника
Как получить точку внутри треугольника проблем не составляет, проблема в расстановке точек.
И мне не надо считать получаемое количество точек, мне надо расставить заданное количество. Я пробовал использовать барицентрические координаты рандомно расставляя точки, получается примерно то что я хотел, но часто точки ставятся слишком близко друг к другу и получаются "острова", что мне не нужно. |
Ответ: Пространство треугольника
может быть хранить препросчитанные паттерны псевдорандомности без островов? т.е. 2д массивы, содержащие некий ноис с желаемым паттерном.
хранить некоторое количество таких массивов, например 8. затем интерполировать параметр плотности между точками треугольника, и по результату выбирать правильный препросчитанный паттерн. мне кажется, если паттерны не будут тайлится, то небольшая дискретность не будет заметна вообще. похожим образом работают шейдеры аля "карандшаная штриховка" - мы по градации освещения выбираем 1 из нескольких вариантов штриховки. |
Ответ: Пространство треугольника
Надо будет подумать над этим, спасибо за совет.
|
Часовой пояс GMT +4, время: 09:13. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot