Знаю координаты точек вершин треугольника {Xa,Ya; Xb,Yb; Xc,Yc}, длины сторон {AB=a; BC=b, CA=c}, радиус описанной окружности {R}. НУЖНА формула или ещё что-нибудь по нахождению координат центра этой окружности.
arhimag
13.12.2006 1:37
смотри выводишь формулу прямой перпендикулярной, одной из сторон, и проходящей церез ее середину, дальше проделываешь тоже самое для другой и ищешь их точку пересечения
procedure FindCenter(X1,Y1,X2,Y2,X3,Y3:integer); //нахождение центра и радиуса окружности, описанной //вокруг треугольника с вершинами в точках //(X1,Y1), (X2,Y2) и (X3,Y3) var a1,a2,b1,b2,c1,c2,znam:extended; begin a1:=x2-x1; a2:=x3-x1; b1:=y2-y1; b2:=y3-y1; c1:=(a1*(x2+x1)+b1*(y2+y1))/2; c2:=(a2*(x3+x1)+b2*(y3+y1))/2; znam:=a1*b2-a2*b1; //здесь, при необходимости, можно вставить проверку деления на 0 //... и ругань на некорректный ввод :-) в случае чего. но я с этим //заморачиваться не стал. c.x:= (c1*b2 - c2*b1)/znam; c.y:= (a1*c2 - a2*c1)/znam; c.r:= sqrt(sqr((x1-c.x))+sqr(y1-c.y)); end;
santa-klaOs
13.12.2006 4:28
Спасибо... блин... короче, спасибо!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.