Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.12;
Скачать: CL | DM;

Вниз

Тангента к двум окружностям   Найти похожие ветки 

 
Галинка ©   (2007-07-16 18:08) [0]

На сделать тангенту к двум окружностям. Как это расчитать?? Решить систему трех уравнений? Или для каждой окружности решить систему уравнений типа sqr(x1)+sqr(y1) = sqr(r)
k1*x1 + b1 = y1
?
но тогда получится что для двух независимых "систем" фигур, будут разные решения. Относительно k1, b1. А они вроде должны быть одинаковыми, т.к. прямая то одна.


 
MBo ©   (2007-07-16 19:40) [1]

> тангенту к двум окружностям
Их в общем случае 4 штуки

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


 
Alx2 ©   (2007-07-16 23:28) [2]

Если аналитикой, то примерно так.

Для окружностей, расположенных центрами на оси x
x1 - координата центра окружности радиуса r1
x2 - координата центра окружности радиуса r2

уравнение прямой лучше задать в виде
-sin(phi)*x+cos(phi)*y=c

Тогда квадрат расстояния от точки с координатами (x0, y0) будет
S^2 = (-sin(phi)*x0+cos(phi)*y0-c)^2

Учитывая, что центры на оси ОХ, получим для решения систему
(-sin(phi)*x1-c)^2-r1^2=0,
(-sin(phi)*x2-c)^2-r2^2=0

Она элементарно решается, если взять тождество a^2-b^2=(a-b)*(a+b)

тогда касательные будут следующими:

1. c = (r2*x1+r1*x2)/(x1-x2),  phi = -arcsin((r1+r2)/(x1-x2));
2. c = -(r2*x1+r1*x2)/(x1-x2), phi = arcsin((r1+r2)/(x1-x2)) ;
3. c = (r2*x1-r1*x2)/(x1-x2),   phi = arcsin((r1-r2)/(x1-x2)) ;
4. c = (r1*x2-r2*x1)/(x1-x2),   phi = -arcsin((r1-r2)/(x1-x2));

Если центры не лежат на оси ОХ, то меняем поворотом систему координат так, чтобы исправить это.



Страницы: 1 вся ветка

Текущий архив: 2007.08.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.035 c
15-1184232418
boriskb
2007-07-12 13:26
2007.08.12
Ничего лучшего, чем "Офигеть!!!" придумать не могу


15-1184238631
Zagaevskiy
2007-07-12 15:10
2007.08.12
SMS


15-1184149445
vpbar
2007-07-11 14:24
2007.08.12
Статья 146 УК РФ. Нарушение авторских и смежных прав


2-1184827082
Mari
2007-07-19 10:38
2007.08.12
как зная название поля узнать тип его?


2-1184582897
Kostafey
2007-07-16 14:48
2007.08.12
Получить список таблиц из Access-файла.