1   package fi.jyu.mit.graphics;
2   
3   /**
4    * Luokka cos-funktion käsittelemiseksi.
5    * a*cos(b*x) oletuksen cos(x)
6    */
7   public class CosFun implements FunctionRR {
8     
9     /**
10     * Luodaan stattinen cosini-funktio kaikkien käyttöön.
11     */  
12    public static final FunctionRR cos = new CosFun();
13  
14    
15    private double a = 1;
16    private double b = 1;
17    
18    /**
19     * Alustetaan oletuksilla   
20     */
21    public CosFun() {
22        // ei tarvii tehdä mitään
23    }
24    
25    /**
26     * Asettaa funktion a*cos(b*x) parametrit a ja b
27     * @param a funktion a-parametri
28     * @param b funktion b-parametri
29     */
30    public CosFun(double a, double b) {
31        this.a = a;
32        this.b = b;
33    }
34    
35    /**
36     * Cosinifunktion arvo pisteessä x 
37     * @param x mistä cos lasketaan
38     * @return cosinin arvo pisteessä x
39     */
40    @Override
41    public double f(double x) {  // NOPMD, nyt f on hyvä nimi
42      return a*Math.cos(b*x);
43    }
44  }