`
yuyeyi
  • 浏览: 38170 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

线程的正弦函数

阅读更多
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class SinTest extends JFrame {
	double a=100;
	double b=100.0;
	////double c=10.0;
	public SinTest() {
		getContentPane().setLayout(new BorderLayout());
		displayPanel.setBackground(Color.gray);
		drawPanel=new DrawPanel(this);
		getContentPane().add(drawPanel,"Center");
		pack();
		}
	public static void main(String args[]){
		SinTest st=new SinTest();
	
		st.setLocation(200,200);
		st.setVisible(true);
		st.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		}
	public double getA(){
		return a;
		}
	double f(double x,double c) {
		return (Math.sin(x/a+c) * b+getSize().height / 2);
	
	}


	public String getAppletInfo() {
		return "绘制正弦曲线";
		}

	private DrawPanel drawPanel;
	private JPanel displayPanel=new JPanel();

	}

class DrawPanel extends JPanel implements Runnable,MouseListener{
////***************************************
	double c;
	Thread thread;
	boolean isStopped;
	public DrawPanel(SinTest owner) {
		graApp=owner;
	//********************************
		c=0.0;
		this.setPreferredSize(new Dimension(800,300));
		this.addMouseListener(this);
		(thread=new Thread(this)).start();
		}

	public void paint(Graphics g) {
		graApp.setTitle("C:"+c);
		g.clearRect(0,0,getSize().width,getSize().height);
		g.setColor(Color.red);
		for (int x = 0 ; x < getSize().width ; x++) {
		g.drawLine(x, (int)(graApp.f(x,c)), x + 1, (int)(graApp.f(x + 1,c)));
		}
	}

	public void run() {
		while(true){
		repaint();
		if(!isStopped)
		if((c+=.1)>2*Math.PI*graApp.getA())c=0;
		
		try {
		thread.sleep(100);
		} catch (InterruptedException ex) {
		ex.printStackTrace();
				}
			}
		}

	public void mouseClicked(MouseEvent e) {
	
		}

	public void mousePressed(MouseEvent e) {
		}

	public void mouseReleased(MouseEvent e) {
		isStopped=!isStopped;
	
		}

	public void mouseEntered(MouseEvent e) {
		}

	public void mouseExited(MouseEvent e) {
		}

	SinTest graApp;
	} 
分享到:
评论

相关推荐

    查表法实现三角函数,常用三角函数表值查表,C,C++源码.zip

    1. 常用三角函数:主要包括正弦(sin)、余弦(cos)、正切(tan)等。在计算机图形学、信号处理等领域,这些函数的应用广泛,而查表法可以显著提升这些计算的速度。 2. 表格生成:首先,需要生成一个足够精确的...

    简单的多线程的实现

    在上述代码中,`std::thread`构造函数接收一个函数指针和参数列表,用于在线程中调用。`join()`函数用于等待线程执行结束,防止主线程过早退出,导致子线程被异常终止。 运行这个程序,你会看到两个线程交替打印...

    MFC 科学计算器(包括常用的三角函数)

    在这个“MFC科学计算器”项目中,开发者利用MFC框架创建了一个功能丰富的科学计算器,它不仅支持基本的四则运算,还包含了常用的三角函数,如正弦、余弦、正切等,为用户提供了一种便捷的计算工具。 **MFC框架** ...

    易语言三角函数集模块源码-易语言

    首先,我们要知道易语言中的三角函数主要包括:正弦(Sin)、余弦(Cos)、正切(Tan)、反正弦(ASin)、反余弦(ACos)和反正切(ATan)。这些函数在易语言的标准库中都有相应的实现,但在特定的项目需求下,我们...

    线程三个随机数

    这可能通过事件、回调函数、异步操作或者简单的共享变量完成。在多线程环境中,必须确保这些操作是线程安全的,以防止数据竞争和死锁。 在提供的文件列表中,`.sln`文件是Visual Studio解决方案文件,包含一个或多...

    多线程测试

    随机函数可以模拟各种噪声类型,如高斯噪声、白噪声等,这些噪声在实际应用中是不可避免的。 接下来,中值滤波算法是一种非线性的滤波方法,特别适用于去除图像或信号中的椒盐噪声。相比于平均滤波,中值滤波对边缘...

    Delphi函数参考大全-(上)

    第4章 三角函数 第5章 统计函数 第6章 金融函数 第7章 随机数函数 第8章 单位换算函数 第9章 日期函数 第10章 类型转换函数 第11章 异常处理函数 第12章 文件处理函数 第13章 图形计算与处理函数 第14章 ...

    Delphi函数参考大全---(下)

    第4章 三角函数 第5章 统计函数 第6章 金融函数 第7章 随机数函数 第8章 单位换算函数 第9章 日期函数 第10章 类型转换函数 第11章 异常处理函数 第12章 文件处理函数 第13章 图形计算与处理函数 第14章 ...

    线程实训 图形程序 时钟

    这里利用了数学中的三角函数来计算针的位置。 - **动态更新时钟**:在`run()`方法中,通过无限循环并不断更新当前时间来计算时、分、秒针的角度,并调用`repaint()`方法重新绘制时钟,从而实现了动态显示效果。 - **...

    ORBSLAM3线程分解【小白轻松入门版】(1)1

    在MonocularInertialization()函数中,进行单目初始化,利用2D-2D匹配进行当前图像帧与初始图像帧之间的匹配,三角化成功,系统状态转为OK。 4. 关键帧处理 在ORBSLAM3中,关键帧列表用于存储关键帧信息。关键帧...

    delphi多线程编程[归类].pdf

    这个操作是一个循环,调用了名为`Func1`的函数,该函数计算一个数值的正弦平方根的绝对值。在主界面中,我们有两个按钮,`Button1`和`Button2`,以及一个`Memo`控件。`Button1`模拟单线程执行,`Button2`启动线程...

    C++常用系统函数

    * _beginthreadex函数:创建新线程,指定线程函数。 * _endthreadex函数:终止当前线程,释放资源。 * _sleep函数:使当前线程休眠。 * _usleep函数:使当前线程休眠,微秒级。 * _exit函数:终止当前进程。 * _c...

    040_《Delphi函数参考大全》(2/4)

    包括字符串处理函数、数学计算函数、序数函数、三角函数、统计函数、金融函数、随机数函数、单位换算函数、日期函数、类型转换函数、异常处理函数、文件处理函数、图形计算与处理函数、格式转换函数、对话框函数、...

    040_《Delphi函数参考大全》(1/4)

    包括字符串处理函数、数学计算函数、序数函数、三角函数、统计函数、金融函数、随机数函数、单位换算函数、日期函数、类型转换函数、异常处理函数、文件处理函数、图形计算与处理函数、格式转换函数、对话框函数、...

    040_《Delphi函数参考大全》(3/4)

    包括字符串处理函数、数学计算函数、序数函数、三角函数、统计函数、金融函数、随机数函数、单位换算函数、日期函数、类型转换函数、异常处理函数、文件处理函数、图形计算与处理函数、格式转换函数、对话框函数、...

    040_《Delphi函数参考大全》(4/4)

    包括字符串处理函数、数学计算函数、序数函数、三角函数、统计函数、金融函数、随机数函数、单位换算函数、日期函数、类型转换函数、异常处理函数、文件处理函数、图形计算与处理函数、格式转换函数、对话框函数、...

    现代CPU架构与多线程SIMD编程(英文版).pdf

    这个函数通过泰勒级数展开来计算正弦值。在单线程执行的版本中,程序通过循环结构来逐步计算泰勒级数的每一项。然而,这种方式并没有很好地利用现代CPU的并行能力。为了实现并行化,可以对这种类型的计算进行重写,...

    VC++绘制动态正弦曲线

    3. 实现定时器或线程的回调函数,计算新的sin(x)值。 4. 使用GDI函数在对话框的绘图区域上绘制正弦曲线。 5. 考虑重绘策略,比如是否平滑线条,如何优化更新速度等。 6. 添加用户交互,如改变频率、振幅或角度等参数...

    一些学习资料(EJB,word,excel,java多线程)

    函数大全通常会涵盖各种类型的功能,如数学与三角函数、统计函数、日期与时间函数、文本函数、逻辑函数等。例如,SUM函数用于求和,AVERAGE用于计算平均值,VLOOKUP用于在表格中查找数据,COUNTIF可以对满足特定条件...

    STM32f072 数学库计算优化

    2. **库函数选择**:STM32的标准库(HAL库或LL库)提供了大量的数学函数,如三角函数(sin、cos等)。这些函数在实现上可能不最优,因此在性能敏感的应用中,可以考虑使用更高效的库,如CMSIS-DSP库,它专为嵌入式...

Global site tag (gtag.js) - Google Analytics