Sunteți pe pagina 1din 3

Cercul lui Apollonius

Teorema 8: Locul geometric al punctelor ale cror distane la dou puncte fixe sunt ntrun raport constant k 1 este un cerc (Cercul lui Apollonius). Demonstraie: Fie A, B puncte fixe i k>1; atunci orice punct P al locului geometric este situat n semiplanul (dB, unde d este mediatoarea lui [AB].

Dac C si D sunt interseciile lui AB cu bisectoarea interioar i cea exterioar a lui AC AD AP = = =k, , atunci, n conformitatea cu teorema bisectoarei unui unghi, APB BC BD BP deci, punctele fixe C, D aparin locului geometric. Pe de alt parte PC PD , deci P se afl pe un cerc C de diametru CD .

AN = k1 BN avem N ( dB deci k1 >1. Din ceea ce-am artat mai sus rezult c N se afl pe un cerc C1 de AN 1 AN 2 = = k 1 . Dac k1 >k punctele N 1 , N 2 sunt mai diamteru [ N 1 N 2 ] , unde N 1 , N 2 AB, BN 1 BN 2 aproape de B dect C, respectiv D, deci C1 Int C, n contradicie cu N C C1 . Dac k> k1 , atunci C Int C1, i iari am ajuns la contradicie. Aadar singurul caz probabil este k= k1 i deci N aparine locului geometric. Reciproc, orice punct N C aparine locului geometric. ntr-adevr, notnd Dac k<1, se schimb rolul lui A i B i se obine un cerc n semiplanul (dA. n cazul k = 1, locul geometric este mediatoarea d.

#include<graphics.h> #include<math.h> #include<iostream.h> #include<conio.h> #include<stdio.h> #include<dos.h> using namespace std; typedef struct{ float x,y; }punct; punct A,B,C,D,Q; float k; float r; void citire() { cout<<"Introduceti coordontale punctului A:"; cin>>A.x>>A.y; cout<<"Introduceti coordonatele punctului B:"; cin>>B.x>>B.y; do{ cout<<"Introduceti numarul k diferit de 1:"; cin>>k; }while(k==1); } void cerc() { C.x=(A.x+k*B.x)/(k+1); C.y=(A.y+k*B.y)/(k+1); D.x=(k*B.x-A.x)/(k-1); D.y=(k*B.y-A.y)/(k-1); Q.x=(C.x+D.x)/2; Q.y=(C.y+D.y)/2; r=sqrt((C.x-D.x)*(C.x-D.x)+(C.y-D.y)*(C.y-D.y))/2; } void desen_cerc() { setcolor(BLUE); line(A.x,A.y,B.x,B.y); setcolor(RED); outtextxy(A.x,A.y,"A"); outtextxy(B.x,B.y,"B"); outtextxy(C.x,C.y,"C");

outtextxy(D.x,D.y,"D"); setcolor(GREEN); circle(Q.x,Q.y,r); } int main() { int gd=DETECT,gm; initgraph(&gd,&gm,"c:\\BC31\\BGI"); initwindow(900,900); citire(); cerc(); desen_cerc(); getch(); closegraph(); return 0; }

S-ar putea să vă placă și