区块链技术博客
www.b2bchain.cn

【C++】任意两个多边形相交问题的讲解

这篇文章主要介绍了【C++】任意两个多边形相交问题的讲解,通过具体代码讲解7676并且分析了【C++】任意两个多边形相交问题的讲解的详细步骤与相关技巧,需要的朋友可以参考下

本文实例讲述了【C++】任意两个多边形相交问题的讲解。分享给大家供大家参考文章查询地址https://www.b2bchain.cn/7676.html。具体如下:

灵感

最近尝试制作游戏引擎,在侦测物体碰撞时遇到问题,借此解决。

思路

我们置一些点,依次连接,即可得到一个多边形,可能是凹多边形,也可能是凸多边形。

设两个多边形为f1和f2,多边形的每个点为p1,p2,p3,…,将p1与p2连接,p2与p3连接,直到最后一个点与第一个点连接得到封闭图形。

那么,判断f1和f2是否相交,可以将每条边用解析式表示,将两个多边形的边的解析式联立算交点,并将交点与解析式的取值范围相匹配,即可解决此问题。

解析式为y=kx+b,两点为(x1,y1),(x2,y2),那么

k=y1y2x1x2k=frac{y_1-y_2}{x_1-x_2}

b=y1y1y2x1x2x1b=y_1-frac{y_1-y_2}{x_1-x_2}x_1

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 【C++】任意两个多边形相交问题的讲解
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们