【发布时间】:2012-04-13 16:16:44
【问题描述】:
我正在尝试创建碰撞算法并在我的 Win32 2D GUI 应用程序中实现他。 任务是我得到一个向量来确定 .bmp 图像的中底,以及另外四个位于菱形位置的向量。我想让它工作,以便算法知道图像是来自左、右、上还是下。互联网上有很多关于矩形、圆形和距离计算的碰撞检测的教程,但我在将它们应用于菱形时遇到了困难。还有一种叫做axis-aligned bounding 的东西,但我认为它适用于 3d 矢量。当谈到这个话题时,我很弱,所以如果有任何熟练的 C++ 程序员可以指导我阅读一些提到这个话题的好电子书,或者如果代码很小,可以打出来。我尝试在 ABCD 整个菱形上进行 X、Y 坐标的迭代,结果惨遭失败。
感谢所有提供帮助的人。
【问题讨论】:
-
2 个问题:1) 这是作业吗? (如果是,那很好,但应该标记为homework)和2)到目前为止你尝试了什么?
-
轴对齐边界框(简称 AABB)对于 2d 和 3d 都很有用。这个想法是用一个简单的形状包围一个复杂的对象,以便于检查碰撞。然后,如果边界框不发生碰撞,则无需检查内部复杂对象的所有细节。你仍然需要编写代码来碰撞真实对象——但它不需要每帧运行数千次......
-
是的。抱歉没有标记为作业,这个网站对我来说是新的。我知道如何为矩形和圆形做碰撞,那是以前的作业。除此之外,我尝试进行像素完美碰撞,但后来我意识到在我当前的代码中实现它会更加困难。
标签: c++ algorithm animation geometry