当两个椭圆都旋转时,找到一个椭圆与另一个椭圆的交点 [英] Finding Intersection of an ellipse with another ellipse when both are rotated

查看:73
本文介绍了当两个椭圆都旋转时,找到一个椭圆与另一个椭圆的交点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

第一个椭圆的等式=>

(((x*cos(A)+y*sin(A)-H1)^2)/(a1^2))+(((x*sin(A)-y*cos(A)-K1)^2)/(b1^2))=1


第二个椭圆的等式=>

(((x*cos(B)+y*sin(B)-H2)^2)/(a2^2))+(((x*sin(B)-y*cos(B)-K2)^2)/(b2^2))=1


我知道椭圆会在


I know that the ellipse will intersect at

  1. 一个点
  2. 两点
  3. 三点
  4. 四点
  5. 根本没有路口

是否有一组通用的方程式可以解决相同的问题.

推荐答案

可以通过查找3x3对称矩阵的特征值来完成,而无需(明确地)求解四次.

It can be done by finding the eigenvalues of a 3x3 symmetric matrix, without (explicitly) solving quartics.

肯尼思·希尔(Kenneth J. Hill)在Graphics Gems V中有一篇论文,标题为基于矩阵的椭圆几何.该论文的大部分内容都可以在Google的书籍中找到,但作者的摘要是1995年从新闻组sci.math和comp.graphics.algorithms存档的.您可以在

There is a paper in Graphics Gems V by Kenneth J. Hill titled Matrix-based Ellipse Geometry. Most of that paper is available on Google books, but there is a summary by the author archived from newsgroups sci.math and comp.graphics.algorithms in 1995. You can find it here--look about 2/3 of the way down the page.

关键思想是,如果放置圆锥形,则任何二维圆锥形不仅是椭圆形,而且矩阵形式如下:

The key idea is that if you put the conics, any 2d conic not just ellipses, in matrix form like this:

        [ A  B  D ] [ x ]
[x y 1] [ B  C  E ] [ y ] = [ 0 ]
        [ D  E  F ] [ 1 ]

transpose(X).C.X = 0 ,那么您就可以玩一些游戏了. C 被称为圆锥的特征矩阵.

or transpose(X).C.X = 0, then you can play some games. C is called the characteristic matrix of the conic.

因此,如果 C1 C2 是椭圆的特征矩阵,并且 xi 是交点,则 xi 是任何圆锥曲线与特征矩阵 C1 +λC2 的交点.如果将lambda选择为特征值,则 C1 + lambda C2 是简并的,可以解释为一组线.剩下的就是将从退化特征矩阵中提取的线与原始椭圆相交,并排除无关的解.

So if C1 and C2 are characteristic matrices of your ellipses, and xi is an intersection point, then xi is an intersection point of any conic with a characteristic matrix C1 + lambda C2. If lambda is chosen as an eigenvalue, then C1 + lambda C2 is degenerate and can be interpreted as a set of lines. All that is left is intersect the lines extracted from the degenerate characteristic matrices with the original ellipses and throwing out extraneous solutions.

这篇关于当两个椭圆都旋转时,找到一个椭圆与另一个椭圆的交点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆