clasificarea metrica a conicelor
TRANSCRIPT
-
8/6/2019 Clasificarea metrica a conicelor
1/15
GEOMETRIE ALGEBRICACLASIFICAREA METRICA A CONICELOR
CHELBA VASILE MARIUS
MASTER II - CSIP
1. Ecuatia generala a conicelor
Definitie. Se numeste conica, sau curba de gradul doi, multimea C a punctelor M(x, y)din plan ale caror coordonate satisfac o ecuatie de forma:
ax2 + bxy + cy2 + dx + ey + f = 0,
unde toti coeficientii sunt reali si din primii trei coeficienti, cel putin unul este diferit de
0.
In continuare vom pune ecuatia conicei sub forma:
a11x2 + 2a12xy + a22y
2 + 2b1x + 2b2y + c = 0,
pentru a ne usura munca n cele ce urmeaza.Denumirea de conica se explica prin faptul ca o asemenea curba rezulta din intersectia
unui con circular drept (considerat cu cele doua panze ale sale) cu un plan si deci poatefi: o elipsa, o hiperbola sau o parabola, asa cum vedem n figurile 1-3.
Figura 1. Prin intersectia cu un plan oblic obtinem o elipsa
Figura 2. Prin intersectia cu un plan paralel cu una din generatoareobtinem o parabola
Pentru clasificarea conicelor, putem presupune fara sa restrangem generalitatea caa11 = 0, sau chiar a11 > 0.Chiar daca a11 = 0 sau a11 < 0, prin schimbari de coordonate convenabile obtinem o
1
-
8/6/2019 Clasificarea metrica a conicelor
2/15
2 CHELBA VASILE MARIUS MASTER II - CSIP
Figura 3. Prin intersectia cu un plan paralel cu naltimea conului obtinemo hiperbola
ecuatie a conicei cu a11 > 0.Astfel daca a11 = 0 dar a22 = 0, facem schimbarea de coordonate:
x = y;
y = x.
obtinanda11y
2 + 2a12xy + a22x
2 + 2b1y + 2b2x
+ c = 0.
Daca a11 = 0 si a22 = 0, atunci a12 trebuie sa fie diferit de 0, permitandu-ne sa facemschimbarea de coordonate urmatoare:
x =
x
2+
y
2;
y = x2
+y
2.
ecuatia conicei devenind:
2a12x2 2a12y2 + 2(b1 + b2)x + 2(b2 b1)y + c = 0.
De asemenea, daca a11 < 0, nmultim cu 1 obtinand a11 > 0.In continuare formam un patrat perfect care sa contina toti termenii n x.
Astfel avem:a11x
2 + 2a12xy + 2b1x +a212a11
y2 +b21
a11+ 2
a12b1
a11y
a
212
a11y2 b
21
a112a12b1
a11y+a22y
2+2b2y+c = 0.
Grupand termenii, obtinem:a11x +
a12a11
y +b1a11
2+
a22 a
212
a11
y2 +
2b2 2 a12b1
a11
y + c b
21
a11= 0.
In ecuatia de mai sus facem schimbarea de coordonate urmatoare:
x = x +
a12
a11y +
b1
a11;
y = y.
obtinand:
a11x2 +
a22 a
212
a11
y2
+
2b2 2a12b1
a11
y + c b
21
a11= 0.
Schimbarea de coordonate de mai sus este metrica, asa cum vor fi toate transformarilepe care le vom face n continuare, determinantul matricei transformarii fiind 1.
1
a12
a110 1
= 1.
-
8/6/2019 Clasificarea metrica a conicelor
3/15
GEOMETRIE ALGEBRICA CLASIFICAREA METRICA A CONICELOR 3
2. Clasificarea metrica a conicelor
In continuare vom analiza coeficientii ecuatiei de mai sus distingand diferite cazuri.
I: a22 a2
12
a11= 0
In acest caz vom obtine o conica de gen parabolic, cazurile urmatoare oferind oimagine mai detaliata.
Ia: b2 a12b1a11
= 0
Daca si acest coeficient este 0 se obtine o conica degenerata cu ecuatia:
a11x2 + c b
21
a11= 0.
Subcazurile care urmeaza explicitand mai departe:
Iai: c b2
1
a11= 0
In acest caz obtinem doua drepte confundate:
d1 = d2 : x2 = 0
sau revenind asupra transformarii de coordonate:
d1 = d2 : x +a12
a11y +
b1
a11= 0
Iaii: c b2
1
a11> 0
Obtinem ecuatia:
a11x2 + c
b21
a11= 0
Aceasta ecuatie nu are nicio solutie n R2, nsa n C avem ecuatiile adoua drepte imaginare:
d1 :
a11x i
b
21
a11+ c = 0
d2 :
a11x + i
b
21
a11+ c = 0
Iaiii: c
b21
a11< 0
Aici obtinem doua drepte paralele :
d1 :
a11x
b21
a11 c = 0
d2 :
a11x +
b21
a11 c = 0
Ib: b2 a12b1a11
= 0In acest caz obtinem o parabola. Pentru a pune ecuatia parabolei n forma
-
8/6/2019 Clasificarea metrica a conicelor
4/15
4 CHELBA VASILE MARIUS MASTER II - CSIP
standard, n cazul n care termenul liber este diferit de 0, vom face urmatoareaschimbare de coordonate:
x = x;
y = y + 2b2 2a12b1
a11 1
cb21
a11 .obtinand ecuatia:
a11x2 +
2b2 2a12b1
a11
y = 0.
Mai departe, notand:
p =1
a11
b2 a12b1
a11
avem:
x2
+ 2py = 0.
II: a22 a2
12
a11= 0
Notam a11a22 a212 = . Avem ecuatia:
a11x2 +
1
a11y
2+ 2
b2a11 a12b1
a11
y +
ca11 b21a11
= 0
apoi, nmultind cu a11:
a211
x2
+ y 2
+ 2 (b2a11 a12b1) y + ca11 b21 = 0.In continuare vom face discutia n functie de acest .
IIa: > 0
Acum vom forma un patrat care sa contina toti coeficientii n y.Astfel avem:
a211x2 + y
2+ 2
b2a11 a12b1
y +
b2a11 a12b1
2
b2a11 a12b1
2+ ca11b21 = 0.
si mai departe:
a211x2 +
y +
b2a11 a12b1
2
b2a11 a12b1
2+ ca11 b21 = 0
Vom face schimbarea de coordonate:
x = x;
y = y + b2a11 a12b1
.
si rezulta ecuatia:
a211x2 + y
2+
b2a11 a12b1
2+ ca11 b21
M
= 0
Vom continua discutia cazurilor n funct ie de parametrul M, care constituietermenul liber rezultat n urma schimbarilor de coordonate efectuate pana nacest moment.
-
8/6/2019 Clasificarea metrica a conicelor
5/15
GEOMETRIE ALGEBRICA CLASIFICAREA METRICA A CONICELOR 5
IIai: M < 0
In acest caz obtinem o elipsa de ecuatie:
x2
a2+
y2
b2 1 = 0,
unde:a =
Ma11
si b =
M
.
IIaii: M = 0In aceste conditii avem un punct dublu x = y = 0.
IIaiii: M > 0
Obtinem o elipsa imaginara deoarece avem coeficientii lui x2 si y2,respectiv a211 si , mai mari decat 0, iar M > 0.
IIb: < 0
Din nou vom forma un patrat care sa contina toti coeficientii n y si obtinem:
a211x2()y2 + 2 a12b1 b2a11 y + a12b1 b2a11 2+a12b1 b2a11
2
+ca11b21 = 0.
mai departe:
a211x2
y + a12b1 b2a11
2+
a12b1 b2a11
2+ ca11 b21 = 0.
Vom face schimbarea de coordonate:
x = x;
y = y +a12b1 b2a11
.
si rezulta ecuatia:
a211
x2 ()y2 +
a12b1 b2a11
2+ ca11 b21
M
= 0
Vom continua discutia cazurilor n funct ie de parametrul M.IIbi: M = 0
Sub aceste conditii, conica obtinuta este o hiperbola.IIbii: M = 0
In acest caz avem doua drepte concurente:
d1 : a11x y = 0;
d2 : a11x +
y = 0;
3. Clasificarea conicelor cu ajutorul C++
Cu ajutorul celor prezentate mai sus, se poate implementa un program ntr-un limbajde programare oarecare, pentru a ne usura munca n ceea ce priveste gasirea schimbarilorde coordonate potrivite si a calculelor.Am implementat acest algoritm ntr-un program C++ care ne indica schimbarile de co-ordonate necesare, precum si cu ce conica avem de a face. In continuare prezint codul
-
8/6/2019 Clasificarea metrica a conicelor
6/15
6 CHELBA VASILE MARIUS MASTER II - CSIP
explicat al programului:
#include
#include
#include
#include #include
using namespace std;
bool flag=true;
double a_11,a_12,a_22,b_1,b_2,c;
double aux;
void readCoefs();
void writeEq();
char sgn(double x);
bool toDouble(char* p, double& x);
void main()
{
Citim coeficientii ecuatiei conicei, permitandu-se doar introducerea de numere reale, cuajutorul functiei readCoefs(). Dupa citirea unor coeficienti valizi va fi afisata ecuatia,formatata corespunzator, prin intermediul functiei writeEq().
readCoefs();
writeEq();
cout
-
8/6/2019 Clasificarea metrica a conicelor
7/15
GEOMETRIE ALGEBRICA CLASIFICAREA METRICA A CONICELOR 7
a_22=-a_11;
a_12=0;
aux=b_1;
b_1=b_1+b_2;
b_2=b_2-aux;
}}
else
{
cout
-
8/6/2019 Clasificarea metrica a conicelor
8/15
8 CHELBA VASILE MARIUS MASTER II - CSIP
if (a_12/a_11!=0)
{
if (fabs(a_12/a_11)==1)
{
k+=sprintf_s(schv+k,300-k,"%c ",sgn(a_12/a_11));
k+=sprintf_s(schv+k,300-k," %s","y ");}
else
{
k+=sprintf_s(schv+k,300-k,"%c",sgn(a_12/a_11));
k+=sprintf_s(schv+k,300-k," %4.3f",fabs(a_12/a_11));
k+=sprintf_s(schv+k,300-k,"%s"," * y ");
}
}
if (b_1/a_11!=0)
{
k+=sprintf_s(schv+k,300-k,"%c",sgn(b_1/a_11));k+=sprintf_s(schv+k,300-k," %4.3f",fabs(b_1/a_11));
k+=sprintf_s(schv+k,300-k,"%s",";");
}
cout
-
8/6/2019 Clasificarea metrica a conicelor
9/15
GEOMETRIE ALGEBRICA CLASIFICAREA METRICA A CONICELOR 9
printf_s("d1 : %4.3f * x - i * %4.3f = 0;\n",sqrt(a_11)
,sqrt(c-(b_1*b_1)/a_11));
printf_s("d2 : %4.3f * x + i * %4.3f = 0.\n\n",sqrt(a_11)
,sqrt(c-(b_1*b_1)/a_11));
}
else//c
-
8/6/2019 Clasificarea metrica a conicelor
10/15
-
8/6/2019 Clasificarea metrica a conicelor
11/15
GEOMETRIE ALGEBRICA CLASIFICAREA METRICA A CONICELOR 11
}
}
cout
-
8/6/2019 Clasificarea metrica a conicelor
12/15
12 CHELBA VASILE MARIUS MASTER II - CSIP
flag=false;
}
}
while (flag==false);
do{
flag=true;
couttmp;
if (!toDouble(tmp,b_1))
{
cout
-
8/6/2019 Clasificarea metrica a conicelor
13/15
GEOMETRIE ALGEBRICA CLASIFICAREA METRICA A CONICELOR 13
void writeEq()
{
char eqtn[500];
int j=0;
if (a_11!=0)
{
if (fabs(a_11)==1)
{
if (sgn(a_11)==-)
j+=sprintf_s(eqtn+j,500-j,"%s","- ");
j+=sprintf_s(eqtn+j,500-j,"%s","x^2 ");
}
else
{
if (a_11
-
8/6/2019 Clasificarea metrica a conicelor
14/15
14 CHELBA VASILE MARIUS MASTER II - CSIP
}
}
if (b_1!=0)
{
if (fabs(2*b_1)==1){
j+=sprintf_s(eqtn+j,500-j,"%c",sgn(b_1));
j+=sprintf_s(eqtn+j,500-j,"%s"," x ");
}
else
{
j+=sprintf_s(eqtn+j,500-j,"%c",sgn(b_1));
j+=sprintf_s(eqtn+j,500-j," %4.3f",fabs(2*b_1));
j+=sprintf_s(eqtn+j,500-j,"%s"," * x ");
}
}
if (b_2!=0)
{
if (fabs(2*b_2)==1)
{
j+=sprintf_s(eqtn+j,500-j,"%c",sgn(b_2));
j+=sprintf_s(eqtn+j,500-j,"%s"," y ");
}
else
{
j+=sprintf_s(eqtn+j,500-j,"%c",sgn(b_2));
j+=sprintf_s(eqtn+j,500-j," %4.3f",fabs(2*b_2));j+=sprintf_s(eqtn+j,500-j,"%s"," * y ");
}
}
if (c!=0)
{
j+=sprintf_s(eqtn+j,500-j,"%c",sgn(c));
j+=sprintf_s(eqtn+j,500-j," %4.3f",fabs(c));
}
j+=sprintf_s(eqtn+j,500-j,"%s"," = 0");
if (+==eqtn[0])
{
string delta=eqtn;
delta=delta.substr(2,strlen(eqtn));
cout
-
8/6/2019 Clasificarea metrica a conicelor
15/15
GEOMETRIE ALGEBRICA CLASIFICAREA METRICA A CONICELOR 15
char sgn(double x)
{
if (x>0) return +;
return -;
}
bool toDouble(char* p, double& x)
{
std::istringstream ss(p);
ss>>x;
if (!ss) return false;
return(ss.rdbuf()->in_avail()==0);
}