| FunctionR2Sample.java |
1 package sample;
2
3 import fi.jyu.mit.graphics.*;
4 import static java.lang.Math.*;
5
6
7 /**
8 * Esimerkki 3D-pinnan piirtämisestä.
9 * Piirtää monta rinnakkaista sin-käyrää ja pyörittää kuvaa.
10 * @author vesal
11 */
12 public class FunctionR2Sample {
13
14 /**
15 * Luokka sin*cos-funktion käsittelemiseksi.
16 * Luokka sin-funktion käsittelemiseksi.
17 */
18 public static class SinCos implements FunctionR2R {
19 /**
20 * Luodaan staattinen sincos-funktio kaikkien käyttöön.
21 */
22 public static final FunctionR2R sincos = new SinCos(); // NOPMD nimi saa kelvata
23
24 /**
25 * sin*cos-funktion arvo pisteessä x
26 * @param x mista arvo lasketaan
27 * @param y mista arvo lasketaan
28 * @return sin(x)*cos(y)
29 */
30 @Override
31 public double f(double x, double y) { // NOPMD, nyt f on hyva nimi
32 return sin(x)*cos(y);
33 }
34 }
35
36
37 /**
38 * @param args
39 */
40 public static void main(String[] args) {
41 EasyWindow window = new EasyWindow();
42 window.scale(-9,-9,9,9);
43 window.addAxis(15, 15, 15);
44 window.add(new FunctionMapR2R(SinCos.sincos,-2*PI,-2*PI,2*PI,2*PI));
45 window.rotate(Axis.X, 50);
46 window.rotate(Axis.Y, 20);
47 window.showWindow();
48 // new Rotator(window,Axis.Z,5,50);
49 window.setTouchPad(true);
50 window.setControlButtons(true);
51
52 }
53
54 }
55