Java之碰撞检测

Java之碰撞检测
1.简介:自复位保险丝
碰撞检测是计算机图形学和虚拟现实中最基本且⾮常重要的组成部分。它主要应⽤于:虚拟制造、CAD/CAM、计算机动画、物理建模、三维游戏、飞机和汽车驾驭模拟、机器⼈、路径和运动规划、装配。
2.碰撞处理:
碰撞检测(Collision  Detection):返回两个或多个物体是否发⽣碰撞的布尔判断。
碰撞确定(Collision  Determination):到物体之间实际相交位置。
碰撞响应(Collision  Response):针对两个物体之间的碰撞决定采取何种操作。
/**
* 碰撞检测测试,判断两个圆是否会发⽣碰撞
*
*/
public class RectangleRiclesDemo extends JFrame implements Runnable {
private static final long serialVersionUID = 1L;
/* 定义两圆左上⾓坐标、半径 */
private int x1 = 15, y1 = 45;
private int x2 = 35, y2 = 70;
private int r1 = 16, r2 = 18;
public RectangleRiclesDemo() {
setTitle("碰撞检测");
setSize(200, 600);
翻罐笼setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
@Override
public void paint(Graphics g) {
/* 画圆 */
g.drawOval(x1, y1, 2 * r1, 2 * r1);
g.drawOval(x2, y2, 2 * r2, 2 * r2);
防尘接线盒
}
@Override
衣架制作
主回路电阻public void run() {
/
* 判断两圆是否相交 */
// 两圆中⼼坐标
int centerX1 = x1 + r1, centerY1 = y1 + r1;灸绳
int centerX2 = x2 + r2, centerY2 = y2 + r2;
// 求两圆的圆⼼距
double length = Math.sqrt(Math.pow(centerX1 - centerX2, 2)
+ Math.pow(centerY1 - centerY2, 2));
// 判断圆⼼距与两圆半径和的关系
if (length < (r1 + r2)) {
JOptionPane.showMessageDialog(null, "圆⼼距:" + length + ",碰撞了");
} else {
JOptionPane.showMessageDialog(null, "圆⼼距:" + length + ",未碰撞");
}
}
public static void main(String[] args) {
new Thread(new RectangleRiclesDemo()).start();
}
}

本文发布于:2024-09-24 08:31:25,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/205189.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:碰撞   物体   两圆   计算机
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议