clasificarea metrica a conicelor

Upload: chevasmar

Post on 07-Apr-2018

232 views

Category:

Documents


0 download

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);

    }