今天主要工作为修改昨天的碰撞引擎不符合预期的部分。

经过了昨天的工作,碰撞算法已经初见雏形。但是主要有两个问题:

  • 碰撞反弹的方向与预期不符合
  • 碰撞后球与机器人存在一个“黏在一起”的时间。后经过控制台输出的Debug过程发现是相遇时发生了多次碰撞。这是与预期严重不符的。

    第一个问题很快得到了解决:

    即算法中一个减号误写成加号引起的(说来容易,还是找了很久)。

    第二个问题很久没有得到解决。

    一开始考虑到是步长太长导致球“嵌入”机器人内部,遂减小步长。同时为了维持球速相应的缩短了线程循环的时间间隔。未能解决问题,同时貌似出现了线程冲突的问题导致了球速的不稳定。
    然后,依然按照防止球“嵌入”的角度考虑,设置一个缓冲区。设计算法,使球的边缘在缓冲区内立即反弹,超出缓冲区时不反弹。想法复杂但是未能结局问题。
    最后,依靠汤松岩的经验解决了问题。他告诉我这个问题有可能是类型转换后精度损失引起的。我马上明白问题出现在哪里了:汤给我的框架中,获取球、机器人坐标的GetX()和GetY()函数的返回值是int。而我自己设计的引擎中大量使用这两个函数进行速度计算,而速度的类型是float。经过组长的肯定,我将框架中的函数返回值改为float,问题解决,实在不容易。很多想法虽重要,少了经验还是不行。开发的过程中还是要多请教有经验的人,不可过于盲目地“独立思考”,以免陷入自身的局限性。
    最后,把我的Beta Version Push到了Github上,如果有问题再继续解决。第一阶段工作告一段落。收货颇多!

转载于:https://www.cnblogs.com/dyxscript/p/6266950.html

开发日志_Jan.9相关推荐

  1. 开发日志_Jan.8.2017

    这两天继续着手开发碰撞部分. 主要工作是写碰撞类和运动线程类.碰撞主要在于算法,运动线程只要管理好就行了. 之前碰撞测试中(即还未添加完整碰撞算法时)遇到各种bug,疑似机器人和小球的定位点不明所造成 ...

  2. 开发日志_Jan.6.2017

    Github Jan.2 接到了汤松岩的GUI框架,开始复习和学习C++的使用方法(之前的开发经历主要使用的Java,对C++和QT环境都需要一个再了解). Jan.3 正式开始工作.开始在Ubunt ...

  3. [原创] Neo.Geo 视频帧浏览器开发日志

    写给自己用的开发日志,纯粹理想+兴趣.为了偷懒,用C#写的,就不多说什么了,简介和过程都在WIP正文里:)以前也曾感叹过NRGx.Kawaks和Nebula等一流模拟器的精妙,但始终认为与其临渊羡鱼, ...

  4. APL开发日志--2012-11-08

    以后作者在博客上在专栏记录 APL每天开发日志, 以记录APL最新进展. 2012-11-08 APL开发日志: ------------------------------------------- ...

  5. APL开发日志 -- 2013-03-02

    以后作者在博客上在专栏记录 APL每天开发日志, 以记录APL最新进展. 2013-03-02 APL开发日志: ------------------------------------------- ...

  6. ue4 无限地图_RPG游戏开发日志13:无限地图的实现

    写在前面 本项目同步上传于coding上,国内读者可以通过在coding下载项目. 也欢迎你加入我的UE4学习交流QQ群:872537977.如果你喜欢我写的文章,也希望你点赞.收藏.转发.谢谢! 如 ...

  7. APL开发日志--2012-11-26

    以后作者在博客上在专栏记录 APL每天开发日志, 以记录APL最新进展. 2012-11-26 APL开发日志: ------------------------------------------- ...

  8. .NET Core开发日志——配置

    .NET Core开发日志--配置 原文:.NET Core开发日志--配置 熟悉ASP.NET的开发者一定对web.config文件不陌生.在ASP.NET环境中,要想添加配置参数,一般也都会在此文 ...

  9. APL开发日志--2012-11-18

    以后作者在博客上在专栏记录 APL每天开发日志, 以记录APL最新进展. 2012-11-18 APL开发日志: ------------------------------------------- ...

最新文章

  1. 大牛书单 | Python方向的好书
  2. 数据库,唯一索引,重复数据处理
  3. python 笔记:装饰器
  4. __name__属性
  5. python中横向制表符_Python-“缩进中的制表符和空格使用不一致”
  6. 计算机网络部分简答题
  7. 大数据之路:阿里巴巴大数据实践,附339页PPT下载
  8. 博文翻译系列——如何入门数据科学 without spending a penny
  9. 编辑php程序推荐的软件,手机上如何才能编辑程序代码?(软件推荐)
  10. linux caffe ssd 编译,Ubuntu 16.04 编译 Caffe SSD
  11. linux挂载硬盘不适合重启,Linux分区g挂载目录不重启挂载硬盘
  12. 可信任的人工智能(三)
  13. 吴恩达机器学习笔记——线性代数知识回顾、梯度下降、多项式线性回归、正则方程
  14. 学习笔记:《数字媒体技术概论》-5/10 计算机图形与动画技术-中国大学慕课公开课
  15. Java递归求费数列和_简述java递归与非递归算法,0-100求和,斐波那契数列,八皇后,汉诺塔问题...
  16. android10隐藏ssid,SSID隐藏手机如何连接 手机连接隐藏ssid无线网络教程
  17. 1370. Increasing Decreasing String
  18. 计算机软考初级程序员教程,2013年计算机软考程序员教程
  19. 微服务Springboot实战大揭秘/高并发/高可用/高负载/互联网技术-任亮-专题视频课程...
  20. Oracle的存储过程基本写法

热门文章

  1. pygame 初体验-碰壁小球
  2. SciTE Script Editor 解决中文乱码
  3. 龟虽寿-曹操(东汉)
  4. 计算机硬盘显示恢复出厂设置,如何对磁盘进行分?
  5. 【每日新闻】微软亚洲研究院院长洪小文:今天的AI只是一个黑盒 | 北京市政交通一卡通充值今起可在线领取电子发票...
  6. 微信商城开源版二次开发(二)
  7. flutter图片上传
  8. 关于阿里腾讯京东美团提供的学生云主机总结
  9. 静态属性、静态方法、静态代码块
  10. 烟台大学—贺利坚的计算机课程教学链接