UTF8gbsn
我们这里的讲解都是在2D平面上面的. 现在我们来看看圆锥曲线(conics).
conics
在欧拉几何里面, 常见的有三中圆锥曲线. 双曲线, 椭圆, 抛物线.
当然还有退化的圆锥曲线,
后面我们会讲什么是退化的圆锥曲线.我们先来看看在非齐次坐标系下面,圆锥曲线的正式定义.
ax2+bxy+cy2+dx+ey+f=0
如果换到齐次坐标系里面我们得到
ax12+bx1x2+cx22+dx1x3+ex2x3+fx32=0
或者表示成矩阵形式为 xTCx=0
其中,
C=⎣⎡ab/2d/2b/2ce/2d/2e/2f⎦⎤
注意这是一个对称矩阵. 另外这个矩阵的自由度为5, 因为h⋅C,h=0
行程的等价类表示同一个圆锥曲线. 所以, {a:b:c:d:e:f}
5个比值唯一确定一个圆锥曲线.
Five points define a conic
另外, 五个点也可以唯一确定一个圆锥曲线.因为
axi2+bxiyi+cyi2+dxi+eyi+f=0
那么,方程可以写成.
(xi2xiyiyi2xiyi1)c=0
这样只要有5个点, 就可以写成一个方程组.
⎣⎢⎢⎢⎢⎡x12x22x32x42x52x1y1x2y2x3y3x4y4x5y5y12y22y32y42y52x1x2x3x4x5y1y2y3y4y511111⎦⎥⎥⎥⎥⎤c=0
而这五个方程组形成了一个5×6的矩阵.
那么解c,就是这个矩阵的null space.
注意如果矩阵的秩为5,那么这个null space的维度为1, 那么它所表示的等价类,
唯一确定一个圆锥曲线.
Tangent lines to conics
过点x, 的切线l定义为, 其中x是C上一点.
l=Cx
证明:
lT⋅x=xTCx=0
可见, x在直线上,
再来证明唯一性.假设,有两个点x,y都在这条直线上和C上.那么.
(x+αy)TC(x+αy)=0
也就是说, 直线上的所有点都在C上, 如果C,
是一个非退化的圆锥曲线.那么这种情况是不可能的. 因为圆锥曲线不可能是直线.
圆锥曲线的对偶
如图所示的, xTCx=0表示二维空间中的圆锥曲线.
而lTC∗l=0表示所有和C,相切的直线.
它就是圆锥曲线的对偶.
2D中的圆锥曲线 [计算机视觉中的多视几何](2.2.3)2D中的圆锥曲线](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpJNU1pOHlZVEJqTXpNMU5EazJOamt5TURnNVpEZ3pNR1pqT0dSa1pXUXdPVGd6WXk1d2JtYz0=)
同理5条直线可以确定一个圆锥曲线对偶.
Degenerate conics
-
如果C不满秩, 那么这种就叫做退化圆锥曲线. 如果Rank(C)=2,
那么这个曲线退化为2条直线, 如果Rank(C)=1 退化为一条直线.
-
对于圆锥曲线对偶, 如果C∗ 不满秩, 那么如果Rank(C∗)=2.
那么这个对偶退化成两个点,. 如果Rank(C∗)=1,
这个对偶退化为一个点.