Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Determinare l'equazione di una retta passante per due punti*/
- /*Sapendo che per calcolare l'equazione della retta, dati 2 punti p1(x1,y1) e p2(x2,y2),
- bisogna impostare l'equazione seguente: (y-y1)/(y2-y1)=(x-x1)/(x2-x1)
- che può scriversi ax+bx+c=0 (equazione implicita della retta)
- con a=y2-y1 , b=x1-x2 , c=(x2*y1)- (x1*y2). */
- #include <iostream.h>
- #include <math.h>
- int main ()
- {
- float a, b, c, x1, x2, y1, y2, m, q, aa, bb;
- cout<<"Calcoliamo l'equazione di una retta passante per due punti p1 e p2"<< endl;
- //Inseriamo le coordinate cartesiane dei due punti p1(x1,y1) p2(x2,y1)
- cout<<"Inserisci l'ascissa del primo punto"<< endl;
- cin >> x1;
- cout<<"Inserisci l'ordinata del primo punto"<< endl;
- cin >> y1;
- cout<<"Inserisci l'ascissa del secondo punto"<< endl;
- cin >> x2;
- cout<<"Inserisci l'ordinata del secondo punto"<< endl;
- cin >> y2;
- a=y2-y1; b=x1-x2; c=(x2*y1)-(x1*y2); m=-(a/b); q=-(c/b);
- //Controllo se me q sono valori interi oppure razionali
- m=-(a"/"b);
- q=-(c"/"b);
- //Ricaviamo dunque l'equazione della retta
- cout<<"L'equazione implicita della retta e'"<< endl;
- cout<<a<<"x";
- {
- if(b>=0)
- cout<<"+"<<b<<"y";
- else
- cout<<b<<"y";
- if(c>=0)
- cout<<"+"<<c<<"=0";
- else
- cout<<c<<"=0";
- }
- cout<< endl;
- /*cout<<"L'equazione esplicita e'"<< endl;
- cout<<"y="<<m<<"x";
- {
- if(q>=0)
- cout<<"+"<<q;
- else
- cout<<q;
- cout<< endl;
- }*/
- cout<<"L'equazione esplicita e'"<< endl;
- aa=fmodf(a, 2);
- bb=fmodf(b, 2);
- {
- if(aa==0)
- cout<<"y="<< m<<"x";
- else
- cout<<"y="<<"-("<< a<<"/"<< b<<")"<<"x";
- }
- {
- if(bb==0)
- {
- if(q>=0)
- cout<<"+"<< q;
- else
- cout<< q<< endl;
- }
- else
- cout<<"-("<<c<<"/"<<b<<")"<< endl;
- }
- system("pause");
- }
Add Comment
Please, Sign In to add comment