我试图找到两个椭圆的状态。
我尝试使用以下代码找到两个椭圆的交集:
syms x y
a=4;
b=2;
ellipse1 = ((x+10).^2/a.^2)+(y.^2/b.^2)==1;
a1=6;
b1=5;
ellipse2 = ((x-10).^2/a1.^2)+(y.^2/b1.^2)==1;
c = solve(ellipse1,ellipse2);
dX = double(c.x);
dY = double(c.y);
如果椭圆不感兴趣,我会得到虚值解。想象的解决方案可能有两次机会,如下所示:
如何判断椭圆是否相交?如果不相交,椭圆的位置是什么(内部或分开)?
有人可以回复吗?
提前致谢 !
马努
假设您已经知道椭圆不相交(即您从solve()
功能)。
检查是否中心(x1,x2)
椭圆1在椭圆2内
((x1-c1).^2/a1.^2)+((y1-d1).^2/b1.^2) < 1
where (c1,d1)
是的中心ellipse2
如果是,则属于第二种情况。
否则,你就会遇到第一种情况。
我们知道这一点是因为
那么一个椭圆必须完全包含在另一个椭圆中
Note:根据此测试,我们不知道哪个椭圆在另一个椭圆内部。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)