第一次小组讨论结果

功能需求分析

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

功能分解

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. oracle优化:避免全表扫描(高水位线)

    如果我们查询了一条SQL语句,这条SQL语句进行了全表扫描,那到底是扫描了多少个数据块呢?是表有多少数据,就扫描多少块吗?不是的.而是扫描高水位线一下的所有块.有的时候有人经常说,我的表也不大呀,怎么 ...

  2. 异步记载数据时page是怎么计算的

    最近一直在完善基于Busybox做的ARM Linux的根文件系统,由于busybox是一个精简的指令集组成的简单文件系统,其优点就是极精简,满足了Linux基本的启动需求,由于它几乎没有什么后台服务 ...

  3. Make cnblogs mobile Compatible

    Introduction 博客园的许多页面都是只支持PC的,没有手机端的,也没有手机端的app.每次查看都有放大了才能看清楚字体,手指和游泳似的,左右开弓,很不方便.还有上次我修改了theme之后,手 ...

  4. Oracle12c CDB和PDB数据库的启动与关闭说明

    Oracle 12c中,增加了可插接数据库的概念,即PDB,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB). CDB全称为Container Database,中文翻译为数据库容器,PDB ...

  5. C语言-循环结构及break、continue

    循环结构 --1-- 结构循环 1.1 while循环 1.2 do…while循环 1.3 for循环 --2-- break和continue 2.1 break关键字 2.2 continue关 ...

  6. 【原】十分钟搞定pandas

    http://www.cnblogs.com/chaosimple/p/4153083.html 本文是对pandas官方网站上<10 Minutes to pandas>的一个简单的翻译 ...

  7. jquey与javascript相通运用查找(全)

    1.addClass\removeClass\classList(js) jQ:$('#div').addClass('hover')=====document.getElementById('div ...

  8. Spark相关

    非常好的spark分析博客,我们team的,哈哈:http://jerryshao.me/ spark programming guide: https://github.com/mesos/spar ...

  9. android HAL 教程(含实例)

    http://www.cnblogs.com/armlinux/archive/2012/01/14/2396768.html Android Hal 分析                       ...

  10. 一个简单的loading,纯属自娱自乐

    /// <reference path="/scripts/js/jquery.min.js" /> var zsw = { loading: function (im ...