Re[3]: Построение контура вокруг нескольких окружностей
От: xp  
Дата: 16.01.08 08:31
Оценка:
Здравствуйте, Аноним, Вы писали:

А> По сути нужен metaball. Сейчас я реализовал вот этот алгоритм здесь. Но как уже сказал он мне не очень нарвится вот и хочется узнать как можно сделать такое или приближенное к этому, но с меньшими напрягами со стороны проца.


Можно попробовать следующим образом:

Задачу сводим до обвода двух контуров, остальные контура по тому же принципу.
Берем кривую Безье второго порядка (квадратная кривая) здесь
Нам нужно найти три точки — Р0, Р1, Р2.

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