相关疑难解决方法(0)

圆线段碰撞检测算法?

我有一条从A到B的线和一条位于C的圆,半径为R.

图片

用于检查线是否与圆相交的好算法是什么?它沿圆圈边缘的坐标发生了什么?

algorithm math geometry collision-detection line

191
推荐指数
8
解决办法
14万
查看次数

找到两个椭圆的交点(Python)

我正在用Python编写一个基本的2D形状库(主要用于操作SVG绘图),我对如何有效地计算两个椭圆的交点感到茫然.

每个椭圆由以下变量(所有浮点数)定义:

c: center point (x, y)
hradius: "horizontal" radius
vradius: "vertical" radius
phi: rotation from coordinate system's x-axis to ellipse's horizontal axis
Run Code Online (Sandbox Code Playgroud)

忽略椭圆相同时,可能有0到4个交点(没有交点,切线,部分重叠,部分重叠和内部切线,并且完全重叠).

我发现了一些潜在的解决方案:

关于如何计算交叉点的任何建议?速度(它可能需要计算很多交叉点)和优雅是主要标准.代码会很棒,但即使是一个好的方向也会有所帮助.

python geometry intersection ellipse shapes

6
推荐指数
1
解决办法
7329
查看次数

如何测试一个点是否在椭圆内?

我正在开发一个 Pygame 项目,地图上有水。如果玩家进入水中,我想减慢玩家的速度。有水的区域呈椭圆形。如果形状是矩形,我可以减慢玩家的速度,但我不希望非水域区域减慢玩家的速度。那么我怎样才能得到玩家应该放慢速度的区域呢?如何控制角色坐标是否在椭圆内?

编辑:我检查了评论中的链接,它对我有用。

python pygame collision-detection python-3.x

1
推荐指数
1
解决办法
925
查看次数