Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Evolvente - Funzione_evolvente.pas

Funzione_evolvente.pas

Caricato da: Poggi Marco
Scarica il programma completo

  1. {$mode objfpc}  {$H+}
  2.  
  3. unit Funzione_evolvente;
  4.  
  5. interface
  6. uses grafica;
  7.  
  8. type evolvente=class
  9.  private
  10.    raggio:double;
  11.    procedure setRaggio(r:double);
  12.  public
  13.    constructor crea(r:double);
  14.    function calcola(angolo:double):tpuntoxy;
  15.    property alfa:double read raggio write setRaggio;
  16. end;
  17.  
  18. implementation
  19.  
  20. constructor evolvente.crea(r:double);
  21. begin
  22.   setRaggio(r);
  23. end;
  24.  
  25. function evolvente.calcola(angolo:double):tpuntoxy;
  26. var esito,trig:tpuntoxy;
  27. begin
  28.   trig.px:=cos(angolo);
  29.   trig.py:=sin(angolo);
  30.   esito.px:=raggio * (trig.px + angolo * trig.py);
  31.   esito.py:=raggio * (trig.py - angolo * trig.px);
  32.   calcola:=esito;
  33. end;
  34.  
  35. procedure evolvente.setRaggio(r:double);
  36. begin
  37.   raggio:=abs(r);
  38.   if raggio < 1e-18 then
  39.       raggio:=1.0;
  40. end;
  41.  
  42.  
  43. begin
  44.  
  45. end.