gpt4 book ai didi

c++ - 检查线是否穿过二维 map 上的墙

转载 作者:行者123 更新时间:2023-11-30 03:01:50 25 4
gpt4 key购买 nike

我有 2d map ,我想检查线是否与任何元素发生碰撞。我需要一个函数来告诉我直线是否与途中的任何对象相交。

看看:

enter image description here

红线不正确(函数应返回 false),绿线正确(返回 true)。我的碰撞贴图是 bool 值贴图,1 代表墙,0 代表空白。

这怎么办?我读到我需要检查线是否与任何墙相交,但我完全不知道如何在 2d map 上执行此操作。

感谢任何回复。

最佳答案

这取决于您的墙的表示方式。

如果它们是矩形,则寻找 line/segment您的线与代表矩形的 4 段之间的交点。

如果它们是像素,您可以使用 bresenham line算法来查看线上的像素是否在这些 block 上。

关于c++ - 检查线是否穿过二维 map 上的墙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10707643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com