C#模拟试验:实现的弹性物体碰撞

开发 后端
本文介绍了笔者用C#写的一个弹性物体碰撞模拟试验,感兴趣的同学可以一起讨论。

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

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

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

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

C#模拟(1):创建了两个有弹性7边形

创建了两个有弹性7边形 

C#模拟(2):左边的对象撞到了墙上

左边的对象撞到了墙上 

C#模拟(3):右边的对象撞了地面

右边的对象撞了地面 

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

【编辑推荐】

  1. C#语言读书心得备忘
  2. 详解C#制做Active控件的五个步骤
  3. 总结C#多线程的点点滴滴
  4. 学习C#多线程:lock的用法
  5. 各种C#数组的定义和初始化
责任编辑:book05 来源: 中国自学编程网
相关推荐

2024-10-31 11:03:06

C#椭圆运动缓冲

2009-09-01 18:29:10

C#继承C#多态

2009-08-26 09:54:45

C#打印预览C#打印

2009-08-03 16:35:30

C#日期比较

2009-08-04 09:22:26

C#工厂模式

2009-09-02 18:11:24

C#鼠标

2009-09-02 17:24:44

C#关机代码

2009-08-31 17:16:12

C#实现接口

2009-09-02 16:30:20

C#定义数组

2021-09-13 07:00:01

C# .NET 缓存

2009-08-31 18:01:41

C#接口事件

2009-08-25 17:43:17

C#串口监听

2009-09-07 09:36:29

C# DisposeDispose方法

2009-08-26 13:41:58

C#打印源码

2009-09-07 14:52:01

C# HTTP Req

2009-08-31 15:55:17

C#实现Strateg

2009-09-07 15:27:04

C# MessageB

2009-08-18 13:35:06

C#枚举文件

2009-08-13 10:15:50

C#读取Excel

2009-07-31 18:28:46

实现C#显示图像
点赞
收藏

51CTO技术栈公众号