forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Алгоритмика (http://forum.boolean.name/forumdisplay.php?f=21)
-   -   шарики на плоскости (http://forum.boolean.name/showthread.php?t=5433)

jimon 25.12.2007 21:16

шарики на плоскости
 
Вложений: 2
в общем есть некоторая геометрическая фигура ...
просто треугольник со слегка "ломаной" гипотенузой
и есть N кружков заданного радиуса (разные)

надо разместить их в етом треугольнике так
чтобы все растояния между кругами были максимальными
ну короче чтобы они не накладывались друг на друга
или ети накладывания были сведены к минимуму

еще одно условие : решение задачи должно представлять
вариацию решений ... мне нужно чтобы каждый раз было
разное раставление кружков

в атаче лутче нарисовано чем сказал :)

ps. если не решение, то лутче идею подскажите
а то я хз как зделать ето быстро

johnk 25.12.2007 21:23

Re: шарики на плоскости
 
http://www.red3d.com/cwr/steer/
Это про тип ИИ такой Steering Behaviors For Autonomous Characters называецца, вот в нем, есть такое же свойство: избегать столкновений. Ибо это ИИ, сделано довольно оптимизированно. Так что принцип именно оттула можно взять.

jimon 25.12.2007 21:30

Re: шарики на плоскости
 
JohnK
не катит

я вот думаю как-то об относительном размещении
типа берем одну точку в етой фигуре,
потом берем случайное число которое лежит на промежутке
от 0 до растояния от етой точки до вершины
ищем любую точку которая имеет растояние такое же как наше число
повторяем алгоритм

в принципе такое решение возможно выдаст хорошую картинку :)
есть еще мысли ?

ps. еще поможет если кто-то даст способы равномерного randomа
так чтобы полученные числа равномерно распространялись в промежутке

alcoSHoLiK 25.12.2007 22:52

Re: шарики на плоскости
 
Вложений: 2
Имхо, надо сделать рандомное расставление шариков внутри фигуры, а потом средствами физ. движка их выпихнуть, незаметно для пользователя. Вот как в chipmunk сделано, примерно также, только сделать радиус шариков больше видимого радиуса, тогда они будут отталкиваться друг от друга. А когда все расставлено, выключить обновление физики.

dimanche13 26.12.2007 11:42

Re: шарики на плоскости
 
выбираем случайную координату в треугольнике, это центр шарика теперь расширяем его диаметр, пока не столкнется с краями фигуры или других шариков.


Часовой пояс GMT +4, время: 18:03.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Перевод: zCarot