Retta

di il
8 risposte

Retta

Volevo sapere come si poteva rappresentare una retta in c++ inserendo i dati ?Premetto che non so proprio nulla di come fare

8 Risposte

  • Re: Retta

    Se la domanda è come disegnare una retta, la risposta è semplice, nei vari ambienti grafici ti vengono fornite delle primitive tipo DrawLine o simili.

    Se per 'rappresentare una retta in C++' intendi la sua rappresentazione nel codice, la risposta è, scrivendo una classe Retta. La retta è una funzione del tipo y = mx + q, quindi per definirla devi fornire i valori di m e q. Per rappresentare una retta in C++ puoi scrivere una classe:
    
    class Retta
    {
        double m;
        double q;
    
        Retta(double m, double q)
        {
            this.m = m;
            this.q = q;
        }
    }
    
    Dopo che l' utente ha introdotto i valori puoi creare un oggetto retta:
    
      m = ... leggo valore
      q = ... leggo valore
      Retta r1(m, q);
    
    Ora hai una rappresentazione informatica della retta, puoi scrivere codice che calcola le intersezioni tra due rette, la perpendicolare, la distanza di un punto da una retta ecc, puoi costruirti tutto un mondo geometrico.

    E puoi anche disegnarla, qui però entra in ballo l' ambiente in cui ti trovi (Windows/Linux/Apple/Android ecc.) non esiste uno standard, devi ricorrere a delle primitive specifice per disegnare sullo schermo. Quindi mentre la retta è un concetto astratto, matematico, e la classe che lo descrive rimane immutata, il codice per rappresentarla invece sarà diverso da ambiente a ambiente ed è bene che queste due cose restino separate, ciò ti permetterà di passare da un ambiente all' altro con facilità.

    Il discorso adesso diventa come disegnare il grafico di una funzione (la retta comincia a starci stretta), puoi ad esempio tracciare una sequenza di punti, oppure dei segmenti, facciamo l' esempio coi punti. Dato che per disegnare una retta (o una funzione) devi conoscere i valori della y che corrispondono ad una certa x, conviene aggiungere alla classe retta un metodo apposito:
    
    double Retta::Ordinata(x)
    {
       return m * x + q;	
    }
    
    E in un generico ambiente grafico scriverai qualcosa del genere (così è un po semplificato):
    
    for(int x=0; x < 1000; ++x)
    {
        double y = r1.Ordinata(x);   // r1 è la retta
        DrawPoint(x, y);
    }
    
    Ovviamente il tutto puo essere fatto in maniera più banale (introduci due valori, fai un for e tracci i punti, niente classi), ma visto che parliamo di C++ e stai imparando questo discorso puo esserti utile, e poi avevo voglia di chiacchierare.
  • Re: Retta

    Grazie mille per la tua esauriente risposta
  • Re: Retta

    Pero non ho capito alcune cose.
    Quando scrivi class retta che fa di preciso ? E come faccio a fare la "stampa su video" della retta ma anche di un segmento perchè il mio proggetto è arrivare a inserire il lati di un triangolo e farlo rappresentare
  • Re: Retta

    Spammer inside
  • Re: Retta

    Qualcuno ha già provveduto a farlo fuori
  • Re: Retta

    Gj
  • Re: Retta

    Si ma non sono stato io, c'è l'admin che non perdona
  • Re: Retta

    Spammer adios
Devi accedere o registrarti per scrivere nel forum
8 risposte