File: java1.java

package info (click to toggle)
ohcount 3.0.0-6.1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 4,828 kB
  • sloc: ansic: 6,534; ruby: 2,560; perl: 2,041; erlang: 350; lisp: 272; sh: 244; pascal: 196; vhdl: 150; haskell: 149; asm: 127; cs: 124; awk: 98; java: 92; php: 73; tcl: 58; xml: 57; fortran: 54; makefile: 32; python: 31; ada: 30; objc: 30; jsp: 28; sql: 18; cobol: 13; ml: 9; cpp: 3
file content (48 lines) | stat: -rw-r--r-- 912 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// Program 11.6: A nicer sine wave
import java.applet.Applet;    
import java.awt.Graphics; 

public class SineApplet2 extends Applet {

	public void paint(Graphics g) {

		int i, j1, j2;

		j1 = yvalue(0);
		for (i = 0; i < size().width; i++) {
			j2 = yvalue(i+1);
			g.drawLine(i, j1 ,i+1, j2);
			j1 = j2;
		}

	}

	// Given the  xpoint we're given calculate the Cartesian equivalent
	private int yvalue(int ivalue)  {

		double xmin = -10.0;
		double xmax =  10.0;
		double ymin = -1.0;
		double ymax =  1.0;
		double x, y;
		int jvalue;

		x = (ivalue * (xmax - xmin)/(size().width - 1)) + xmin;

		// Take the sine of that x 
		y = Math.sin(x);

		// Scale y into window coordinates
		jvalue = (int) ((y - ymin)*(size().height - 1)/
				(ymax - ymin));

		/* Switch jvalue from Cartesian coordinates 
			 to computer graphics coordinates */   
		jvalue = size().height - jvalue;

		return jvalue;

	}

}