2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Длина касательной
Сообщение07.02.2009, 09:04 
Дана точка X,Y и координаты Xo, Yo и радиус R окружности. Нужно провести от точки к окружности касательную и вычислить её длину.

P.S. это подподзадача по программированию, если можно формулами, заранее спасибо.

 
 
 
 
Сообщение07.02.2009, 09:44 
Аватара пользователя
1. Касательных может быть две, одна или ни одной. О длине можно говорить только в случае двух.
2. Длину можно найти без построения по теореме Пифагора.
3. Что значит "провести"? Уравнение написать?
4. Сообщение написано не по правилам и провисит до первого пробуждения модератора.
5. Ну хотя бы для приличия высказали какие-нибудь свои соображения.

 
 
 
 
Сообщение07.02.2009, 16:19 
gris в сообщении #184341 писал(а):
2. Длину можно найти без построения по теореме Пифагора.

$L^2=(x-x_o)^2+(y-y_o)^2-R^2$ Если правая часть получится отрицательной, то точка лежит внутри круга.

 
 
 
 Re: Длина касательной
Сообщение07.02.2009, 16:46 
Аватара пользователя
DeVit писал(а):
это подподзадача по программированию, если можно формулами, заранее спасибо.

Архипов писал(а):
$L^2=(x-x_o)^2+(y-y_o)^2-R^2$ Если правая часть получится отрицательной, то точка лежит внутри круга.


START ("PODZADACHA");
INPUTFORMATREAL(X,Y,X0,Y0,R);
S=SQRT(SUM(SQUARED(DIFF(X,X0)),SQUARED(DIFF(Y,Y0))));
CASE(DIFF(S,R)):PRINT("NO SOLUTION. POINT IS INSIDE CIRCLE");
PRINT("NO SOLUTION. POINT IS ON CIRCLE");
PRINT("TWO SOLUTIONS. DLINA =",ENUMERATEFORMATREAL(SQRT(DIFF(SQUIRED(L),SQUIRED(R))))
MAP(ELOQ(CIRCLE(X0,Y0,R),POINT(X.Y)))); ENDCASE;
STOPENGINE;
END.

 
 
 
 Re: Длина касательной
Сообщение07.02.2009, 17:14 
Аватара пользователя
gris писал(а):
START ("PODZADACHA");
INPUTFORMATREAL(X,Y,X0,Y0,R);
S=SQRT(SUM(SQUARED(DIFF(X,X0)),SQUARED(DIFF(Y,Y0))));
CASE(DIFF(S,R)):PRINT("NO SOLUTION. POINT IS INSIDE CIRCLE");
PRINT("NO SOLUTION. POINT IS ON CIRCLE");
PRINT("TWO SOLUTIONS. DLINA =",ENUMERATEFORMATREAL(SQRT(DIFF(SQUIRED(L),SQUIRED(R))))
MAP(ELOQ(CIRCLE(X0,Y0,R),POINT(X.Y)))); ENDCASE;
STOPENGINE;
END.

Это Бейсик для блондинок? Оо

 
 
 
 
Сообщение08.02.2009, 15:18 
Спасибо про теорему пифагора, я что-то не додумался про прямой угол.

У меня ещё вопрос - как найти угол между векторами x,y и n+1,m?

 
 
 
 
Сообщение08.02.2009, 16:34 
Аватара пользователя
через скалярное произведение и арккосинус

 
 
 [ Сообщений: 7 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group