java cos函数_【Java案例】余弦函数
前面介紹的余弦曲線的繪制,我們看到的是一個(gè)完整的靜態(tài)圖形,能否動態(tài)地展現(xiàn)繪制的過程?答案是肯定的,我們可以采用線程的方式來實(shí)現(xiàn),參考代碼如下:
import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
public class donghua_cos extends Applet implements Runnable
//通過實(shí)現(xiàn)Runnable接口實(shí)現(xiàn)線程操作
{
int x,y;
double a;
int xpos=0;
Thread runner;
boolean painted=false;
public void init() //Applet創(chuàng)建即啟動執(zhí)行,坐標(biāo)初始化
{
// TODO Auto-generated method stub
Graphics g=getGraphics(); ?//畫畫之前,必須先取得畫筆
for(x=0;x<=750;x+=1)? ? //畫x軸
{
g.drawString("·",x,200);
if(x<=385) g.drawString("·",360,x);
}
g.drawString("Y",330,20); ? //畫y軸
for(x=360;x<=370;x+=1) ? //畫y軸箭頭
{
g.drawString("·",x-10,375-x);
g.drawString("·",x,x-355);
}
g.drawString("X",735,230);
for(x=740;x<=750;x+=1) ? //畫x軸箭頭
{
g.drawString("·",x,x-550);
g.drawString("·",x,950-x);
}
}
public void start() //Applet創(chuàng)建后自啟動方法
{
// TODO Auto-generated method stub
if(runner==null){
runner=new Thread(this); ? //通過Thread類來啟動Runnable
runner.start();? //線程啟動
}
}
public void stop() //Applet生命周期結(jié)束后自啟動方法
{
// TODO Auto-generated method stub
if(runner!=null){
runner=null;//結(jié)束線程
}
}
public void run() //線程運(yùn)行方法
{
// TODO Auto-generated method stub
while(true){
for(xpos=0;xpos<900-90;xpos+=3)
//循環(huán)設(shè)置曲線x軸坐標(biāo)邊界
{
repaint();//調(diào)用paint()方法
try{
Thread.sleep(100);//線程休息100毫秒
}catch(InterruptedException e){}
if(painted)
{
painted=false;
}
}
}
}
public void paint(Graphics g)//畫圖方法
{
for(x=0;x<=xpos;x+=1)//循環(huán)畫曲線
{
a=Math.cos(x*Math. PI/180+Math.PI);
y=(int)(200+80*a);//放大80倍并向下平移200個(gè)像素
g.drawString("·",x,y);
}
painted=true;
}
總結(jié)
以上是生活随笔為你收集整理的java cos函数_【Java案例】余弦函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何更换美团个人头像
- 下一篇: java redis remove_最全