UDN-企业互联网技术人气社区

板块导航

浏览  : 710
回复  : 0

[干货] 写了一个弹性物体碰撞模拟

[复制链接]
瞬杀★弑龙的头像 楼主
发表于 2015-12-7 22:45:27 | 显示全部楼层 |阅读模式

  写了一个弹性物体碰撞模拟

  无聊之际用C#写了一个弹性物体碰撞模拟玩玩。这个想法源自与前几天上机课有人想我在机房做一个透视投影的程序,于是就立刻写了个投影并弄了个线框球上去跳。结果我就想,如果物体有弹性会怎么样呢?回到宿舍就实践想法。

  这个程序是2D的,用C#主要是因为GDI+写起来比较方便,至少比可怜的MFC好用,虽然C#的东西又慢又占用CPU使用率。我发誓.NET的Timer肯定不是用WM_TIMER消息搞的,空转占用CPU都那么高,而且用Sleep还降低不了。过高的CPU占用率持续过久会导致CPU温度升高……

  程序现在还有点问题。譬如物理引擎经典问题:浮点误差和碰撞穿透。现在还没100%处理好,虽然绝大多数情况下是没什么事。第二个就是因为弹性超出了我的物理知识范围,所以碰撞的速度更高暂时乱写,等过几天有空解一个三元二次方程组之后再改改代码。

  先放截图三张,等程序改好了之后再把代码弄出来。这个东西很好玩的,嘿嘿。考虑了重力哦。

  一:创建了两个有弹性7边形
2.jpg

  二:左边的对象撞到了墙上
3.jpg

  三:右边的对象撞了地面
4.jpg

  我曾经把弹性调的很小,边数调得很大,结果出现了类似充水气球的东西……

  posted 陈梓瀚(vczh)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们
联系我们
  • 电话:010-86393388
  • 邮件:udn@yonyou.com
  • 地址:北京市海淀区北清路68号
移动客户端下载
关注我们
  • 微信公众号:yonyouudn
  • 扫描右侧二维码关注我们
  • 专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041 京ICP备05007539号-11 京公网网备安1101080209224 Powered by Discuz!
快速回复 返回列表 返回顶部