画sin函数的图像
函数图像是由大量的点构成的,作图时要注意一下坐标,还要把注意一下周期(如果JFrame的大小是600*600,sin函数在-300~300之间的周期太多,需要处理一下),同样sin函数取值在-1到1之间,比600小很多,需要将sin的值放大一下
import javax.swing.*;
import java.awt.*;
import java.math.*;
public class Sin extends JFrame
{
public int x,y;//坐标
public Sin()
{
this.setTitle("显示sin函数图像");
this.setLocation(200, 200);
this.setSize(600, 600);
this.setVisible(true);
}
public void paint(Graphics g)
{
g.setColor(Color.black);
g.drawLine(0, 300, 600, 300);//x轴
g.drawLine(300, 0, 300, 600);//y轴
g.setColor(Color.red );
for(int i=0;i<=600;i++)
{
x=i;
double y0=Math.sin((double)(1.0*(x-300)/100));//sin函数的参数和返回值都是double型
y=(int)(y0*250);//坐标放大到一个合适的倍数
g.fillOval(x, 300-y, 5, 5);//注意坐标!!
}
}
public static void main(String[] args) {
Sin sin=new Sin();
}
}
运行效果如下