Алгоритм быстрой оболочки вроде бы сработает, если научиться искать наиболее удалённую от прямой точку окружности. Оболочка таким образом будет состоять из касательных к окружностям.
Как вариант можно выбрать только одну из двух таких прямых, такую, чтобы площадь итоговой была максимальна(не совсем представляю как это сделать)
Ну и я совершенно не представляю как это карсиво рисовать средстваим JS. + хотелось бы соединять не прямыми, а как Metaball, но это скорее всего будет совсем сложно.
Нужно соединять не только пересекающиеся окружности, а окружности, расстояние между центрами которых не больше k*(R+r) (k=3/2, но константа может измениться).
Если окружности пересекаются - места стыков сглажены вгутрь, но без острых углов.
Хотелось бы наодобии Metaball, но слабо представляю как это реализовать.
В АПИ такие хитрые, да и сильнее менее хитрые шаманства не предусмотрены.
В принципе вам могли бы помочь "heatmaps", но и их у нас нет.
Так как требуемое не очень просто отобрзить как полигонами, так и параметрическими фигурами остается один путь - создать свой "pane", поднять на нем canvas и отрендерить там heatmap.
Как это сделать, и даже готовые скрипты можно найти в инете (и пару раз в клубе упоминались библиотеки)