JavaScript TagCloud Избегайте перекрытия - PullRequest
1 голос
/ 05 июля 2010

Я создаю облако тегов, используя JavaScript.Он берет неупорядоченный список «тегов», а затем распределяет их случайным образом от центральной точки div (распределение Гаусса).

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

В итоге я предложил 2 подхода:

(1) позиционируйте каждый тег, учитывая позиции уже размещенных.(Я не совсем уверен, как бы я это сделал, но в любом случае это не кажется самым элегантным решением, и так далее.)

(2) Сохраните абсолютную позицию (вверху / слева) иширину и высоту каждого элемента в массиве, генерировать позицию случайным образом;проверьте совпадения, а затем либо разместите, либо случайным образом регенерируйте позицию соответствующим образом.

Поскольку это звучит как распространенная проблема при разработке игры, я решил опубликовать ее и посмотреть, знает ли кто-нибудь о подходе наилучшей практики.

РЕДАКТИРОВАТЬ: Теперь я играю с идеей определения центральной точки для каждого элемента списка и расстояния до любого угла, а затем сравниваю расстояние между 2 центральными точками.Тем не менее, дальнейшие советы приветствуются.

...