冰球项目日志3-yjw
小组讨论
今天大家讨论了之前各自想的方案的问题,基本确定了寻找击球点的方案,以及击球手运动轨迹规划的方案,这里我只是简单的说下我们的击球点的确定方案。
击球策略方案
方案分析
首先我们建立平面在直角坐标系,图中算法选择线为六等分线,是我们选择不同击球方案的一条分界线,我们的击球行为大部分发生在击球区,击球区的大小按照两条四等分线确定。
策略假定
1 假定不考虑对方击球手阻挡等情况
2 假定只考虑击球手速度对准冰球球心
3 假定必要时可以优先防守,再考虑进球
4 假定击球手击球时速度大小固定为最大速度
算法框图
方案图示
图一
当冰球轨迹曲线与击球区边界发生的第一个交点在算法分界线左侧,并且冰球按照轨迹会进入球门时,我们只做防守不进攻,将球沿原方向反向撞回。
图二
当冰球轨迹曲线与击球区边界发生的第一个交点在算法分界线左侧,但冰球不会进入我方球门时,让冰球在我方球门壁反弹一次进入击球区,随机选择击球区内冰球运动轨迹上一点为撞击时冰球位置,然后根据速度矢量合成,确定击球点以及击球手速度。
图三
当冰球轨迹曲线与击球区边界发生的第一个交点在算法分界线右侧时,直接以该交点作为撞击时冰球中心,根据速度矢量合成,确定击球点以及击球手速度。
算法的问题
1 对于速度矢量合成过程中,击球手的速度大小和方向为一组相关的变量,方程组只能解出速度大小与方向的关系,所以我们是确定速度来定方向,但实际上应该是用最优解的思想,我们为了简化,没有进行分析。
2 我们有一个疑问:物理引擎组应该是做的如何模拟实际的物理碰撞过程,比如动量守恒,动能守恒等等。这样的话,我们策略寻找击球点过程中会遇到速度合成的问题,这样我们分析的时候直接把这些当作已知来用吗?
安排
如果方案没什么太大的问题,我们准备完善下框图,开始编程工作。
感受
感觉我们组单做这一个模块,编程不是很复杂,主要是方案的确定,以及和其他模块之间的接口定义的准确,这就要我们理解好各个模块之间的关系,但是我们感觉和物理引擎租的关系有那么一点儿模糊,就像上面问题说的,所以有点担心会弄错策略的含义。
冰球项目日志3-yjw的更多相关文章
- 冰球项目日志2-yjw
我们小组在12.31号进行了讨论,确定了基本的任务及分工,后面是元旦放假,大家没有做很多的东西,我也是把自己分工的部分方案想了下. 后面在1.3号,我们会再进行一次小组讨论,确定下最终的方案,然后进行 ...
- 冰球项目日志4-yjw
小组讨论 我们组编程主要分成三个模块,各自负责自己的编程与测试. 杨静梧:确定击球算法编程.输入:冰球位置,速度大小方向:输出:撞击时冰球中心位置. 曹迦勒:确定击球手速度,位置.输入:撞击时冰球中心 ...
- 冰球项目日志1-yjw
第一次小组讨论结果 功能需求分析 通过已知输入:球位置速度,击球手位置速度.确定输出:击球手击球时速度,击球点位置,击球手轨迹. 功能分解 1 通过当前的球位置速度,判断是否会进入我方球门,以判断是否 ...
- 学习Coding-iOS开源项目日志(五)
继续,接着前面第四篇<学习Coding-iOS开源项目日志(四)>讲解Coding-iOS开源项目. 前 言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的项目 ...
- 学习Coding-iOS开源项目日志(一)
前言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的项目.本篇开始会陆续更新本人对github上开源的一个很不错的项目的一点点学习积累.也就是,探究着别人写的源码,我学到了 ...
- 学习Coding-iOS开源项目日志(三)
继续前两篇,接着本第三篇<学习Coding-iOS开源项目日志(三)>讲解Coding-iOS开源项目. 前 言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的 ...
- 学习Coding-iOS开源项目日志(二)
继续前篇:<学习Coding-iOS开源项目日志(一)>,接着本第二篇<学习Coding-iOS开源项目日志(二)>讲解Coding-iOS开源项目. 前言:作为初级程序员,想 ...
- 采用Spring AOP+Log4j记录项目日志
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6567672.html 项目日志记录是项目开发.运营必不可少的内容,有了它可以对系统有整体的把控,出现任何问题 ...
- jt项目日志查询流程
jt项目日志查询流程
随机推荐
- WCF入门-项目间调用服务
练习WCF入库,添加了一个WCF项目,同时添加了一个控制台程序,在控制台程序启动时,调用WCF服务,报错. 控制台程序代码为: namespace WcfConsumer { class Progra ...
- iOS socket 笔记
ios 客服端: 下载 AsyncSocket 开发框架,拖到项目中 //建立 #import "ViewController.h" #import <sys/socket. ...
- 在ASP.NET MVC5应用程序中快速接入QQ和新浪微博OAuth
http://www.cnblogs.com/xiaoyaojian/p/4611660.html
- h5动画效果总结
一些常用的h5效果,自己总结的,用的时候直接拿,方便快捷! 1.悬浮时放大: .one{transition:All 0.4s ease-in-out;-webkit-transition:All 0 ...
- Tomcat发布项目方法
第一种方法: 将已完成的项目(无论用jbuilder\eclipse\netbeans)下的webroot目录整个拷贝到Tomcat的webapps目录中,假若webroot目录改名为xxx,则 ...
- PHP动态图像的创建要如何实现呢?
with-gd=[/path/to/gd] --with-jpeg-dir=[/path/to/jpeg-6b] --with-t1lib=[/path/to/t1lib] 完成添加后执行make命 ...
- 自发行python版本制作(二)编译
本系列文章第二篇主要说明windows环境的编译环境搭建以及编译过程. 编译环境选择: 1.选用作神一样存在的Microsoft Visual C++ Compiler for Python 2.7为 ...
- 【转】使用Reflector和FileDisassembler反编译成项目文件
转载地址:http://blog.csdn.net/nuaalfm/article/details/2089149 FileDisassembler是Reflector 的一个插件,老外做的东西还真好 ...
- sql 语句纵表变横表
现把转换方法列举如下: 1.纵表转横表: 纵表结构 TableA Name Course Grade 张三 语文 75 张三 数学 80 张三 英语 90 李四 语文 95 李四 数学 55 横表结构 ...
- Bootstrap学习(1)
文档顶部写上H5的DOCTYPE声明 head部分: <meta> (1)编码方式 (2)在IE运行最新的渲染模式 <meta http-equiv="x-ua-comp ...