Пусть C1
и C2
- центры окружностей с радиусами r1
и r2
.Медиальная ось (минус две центральные точки) фигуры, состоящей из двух окружностей, представляет собой набор точек M
, удовлетворяющих
|M - C1| - r1 = |M - C2| - r2
, что подразумевает
|M - C1| - |M - C2| = r1 - r2
|M - C1|^2 + |M - C2|^2 - (r1 - r2)^2 = 2 * |M - C1||M - C2|
(|M - C1|^2 + |M - C2|^2 - (r1 - r2)^2)^2 = 4 * |M - C1|^2 |M - C2|^2 (**)
, поэтому медиальнаяось является алгебраической кривой четвертой степени.
Скажем, что C1
и C2
находятся на оси y, и предположим, что точка (0,0) лежит на средней оси (поэтому C1 = (0, -r1 - x)
и C2 = (0, r2 + x)
для некоторых x
, которые вы можете вычислить на основе ваших данных).Это то, что вы всегда можете преобразовать в.
Теперь вам нужна кривая y = f(x)
, которая параметризует срединную ось.Для этого выберите x
по вашему выбору и решите уравнение (**)
в y
с помощью метода Ньютона с начальным предположением y = 0
.Это полином, который вы можете вычислить точно, а также его производную (в y
).