文章目录
- 一、简介
- 二、实现代码
- 三、实现效果
- 参考资料
一、简介
给定三角形ABC和点P,设Q为描述ABC上离P最近的点。求Q的一个方法:如果P在ABC内,那么P的正交投影点就是离P最近的点Q。如果P投影在ABC之外,最近的点则必须位于它的一条边上。在这种情况下,Q可以通过计算线段AB、BC和CA中离P最近的点,并返回离P最近的计算点来获得。虽然这是可行的,但这不是一个非常有效的方法。一个更好的解决方案是计算P在三角形的哪个Voronoi特征区域,这是碰撞测试中经常使用的一个区域,很是有趣。
一旦确定P在那个Voronoi区域(顶点、边以及面,如下图所示),只需要计算P在相应特征上的正交投影就可以得到Q。
这里要了解如何确定P位