桌面台球

作业要求完成情况

  1. 向量:桌面台球系统的台球运动与球杆撞击计算均采用向量方式
  2. 物理函数库:利用Java-Box2D实现物理仿真
  3. 力:利用物理公式与摩擦力计算台球的运动状态与最终停留状态

以上实现了《代码本色》中的三个要求,接下来是代码详解与效果截图。

代码详解

引用情况

import shiffman.box2d.*;
import org.jbox2d.collision.shapes.*;
import org.jbox2d.common.*;
import org.jbox2d.dynamics.*;
import org.jbox2d.dynamics.contacts.*;

Processing、Box2D初始化与update

void setup() {// Initialize our box2d world (and our table)initWorld();// Load cursor for writing textcursor = new Cursor();
}void initWorld() {// Initialize box2d physics and create the worldbox2d = new Box2DProcessing(this);box2d.createWorld();// We are setting a custom gravity (no gravity)box2d.setGravity(0, 0);// Turn on collision listeningbox2d.listenForCollisions();// Initialize table and players (those floats are sizes)table = new PoolTable(0.6);playerManager = new PlayerManager(0.3, 0.13);
}void update() {box2d.step();table.update();
}void draw() {smooth();background(255, 210, 240);update();table.display();playerManager.display();fill(0);cursor.locate(10, height - 20);cursor.setTextSize(12);cursor.typePrevLine("Press ‘R’ to restart");if (!table.areBallsStill()) {cursor.typePrevLine("Press ‘T’ to skip");}
}

台球运动函数(1/2)

class Ball {Body body;float radius;boolean isDying;float minSpee

交互媒体技术大作业 - 桌面台球相关推荐

  1. 交互媒体技术——作品推荐

    交互媒体技术--作品推荐 <Gravity>--融入动画技术的交互应用(数技1602-周际翔) <打群架>--模拟<拥挤城市>(数技1604-江峰) Issac S ...

  2. 互动媒体技术课程作业 十二个“一”的人格感受

    互动媒体技术课程作业 十二个"一"的人格感受 (本文与编程无关) 十二个"一"的人格评价--想象为十二个异性追求者 结合以下五个方面评价 开放性(opennes ...

  3. 计算机网络技术专业毕业大作业答案,计算机网络技术大作业考核要求A卷

    2013级学生毕业补考试卷 计算机网络技术大作业考核要求(A卷) 适用专业:计算机网络技术适用年级:2013级 1.项目考核说明 (1)本次考试题目为"网络综合配置实验",主要考查 ...

  4. 计算机硬件大型作业报告,计算机硬件技术大作业报告.doc

    计算机硬件技术大作业报告 计算机硬件技术实践报告 题目 温度测量系统设计 姓名 专业 测控技术与仪器 班级 学号 上海电力学院自动化工程学院 目录: (1) 设计题目 () 开发目的 (3) 小组成员 ...

  5. matlab仿真技术大作业,matlab仿真技术大作业.docx

    matlab仿真技术大作业.docx 直流调速系统仿真MATLAB仿真技术大作业1.电机开环特性电机电枢联接500V直流电源.画出转速N的波形,根据仿真结果求出空载和负载时的转速N以及静差率S.空载转 ...

  6. 江南大学数字媒体技术大三上作业整理——顾清宇

    文章目录 前言 数字音视频技术 人工智能 互动媒体技术 游戏程序设计 数字图像处理技术 人机交互技术 智能算法专题设计 前言 大三上圆满结束了,想到自己每次做作业都是自己从零开始,还挺痛苦的,所以想着 ...

  7. 计算机软件技术大作业报告,多媒体技术大作业报告.doc

    多媒体技术大作业报告.doc 华南理工大学 多媒体技术 大作业报告 专 业: 班 级: 学 号: 学生姓名: 完成时间: 目录 说 明 --------------------3 第一章概述 ---- ...

  8. 交互媒体技术—2D迷宫冒险游戏

    背景: 本次作业的程序与代码来源是我在上学期选修的游戏程序设计这门课中上交的大作业,相关工作由我一人完成. 参考资料如下: 1.第三章 地牢吞噬者 <Unity游戏设计与实现>--加藤政树 ...

  9. 上海电力学院计算机软件技术大作业,计算机网络应用设计 大作业报告.doc

    计算机网络应用设计 大作业报告 上 海 电 力 学 院 课程设计(大型作业)报告 设计名称 计算机网络应用课程设计 课程代码 1305312 院 (系) 电子与信息工程学院 专 业 通信工程 班 级 ...

最新文章

  1. python批量爬取文档
  2. html 二叉树模式,重建二叉树.html
  3. Python 3 开发钉钉群机器人
  4. Linux C Socket编程发送结构体、文件详解及实例
  5. 速达服务器账套定期维护么,速达软件常见操作问题解决方法
  6. 字符数组和strcpy
  7. pytorch中切换虚拟环境
  8. 教程解读:游戏平台系统到底该如何搭建?
  9. android6.0连接WIFI后显示“已连接,但无法访问互联网”实际可以上网
  10. Bluetooth HCI介绍
  11. Module not found: Error: Can‘t resolve ‘core-js/fn/promise‘
  12. html中鼠标点击图片变动,JS实现页面鼠标点击出现图片特效
  13. Sphinx使用说明
  14. cpu压力测试 Android,android开发之压力测试的命令
  15. comet 简单了解
  16. 实现两个企业微信客户端登录
  17. 编程开发工具一览:新手到大神,程序员都用什么写代码?
  18. fiddler mac
  19. elk笔记20--Analysis
  20. Android编译问题:java.util.zip.ZipException:duplicate entry...

热门文章

  1. Matlab中的color 画线的多种颜色
  2. ExpRe[18] 手动构建Docker镜像[1] 指定cuda、python包版本
  3. Vscode个性化设置教程——颜色,字体,粒子特效,个性化动漫背景
  4. 视频URL地址获取神器:疯狂URL 视频及直播源地址获取
  5. 前端之CSS3知识整理2
  6. java调用httpservler接口
  7. 调用webapi接口的实现
  8. 当企业衡量和评估私有云和公有云时,需要考虑哪些核心因素?
  9. 5G时代的SD-WAN
  10. 某SLG游戏公测期用户与付费分析