模拟垂直上抛运动和水平抛体运动
package gui;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
* 编写一个Java GUI应用程序,采用Java多线程技术,有两个线程,模拟垂直上抛运动和水平抛体运动:一个球垂直上抛,一个球水平抛出。(本题30分)
(垂直上抛物理公式:h=v0*t-g*t2/2 ;平抛运动物理公式:h=g*t*2/2 ,x=v*t ;
h代表高度,v0代表初速度=30 m/s ,t代表时间,g代表重力加速度=9.8 m/s2 ,v代表平抛速度=30 m/s )
@start 2010-9-19 11:40
@end 12:20
* */
public class Two_TwoBallTwo {
public static void main(String[] args){
TwoBallTwo ball=new TwoBallTwo();
ball.init();
ball.start();
}
}
class TwoBallTwo extends JFrame{
JRadioButton ball1=new JRadioButton();
JRadioButton ball2=new JRadioButton();
double g=9.8;
double v0=30;
double t=1;
double t2=1;
double t3=1;
int width=800;
int height=600;
public void init(){
this.getContentPane().add(ball1);
this.getContentPane().add(ball2);
ball1.setBounds(50, height/2,20 ,20);
ball2.setBounds(5,10,20,20);
ball1.setSelected(true);
ball2.setSelected(true);
this.validate();
this.setVisible(true);
this.setBounds(111, 111, 800, 600);
}
public void start(){
//上 抛 --加修 正
Thread thread1=new Thread(){
public void run(){
while(true){
//side area confirm
if(Math.abs(ball1.getX())<width&&Math.abs(ball1.getY())<height){
t3+=0.1;
if(t<1){
t+=0.1;
}
ball1.setBounds(ball1.getX(),(int)(ball1.getY()-(v0*t-g*t3*t3/2)), 20, 20);
}
else{
try{
this.sleep(1000);
}
catch(Exception e2){}
t3=1;
ball1.setBounds(50, height/2,20 ,20);
t=1;
}
try{
this.sleep(30);
}
catch(Exception e){}
}
}
};
//平 抛 --add修 正
Thread thread2=new Thread(){
public void run(){
while(true){
//side area confirm
if(Math.abs(ball2.getX())<width&&Math.abs(ball2.getY())<height){
t2+=0.2;
ball2.setBounds((int)(ball1.getX()*t2),(int)(g*t2*t2/2), 20, 20);
}
else{
try{
this.sleep(30);
}
catch(Exception e2){}
t2=1;
ball2.setBounds(5, 10,20 ,20);
}
try{
this.sleep(30);
}
catch(Exception e){}
}
}
};
thread1.start();
thread2.start();
}
}
模拟垂直上抛运动和水平抛体运动相关推荐
- matlab模拟斜抛运动60,大学物理教学改革论文,关于大学物理教学方法改革-Matlab的妙用相关参考文献资料-免费论文范文...
导读:本文是一篇关于大学物理教学改革论文范文,可作为相关选题参考,和写作参考文献. (1.长江师范学院大学物理教研室 重庆 408100, 2.内蒙古工业大学 理学院物理系 内蒙古呼和浩特 01005 ...
- Unity 斜抛运动 路径点
1.截图 2.代码介绍 使用Unity自带Rigidbody刚体插件. 代码比较简单:使用Unity的 Rigidbody.velocity 进行位移(不使用AddForce). private ...
- Python + matplotlib.animation 模拟斜抛运动动画(含完整代码)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Abstract Introduction Matplotlib.animation Physics model and C ...
- 越区切换技术从层次网络上可以划分为水平切换和垂直切换,其中水平切换又可以分为硬切换、软切换、接力切换。
一.越区切换阐述 当移动台从一个小区(指基站或者基站的覆盖范围)移动到另一个小区时,为了保持移动用户的不中断通信需要进行的信道切换称为越区切换. 越区切换技术从层次网络上可以划分为水平切换和垂直切换, ...
- C语言编码小球斜抛运动,利用C4droid绘制小球斜抛运动轨迹(考虑空气阻力)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我把源代码分享出来,欢迎有兴趣的朋友下载测试,修改优化. /*********************************************** ...
- 模拟数据集上训练神经网络,网络解决二分类问题练习
#2018-06-24 395218 June Sunday the 25 week, the 175 day SZ ''' 模拟数据集上训练神经网络,网络解决二分类问题.'''import tens ...
- java 模拟post上传文件_JAVA模拟HTTP post请求上传文件
在开发中,我们使用的比较多的HTTP请求方式基本上就是GET.POST.其中GET用于从服务器获取数据,POST主要用于向服务器提交一些表单数据,例如文件上传等.而我们在使用HTTP请求时中遇到的比较 ...
- matlab 地形模拟程序,MATLAB模拟小球自由落体运动
大部分朋友学习MATLAB,需要一个学习示例用来参考,有一个比较经典的题目就是如何利用Matlab模拟小球自由落体运动,这可能会是你的某次课后作业,这个程序的编写过程可以分为三个步骤: 第一部分,设置 ...
- 【181130】VC++ 模拟地球太阳月亮运动的过程源代码
源码下载简介 VC++ 模拟地球太阳月亮运动的过程. 源码下载地址:点击下载 备用下载地址:点击下载
最新文章
- 青少年编程竞赛交流群周报(第036周)
- Java提升篇:对象克隆(复制)
- 实验 6 数组1输出最大值和它所对应的下标
- mppt多峰追踪MATLAB仿真,基于光伏功率等效面积法的多峰最大功率追踪控制方法...
- java矩阵类_java矩阵类,矩阵的乘法
- 关于cacti图形显示不正常的解决办法
- 安卓应用安全指南 5.6.2 密码学 规则书
- LeetCode 5364. 按既定顺序创建目标数组
- 简单的java恶搞小病毒_恶搞电脑病毒代码有哪些
- typora 免费版, 最后一个beta版本下载
- html如何给标题设置边框和底纹,word如何设置文字边框和底纹
- js表单提交enter触发提交
- python爬虫-《笔趣看》网小说《悟空看私聊》
- PostgreSQL数据库WAL——RM_HEAP_ID日志记录动作
- Eclipse同屏显示两个代码编辑窗口
- Ubuntu 16.04下EasyOpenJTAG+OpenOCD的安装和使用【转】
- 分享两篇适合程序员看的书籍——《谁动了我的奶酪》、《你的灯亮着吗?》读后感
- 甘超波:NLP价值观
- Wireshark抓取TCP三次握手包
- web前端 - Vue常见问题汇总及解决方案
热门文章
- 智商情商哪个重要_情商与智商哪个更重要
- Image Segmentation with U-Net(吴恩达课程)
- ati能备份linux格式吗,linux中ati显卡驱动(run文件)如何使用
- 渤海船舶职业学院计算机应用公司,渤海船舶职业学院校园网网络管理系统
- 基于Aprion算法的电影推荐
- 人工智能ai应用高管指南_营销商关于AI的完整指南
- FontForge不识别,WINDOWS报错:mstmc.ttf真的是字体文件吗?
- PHP phar反序列化
- MVC、MVP、MVVM 模式(待续)
- 如何在Kubernetes平台上搭建云IDE Theia