第一次小组讨论结果

功能需求分析

通过已知输入:球位置速度,击球手位置速度。确定输出:击球手击球时速度,击球点位置,击球手轨迹。

功能分解

1 通过当前的球位置速度,判断是否会进入我方球门,以判断是否需要进行防守;

2 通过判断的进球情况,确定需要防守时的击球方案(思考何时不考虑进球,只需要防守);

3 通过判断的进球情况,确定不需要防守时的进攻击球方案;

4 通过确定的击球点位置,确定击球手击球前的运动轨迹计算的算法;

5 将算法程序化,进行测试。

设计概要

首先整个流程分为算法设计,程序设计以及测试设计三个阶段:

算法设计阶段,1.1-1.3,小组四成员各自进行思考,分别对自己的想法进行描述(最好是框图描述),然后3号的时候再一起讨论,将想法综合,择优,确定最终的方案设计,并讨论确定好细节;

程序设计阶段,1.4-1.7,根据确定的算法方案,分工分模块进行程序设计,1.5号的时候集体讨论,解决遇到的问题;

测试设计阶段,1.8-1.9,根据设计的程序,编写可视化的测试程序,并输出测试程序的测试结果。

团队分工

算法设计阶段:

黄竞超:确定球以当前速度会不会进入我方球门以及是否需要防守的算法设计。输入是当前的球位置,速度;约束是球台壁的范围;输出是对是否防守的布尔判断,球的碰撞方式的标识符(比如,球会碰撞到那些面等等,以便于后续的确定防守策略)。

李开旭:确定击球手从当前位置到击球点的运动的轨迹规划,即确定一个算法或者公式能够表达出击球手的轨迹。输入是击球手的当前位置速度,击球点的位置,击球手在击球点的速度;约束是当前到碰撞的时间差t;输出是击球手的轨迹表达式。

杨静梧,曹迦勒:确定计算击球点位置的算法的设计。输入是球当前位置速度,球碰撞类型;输出是击球点位置,击球点处击球手的速度,当前到击球点的时间间隔。

程序设计以及测试设计阶段:

根据大家算法的分工,以及确定好的接口来编写程序。

设计注意事项

1 需要防守时可以考虑必要时,只防守,不进攻,具体的分界需要自己确定;

2 确定击球手轨迹时,要考虑到实际的电机速度限制,不能无限下去;

3 判断需不需要防守的时候,最好输出一个标识符,标志球属于哪种碰撞方式;

4 暂不考虑球在反弹过程中会碰撞到我方击球手的情况;

5 暂时不考虑球击打之前碰撞墙壁超过三次的情况。

感受

作为小组负责人,感觉压力还是很大的,我们小组整体没有特别厉害的大神,所以很多都需要自己一点点琢磨,这个过程比较累,但是坚持下来感觉还是学会了不少东西,继续加油吧。

冰球项目日志1-yjw的更多相关文章

  1. 冰球项目日志2-yjw

    我们小组在12.31号进行了讨论,确定了基本的任务及分工,后面是元旦放假,大家没有做很多的东西,我也是把自己分工的部分方案想了下. 后面在1.3号,我们会再进行一次小组讨论,确定下最终的方案,然后进行 ...

  2. 冰球项目日志4-yjw

    小组讨论 我们组编程主要分成三个模块,各自负责自己的编程与测试. 杨静梧:确定击球算法编程.输入:冰球位置,速度大小方向:输出:撞击时冰球中心位置. 曹迦勒:确定击球手速度,位置.输入:撞击时冰球中心 ...

  3. 冰球项目日志3-yjw

    小组讨论 今天大家讨论了之前各自想的方案的问题,基本确定了寻找击球点的方案,以及击球手运动轨迹规划的方案,这里我只是简单的说下我们的击球点的确定方案. 击球策略方案 方案分析 首先我们建立平面在直角坐 ...

  4. 学习Coding-iOS开源项目日志(五)

    继续,接着前面第四篇<学习Coding-iOS开源项目日志(四)>讲解Coding-iOS开源项目. 前 言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的项目 ...

  5. 学习Coding-iOS开源项目日志(一)

    前言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的项目.本篇开始会陆续更新本人对github上开源的一个很不错的项目的一点点学习积累.也就是,探究着别人写的源码,我学到了 ...

  6. 学习Coding-iOS开源项目日志(三)

    继续前两篇,接着本第三篇<学习Coding-iOS开源项目日志(三)>讲解Coding-iOS开源项目. 前 言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的 ...

  7. 学习Coding-iOS开源项目日志(二)

    继续前篇:<学习Coding-iOS开源项目日志(一)>,接着本第二篇<学习Coding-iOS开源项目日志(二)>讲解Coding-iOS开源项目. 前言:作为初级程序员,想 ...

  8. 采用Spring AOP+Log4j记录项目日志

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6567672.html 项目日志记录是项目开发.运营必不可少的内容,有了它可以对系统有整体的把控,出现任何问题 ...

  9. jt项目日志查询流程

    jt项目日志查询流程

随机推荐

  1. tomcat7 配置

    引用:http://blog.csdn.net/mengxiangbaidu/article/details/7020484 1.安装JDK, 2.安装, apt-get install  tomca ...

  2. 227 Entering Passive Mode (xxx,xxx,,xxx,xxx,x)

    登录ftp时显示227 Entering Passive Mode (xxx,xxx,,xxx,xxx,x) 因为FTP有两种工作模式,PORT方式和PASV方式,中文意思为主动式和被动式 ,详细介绍 ...

  3. Visual Studio 2015 显示正忙 正在等待内部操作完成

    网上查到的: 1.关闭IntelliTrace 2.进入项目文件夹有.vs的隐藏文件夹,进去找到和项目一样的名字的文件夹,再找v14文件夹,进去,删掉.suo文件 http://www.cnblogs ...

  4. VMWare虚拟机NAT上网方法 亲测可用

    首先虚拟机的网卡要选择NAT 然后 在Virtual Network Editor中一定选上DHCP功能. 还要主机的服务必须开启.主机的VMnet8对应NAT模式,这个VMnet8的配置保持默认不要 ...

  5. PHP 将下划线命名 转换为 驼峰式命名

    function convertUnderline($str , $ucfirst = true) { $str = ucwords(str_replace('_', ' ', $str)); $st ...

  6. git github简单知识

    Git 常用命令 git init here -- 创建本地仓库(repository),将会在文件夹下创建一个 .git 文件夹,.git 文件夹里存储了所有的版本信息.标记等内容 git remo ...

  7. webstorm IDE添加Plugins----添加vue插件

    webstorm IDE很强大了,扩展性很强,语法校验很强大,不过有时候一些特殊的插件  还是需要自己添加到IDE的 下面以添加VUE Plugins 为例: Setting--Plugins[点下方 ...

  8. Java集合面试题

    1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector.Stack.HashTable和Array.随着集合的广泛使用,Java1 ...

  9. JS写随机数

    使用JS编写一个方法 让数组中的元素每次刷新随机排列(不得使用sort方法:需注明步骤思路).例如:初始数组:a,b,c,d 每次刷新页面都会显示不同:b,c,d,a….a,d,c,b…等等 代码: ...

  10. VS配置路径和宏

    http://blog.csdn.net/puttytree/article/details/7838419