Здравствуйте, Аноним, Вы писали:
А> По сути нужен metaball. Сейчас я реализовал вот этот алгоритм здесь. Но как уже сказал он мне не очень нарвится вот и хочется узнать как можно сделать такое или приближенное к этому, но с меньшими напрягами со стороны проца.
Можно попробовать следующим образом:
Задачу сводим до обвода двух контуров, остальные контура по тому же принципу.
Берем кривую Безье второго порядка (квадратная кривая)
здесь
Нам нужно найти три точки — Р0, Р1, Р2.

Крайние точки должны лежать на своих окружностях, средняя видимо на линии АВ, перпендикулярной к линии, соединяющей центры окружностей.
То есть нужно найти:
1. Угловую координату точки Р0
2. Угловую координату точки Р2
3. Расстояние от центров окружностей до АВ
4. Расстояние от пересечения линии, соединяющей окружности с АВ до точки P1.
Входные параметры — диаметры и расстояние между центрами.
Нужно подобрать формулы для расчета четырех необходимых величин по трем известным таким образом.
Это на уровне идеи, сам не пробовал, но рисунок нарисован в CorelDraw, там красным цветом настоящая кривая безье, поэтому вроде должно получиться.