我想检测椭圆是否与另一个椭圆和矩形碰撞。我怎么能这样做?
我正在用C ++编写。我想将它用于游戏。
答案 0 :(得分:6)
如果是游戏,那么准确性应该不是问题。 将椭圆视为多边形,即在椭圆上选择N个均匀分布的点,并将其视为多边形。将N调整到所需正确度的水平。
现在您需要测试凸多边形是否与矩形碰撞。而后者也是凸多边形。这是convex polygon collision detection
的链接答案 1 :(得分:1)
如果您需要精确答案,则需要将数字描述为函数并使用Newton's method来查找交叉点