Write a program that plots the sine function in red and the
Solution
import java.awt.BorderLayout;
 import java.awt.Graphics;
 import java.awt.Polygon;
 import java.awt.Color;
 import javax.swing.JFrame;
 import javax.swing.JPanel;
public class Exercise14_19 extends JFrame
 {
public Exercise14_19() {
 setLayout(new BorderLayout());
 add(new DrawSine(), BorderLayout.CENTER);
 }
public static void main(String[] args)
 {
 Exercise14_19 frame = new Exercise14_19();
 frame.setSize(400, 300);
 frame.setTitle(\"Exercise14_19\");
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 frame.setLocationRelativeTo(null);
 frame.setVisible(true);
}
class DrawSine extends JPanel
 {
double f(double x)
 {
 return Math.sin(x);
 }
double gCos(double y)
 {
 return Math.cos(y);
 }
protected void paintComponent(Graphics g)
 {
 super.paintComponent(g);
g.drawLine(10, 100, 380, 100);
 g.drawLine(200, 30, 200, 190);
g.drawLine(380, 100, 370, 90);
 g.drawLine(380, 100, 370, 110);
 g.drawLine(200, 30, 190, 40);
 g.drawLine(200, 30, 210, 40);
g.drawString(\"X\", 360, 80);
 g.drawString(\"Y\", 220, 40);
Polygon p = new Polygon();
 Polygon p2 = new Polygon();
for (int x = -170; x <= 170; x++)
 {
 p.addPoint(x + 200, 100 - (int) (50 * f((x / 100.0) * 2 * Math.PI)));
}
for (int x = -170; x <= 170; x++)
 {
 p2.addPoint(x + 200, 100 - (int) (50 * gCos((x / 100.0) * 2 * Math.PI)));
}
g.setColor(Color.red);
 g.drawPolyline(p.xpoints, p.ypoints, p.npoints);
 g.drawString(\"-2\\u03c0\", 95, 115);
 g.drawString(\"-\\u03c0\", 147, 115);
 g.drawString(\"\\u03c0\", 253, 115);
 g.drawString(\"2\\u03c0\", 305, 115);
 g.drawString(\"0\", 200, 115);
g.setColor(Color.blue);
 g.drawPolyline(p2.xpoints, p2.ypoints, p2.npoints);
}
 }


