IPB
ЛогинПароль:

> Компиляция правил для данного раздела

1. Заголовок темы должен быть информативным. В противном случае тема закрывается и удаляется ...
2. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
3. Одна тема - один вопрос (задача)
4. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Уравнение касательных к окружности, Математика (мат.анализ)
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 2
Пол: Мужской
Реальное имя: Кирилл

Репутация: -  0  +


Сколько ни гуглил, не искал на форумах (в т.ч. и этом). но так и не нашел, либо не понимаю следующее:

Составить уравнениЯ касательных к окружности, проходящих через заданную точку на плоскости. Причем не одно уравнение, а два, как это следует логически. Исходные данные - радиус окружности ®, точка центра окружности (xa, ya), точка на плоскости (xb, yb). Вообще то задача стоит найти касательные при вводе и т.д. и т.п, но я справился с тем случаем, когда точка лежит на окружности. Хотелось бы получить помощь по вышеизложенному вопросу.

Заранее спасибо.


--------------------
Turbo Pascal жесток...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


Касательная проходит через (xb, yb), значит её уравнение такое:
kx(X-xb) + ky(Y-yb) = 0
Мы знаем, что расстояние от точки xa, ya до этой прямой должно быть равно R
Для начала вспомним, что расстояние от нуля до прямой, заданной уравнением (kx*x+ky*y=c) равно
c/sqrt(sqr(kx)+sqr(ky))
(ну площадь треугольника делим на основание)
Если брать расстояние не от нуля, а от (xa, ya), то получим в числителе с-kx*xa-ky*ya
В данном случае с=kx*xb+ky*yb
Таким образом, уравнение будет такое:
kx(xb-xa) + ky(yb-ya)/sqrt(sqr(kx)+sqr(ky)) = R
Умножив обе части на знаменатель и возведя в квадрат получим такое уравнение на kx и ky:
cxx*sqr(kx)+2cxy*kx*ky+cyy*sqr(ky) = 0
Где cxx=sqr(xb-xa)-sqr®; cyy=sqr(yb-ya)-sqr®; cxy = (xb-xa)(yb-ya);
Это однородное квадратное уравнение легко решается.
Подойдут
kx = -cxy+-sqrt(sqr(cxy)-cxx*cyy)
ky = cxx
либо
kx = cyy
ky = -cxy-+sqrt(sqr(cxy)-cxx*cyy)
Выглядит, увы, несимметрично.
Подкоренное выражение положительно, когда точка вне круга, отрицательно, когда точка в круге и нулевое для точки на круге.



--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 2
Пол: Мужской
Реальное имя: Кирилл

Репутация: -  0  +


Цитата(TarasBer @ 23.01.2010 15:17) *

Касательная проходит через (xb, yb), значит её уравнение такое:
kx(X-xb) + ky(Y-yb) = 0
Мы знаем, что расстояние от точки xa, ya до этой прямой должно быть равно R
Для начала вспомним, что расстояние от нуля до прямой, заданной уравнением (kx*x+ky*y=c) равно
c/sqrt(sqr(kx)+sqr(ky))
(ну площадь треугольника делим на основание)
Если брать расстояние не от нуля, а от (xa, ya), то получим в числителе с-kx*xa-ky*ya
В данном случае с=kx*xb+ky*yb
Таким образом, уравнение будет такое:
kx(xb-xa) + ky(yb-ya)/sqrt(sqr(kx)+sqr(ky)) = R
Умножив обе части на знаменатель и возведя в квадрат получим такое уравнение на kx и ky:
cxx*sqr(kx)+2cxy*kx*ky+cyy*sqr(ky) = 0
Где cxx=sqr(xb-xa)-sqr®; cyy=sqr(yb-ya)-sqr®; cxy = (xb-xa)(yb-ya);
Это однородное квадратное уравнение легко решается.
Подойдут
kx = -cxy+-sqrt(sqr(cxy)-cxx*cyy)
ky = cxx
либо
kx = cyy
ky = -cxy-+sqrt(sqr(cxy)-cxx*cyy)
Выглядит, увы, несимметрично.
Подкоренное выражение положительно, когда точка вне круга, отрицательно, когда точка в круге и нулевое для точки на круге.

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


--------------------
Turbo Pascal жесток...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


Только сейчас дошло, что надо считать оба варианта ответа и брать тот, в котором числа по модулю больше. Так как может возникнуть пара (0, 0), она не годится.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.10.2020 13:07
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name