1 java comment // Program 11.6: A nicer sine wave
2 java code import java.applet.Applet;
3 java code import java.awt.Graphics;
5 java code public class SineApplet2 extends Applet {
7 java code public void paint(Graphics g) {
9 java code int i, j1, j2;
11 java code j1 = yvalue(0);
12 java code for (i = 0; i < size().width; i++) {
13 java code j2 = yvalue(i+1);
14 java code g.drawLine(i, j1 ,i+1, j2);
20 java comment // Given the xpoint we're given calculate the Cartesian equivalent
21 java code private int yvalue(int ivalue) {
23 java code double xmin = -10.0;
24 java code double xmax = 10.0;
25 java code double ymin = -1.0;
26 java code double ymax = 1.0;
27 java code double x, y;
30 java code x = (ivalue * (xmax - xmin)/(size().width - 1)) + xmin;
32 java comment // Take the sine of that x
33 java code y = Math.sin(x);
35 java comment // Scale y into window coordinates
36 java code jvalue = (int) ((y - ymin)*(size().height - 1)/
37 java code (ymax - ymin));
39 java comment /* Switch jvalue from Cartesian coordinates
40 java comment to computer graphics coordinates */
41 java code jvalue = size().height - jvalue;
43 java code return jvalue;