如何在R中找到直线和椭圆之间的交点

时间:2012-05-24 06:13:39

标签: r line intersection ellipse

我想找到椭圆和直线之间的交点

如果使用来自汽车包的dataEllipse函数的示例(忽略一些不需要的参数),即

x <- dataEllipse(Prestige$income, Prestige$education, levels=0.95, lty=2)

并说你有水平线

abline(14,0)

如何找到线与椭圆之间的两个交点

我知道你可以通过查看x得到使椭圆成为数据的数据,但是我希望得到精确的交点。

这是可能的,如果是这样的话?

感谢advange

2 个答案:

答案 0 :(得分:1)

椭圆的方程式由下式给出:

x ^ 2 / a + y ^ 2 / b = 1,并且线的等式由cx + d = y(其中a,b,c,d系数)。

您可以在椭圆方程中替换y。然后目标是找到f(x)= 0的解。你可以使用像二分法这样的方法来解决这个问题。

检查出来:

http://www.math.wichita.edu/~cma/stat774/ch2.pdf

答案 1 :(得分:0)

我敢打赌,有一种曲线拟合方法可以从x-y坐标系中获得椭圆的焦点和轴长度,但看起来很难:http://www.site.uottawa.ca/~mstoj075/Publications_files/EllipseFit.pdf。您可以在x-y坐标数据集上使用splinefun并按照The intersection point between a spline and a line

中的答案获得“足够好”的答案