射影几何基础

射影几何基础

文章目录

  • 射影几何基础
    • 2D
      • 2D点
      • 2D直线
      • 二次曲线
    • 3D
      • 3D点
      • 3D 平面
      • 3D直线

2D

2D点

欧氏空间中的笛卡尔坐标,缩放、旋转和仿射变换能表示成矩阵运算(线性) ; 但平移变换和透视投影不能表示成矩阵相乘。所以为了解决这个问题引入齐次坐标,其中齐次坐标有如下特性:

  • 所有2D/3D几何变换可表示成矩阵运算/线性变换 X ′ = H X X'=HX X=HX
  • 可以表示无穷远点
笛卡尔坐标系齐次坐标系
2D ( x w , y w ) (\frac{x}{w},\frac{y}{w}) (wx,wy) ( x , y , w ) (x,y,w) (x,y,w)
3D ( x w , y w , z w ) (\frac{x}{w},\frac{y}{w},\frac{z}{w}) (wx,wy,wz) ( x , y , z , w ) (x,y,z,w) (x,y,z,w)

射影几何用于 3D世界到2D图像之间的映射

射影空间 I P n IP^n IPn:欧氏空间 I R n IR^n IRn的扩展

齐次坐标 [ x 1 , x 2 , … , x n , x n + 1 ] [x_1,x_2,\dots,x_n,x_{n+1}] [x1,x2,,xn,xn+1]

无穷远点 x n + 1 = 0 x_{n+1}=0 xn+1=0、无穷远直线、无穷远平面

x n + 1 = 0 x_{n+1}=0 xn+1=0,我们成该点为无穷远点(Infinity), 或理想点(Idea Point)

射影空间之间的映射为共线性映射,即保持共线 性(共线的点经过射影映射后还共线)。

I P m IP^m IPm I P n IP^n IPn的共线映射为 X ′ = H X X'=HX X=HX,其中 H H H ( n + 1 ) × ( m + 1 ) (n+1)\times (m+1) (n+1)×(m+1)的矩阵

其中2D欧氏坐标 I R 2 IR^{2} IR2的点的笛卡尔坐标为 ( x , y ) T (x,y)^{\mathrm{T}} (x,y)T 2D射影空间 I P 2 IP^{2} IP2的点的齐次坐标为 x = ( x , y , w ) T x=(x,y,w)^{\mathrm{T}} x=(x,y,w)T, 对应 I R 2 IR^{2} IR2的点 ( x / w , y / w ) T (x/w,y/w)^{\mathrm{T}} (x/w,y/w)T

可知道在笛卡尔坐标系中(2,1)的点在摄影空间为(2,1,1)

易知在笛卡尔坐标系中直线方程为 A x + B y + C = 0 Ax+By+C=0 Ax+By+C=0

在笛卡尔空间中两条平行线是不可以相交的,但是在射影空间中两条平行线是可以相交的,如火车的铁轨

img

易知在笛卡尔坐标系中两平行线的交点方程为
{ A x + B y + C = 0 A x + B y + D = 0 \begin{cases} Ax+By+C=0\\ Ax+By+D=0 \end{cases} {Ax+By+C=0Ax+By+D=0
可知此方程无解,因为当且仅当C=D时方程组成立,但是此两条直线重合

但在射影空间中
{ A x w + B y w + C = 0 A x w + B y w + D = 0 \begin{cases} A\frac{x}{w}+B\frac{y}{w}+C=0\\ A\frac{x}{w}+B\frac{y}{w}+D=0\\ \end{cases} {Awx+Bwy+C=0Awx+Bwy+D=0

{ A x + B y + C w = 0 A x + B y + D w = 0 \begin{cases} Ax+By+Cw=0\\ Ax+By+Dw=0 \end{cases} {Ax+By+Cw=0Ax+By+Dw=0
所以可知当w=0时,两平行线相交

欧氏空间中的平行线不会相交,但我们可以在齐次坐标下(射影空间)计算其叉乘,得到第3个元素为0,即无穷远点一般形式:给定两条平行线 l 1 = [ a b c 1 ] T , l 2 = [ a b c 2 ] T l_1=[a\quad b\quad c_1]^{\mathrm{T}},\quad l_2=[a\quad b\quad c_2]^{\mathrm{T}} l1=[abc1]T,l2=[abc2]T

则交点为
l 1 × l 2 = [ b c 2 − c 1 b c 1 a − a c 2 a b − b a ] = ( c 2 − c 1 ) [ b − a 0 ] l_1\times l_2=\begin{bmatrix}bc_2-c_1b\\c_1a-ac_2\\ab-ba\end{bmatrix}=(c_2-c_1)\begin{bmatrix}b\\-a\\0\end{bmatrix} l1×l2= bc2c1bc1aac2abba =(c2c1) ba0

2D直线

2D射影空间IP2的直线也用3维齐次坐标表示为 l = ( a , b , c ) T l=(a,b,c)^{\mathrm{T}} l=(a,b,c)T

x = ( x , y , 1 ) T x=(x,y,1)^{\mathrm{T}} x=(x,y,1)T在直线 l l l上:点到直线的距离为0,可得
a x + b y + c = 0 [ a , b , c ] [ x y 1 ] = 0 l T x = x T l = 0 \begin{aligned} ax + by + c&=0\\ \begin{bmatrix} a,b,c \end{bmatrix} \begin{bmatrix} x\\y\\1 \end{bmatrix} &=0\\ l^Tx=x^Tl&=0 \end{aligned} ax+by+c[a,b,c] xy1 lTx=xTl=0=0=0
易知给定两点 x 1 , x 2 x_1,x_2 x1,x2,可得经过这两点的一条直线 l = x 1 × x 2 l=x_1\times x_2 l=x1×x2
l = x 1 × x 2 = ∣ i j k x 1 , 1 x 1 , 2 x 1 , 3 x 2 , 1 x 2 , 2 x 2 , 3 ∣ = ( x 1 , 2 x 2 , 3 − x 1 , 3 x 2 , 2 ) i + ( x 1 , 3 x 2 , 1 − x 1 , 1 x 2 , 3 ) j + ( x 1 , 1 x 2 , 2 − x 1 , 2 x 2 , 1 ) k = [ x 1 , 2 x 2 , 3 − x 1 , 3 x 2 , 2 x 1 , 3 x 2 , 1 − x 1 , 1 x 2 , 3 x 1 , 1 x 2 , 2 − x 1 , 2 x 2 , 1 ] \begin{aligned} l&=x_1\times x_2\\ &=\left|\begin{matrix} i&j&k\\ x_{1,1}&x_{1,2}&x_{1,3}\\ x_{2,1}&x_{2,2}&x_{2,3} \end{matrix}\right|\\ &=(x_{1,2}x_{2,3}-x_{1,3}x_{2,2})i\\ &+(x_{1,3}x_{2,1}-x_{1,1}x_{2,3})j\\ &+(x_{1,1}x_{2,2}-x_{1,2}x_{2,1})k\\ &=\begin{bmatrix}x_{1,2}x_{2,3}-x_{1,3}x_{2,2}\\x_{1,3}x_{2,1}-x_{1,1}x_{2,3}\\x_{1,1}x_{2,2}-x_{1,2}x_{2,1}\end{bmatrix} \end{aligned} l=x1×x2= ix1,1x2,1jx1,2x2,2kx1,3x2,3 =(x1,2x2,3x1,3x2,2)i+(x1,3x2,1x1,1x2,3)j+(x1,1x2,2x1,2x2,1)k= x1,2x2,3x1,3x2,2x1,3x2,1x1,1x2,3x1,1x2,2x1,2x2,1
同理可得给定两条直线: l 1 ( L 1 ) , l 2 ( L 2 ) l_1(L_1),l_2(L_2) l1(L1),l2(L2) 这两条直线点的交点为: x = l 1 × l 2 x=l_1\times l_2 x=l1×l2

设两条线的齐次坐标分别为:(-1,0,1), (-1,0,2)

则这两条平行线的交点为无穷远点:
x = ( − 1 , 0 , 1 ) T × ( − 1 , 0 , 2 ) T = ( 0 , 1 , 0 ) T x=(-1,0,1)^{\mathrm{T}}\times(-1,0,2)^{\mathrm{T}}=(0,1,0)^{\mathrm{T}} x=(1,0,1)T×(1,0,2)T=(0,1,0)T
第3个元素为0表示这是一个无穷远点
前两个元素表示无穷远点的方向:(0,1)表示这是一个竖直方向的无穷远点

综上所述:

  • 点在直线上 : 0 = l T x = x T l :0=l^Tx=x^Tl :0=lTx=xTl
  • 经过两点 x 1 x_1 x1 x 2 x_2 x2的直线: l = x 1 × x 2 l=x_1\times x_2 l=x1×x2
  • 两条线 l 1 l_1 l1 l 2 l_2 l2的交点 : x = l 1 × l 2 x=l_1\times l_2 x=l1×l2

因为对于任意无穷远点 x x x存在直线 l = ( 0 , 0 , 1 ) T l=(0,0,1)^T l=(0,0,1)T,使得 l T x = 0 l^Tx=0 lTx=0恒成立,所以 l l l为无穷远直线

二次曲线

平面上的二次曲线:用二阶方程描述

  • 非齐次坐标表示: a x 2 + b x y + c y 2 + d x + e y + f = 0 ax^2+bxy+cy^2+dx+ey+f=0 ax2+bxy+cy2+dx+ey+f=0
  • 齐次坐标: x → x / w , y → y / w x\to x/w,\quad y\to y/w xx/w,yy/w代入,得到 a x 2 + b x y + c y 2 + d x w + e y w + f w 2 = 0 ax^2+bxy+cy^2+dxw+eyw+fw^2=0 ax2+bxy+cy2+dxw+eyw+fw2=0
  • 矩阵形式: x T C x = 0 x^{\mathrm{T}}Cx=0 xTCx=0,其中 C = [ a b / 2 d / 2 b / 2 c e / 2 d / 2 e / 2 f ] C=\begin{bmatrix}a&b/2&d/2\\b/2&c&e/2\\d/2&e/2&f\end{bmatrix} C= ab/2d/2b/2ce/2d/2e/2f 是对称矩阵,自由度为5

为每个点提供一个约束 a x i 2 + b x i y i + c y i 2 + d x i + e y i + f = 0 ax_i^2+bx_iy_i+cy_i^2+dx_i+ey_i+f=0 axi2+bxiyi+cyi2+dxi+eyi+f=0,即 [ x i 2 , x i y i , y i 2 , x i , y i , 1 ] c = 0 \left[x_i^2,x_iy_i,y_i^2,x_i,y_i,1\right]\boldsymbol{c}=0 [xi2,xiyi,yi2,xi,yi,1]c=0,其中 c = [ a , b , c , d , e , f ] T c=[a,b,c,d,e,f]^{\mathrm{T}} c=[a,b,c,d,e,f]T,可得
[ x 1 2 x 1 y 1 y 1 2 x 1 y 1 1 x 2 2 x 2 y 2 y 2 2 x 2 y 2 1 x 3 2 x 3 y 3 y 3 2 x 3 y 3 1 x 4 2 x 4 y 4 y 4 2 x 4 y 4 1 x 5 2 x 5 y 5 y 5 2 x 5 y 5 1 ] c = 0 \begin{bmatrix}x_1^2&x_1y_1&y_1^2&x_1&y_1&1\\x_2^2&x_2y_2&y_2^2&x_2&y_2&1\\x_3^2&x_3y_3&y_3^2&x_3&y_3&1\\x_4^2&x_4y_4&y_4^2&x_4&y_4&1\\x_5^2&x_5y_5&y_5^2&x_5&y_5&1\end{bmatrix}\mathbf{c}=\mathbf{0} x12x22x32x42x52x1y1x2y2x3y3x4y4x5y5y12y22y32y42y52x1x2x3x4x5y1y2y3y4y511111 c=0

3D

3D点

欧氏空间的3D点: ( X 1 , X 2 , X 3 ) T (X_1,X_2,X_3)^{\mathrm{T}} (X1,X2,X3)T

3D射影空间IP 3 ^{3} 3的点的齐次坐标为 x = ( X 1 , X 2 , X 3 , X 4 ) T x=(X_1,X_2,X_3,X_4)^{\mathrm{T}} x=(X1,X2,X3,X4)T

X 4 ≠ 0 X_4\neq0 X4=0时, X = ( X 1 X 4 , X 2 X 4 , X 3 X 4 , 1 ) T = ( X , Y , Z , 1 ) T X=(\frac{X_1}{X_4},\frac{X_2}{X_4},\frac{X_3}{X_4},1)^{\mathrm{T}}=(X,Y,Z,1)^{\mathrm{T}} X=(X4X1,X4X2,X4X3,1)T=(X,Y,Z,1)T

X 4 = 0 X_4=0 X4=0时, ( X 1 , X 2 , X 3 , 0 ) (X_1,X_2,X_3,0) (X1,X2,X3,0)表示无穷远点。

3D射影空间中的点的射影变换为:
X ′ = H X X'=HX X=HX
其中 H H H为4×4的非奇异矩阵,自由度为15

3D 平面

可知3D点的形式如下
X = [ X 1 X 2 X 3 X 4 ] X=\begin{bmatrix}X_1\\X_2\\X_3\\X_4\end{bmatrix} X= X1X2X3X4
设3D平面的形式如下
π = [ π 1 π 2 π 3 π 4 ] \pi=\begin{bmatrix}\pi_1\\\pi_2\\\pi_3\\\pi_4\end{bmatrix} π= π1π2π3π4
所以点在平面上可以表示为
X 1 π 1 + X 2 π 2 + X 3 π 3 + X 4 π 4 = 0 X_1\pi_1+X_2\pi_2+X_3\pi_3+X_4\pi_4=0 X1π1+X2π2+X3π3+X4π4=0
若使用矩阵表示,则为
0 = π T X = X T π 0=\pi^\mathrm{T}X=X^\mathrm{T}\pi 0=πTX=XTπ
同理可得,平面的射影变换为
π ′ = H − T π \pi^{\prime}=H^{-T}\pi π=HTπ
可知无穷远平面为 π ∞ = ( 0 , 0 , 0 , 1 ) T \pi_{\infty}=(0,0,0,1)^T π=(0,0,0,1)T

因为三个点可以确定一个平面,则有三个点满足 X 1 π 1 + X 2 π 2 + X 3 π 3 + X 4 π 4 = 0 X_1\pi_1+X_2\pi_2+X_3\pi_3+X_4\pi_4=0 X1π1+X2π2+X3π3+X4π4=0

所以存在方程组

X X X 在由3点 ( X 1 , X 2 , X 3 ) (X_1, X_2, X_3) (X1,X2,X3)在一个平面上,有三点共面条件可得
det ⁡ [ X 1 X 11 X 21 X 31 X 2 X 12 X 22 X 32 X 3 X 13 X 23 X 33 X 4 X 14 X 24 X 34 ] = 0 \det \begin{bmatrix} X_1&X_{11}&X_{21}&X_{31}\\ X_2&X_{12}&X_{22}&X_{32}\\ X_3&X_{13}&X_{23}&X_{33}\\ X_4&X_{14}&X_{24}&X_{34}\\ \end{bmatrix} =0 det X1X2X3X4X11X12X13X14X21X22X23X24X31X32X33X34 =0
解得: X 1 D 234 − X 2 D 134 + X 3 D 124 − X 4 D 123 = 0 X_1D_{234}-X_2D_{134}+X_3D_{124}-X_4D_{123}=0 X1D234X2D134+X3D124X4D123=0

π = ( D 234 , − D 123 , D 124 , − D 123 ) T \boldsymbol{\pi}=(D_{234},-D_{123},D_{124},-D_{123})^\mathrm{T} π=(D234,D123,D124,D123)T
可知3点 ( X 1 , X 2 , X 3 ) (X_1,X_2,X_3) (X1,X2,X3) 确定的一个平面为: ( D 234 , − D 123 , D 124 , − D 123 ) T (D_{234},-D_{123},D_{124},-D_{123})^{\mathrm{T}} (D234,D123,D124,D123)T ,因为 [ X 1 T X 2 T X 3 T ] π = 0 \begin{bmatrix} X_1^T\\ X_2^T\\ X_3^T \end{bmatrix} \pi=0 X1TX2TX3T π=0,即 π \pi π [ X 1 T X 2 T X 3 T ] \begin{bmatrix} X_1^T\\ X_2^T\\ X_3^T \end{bmatrix} X1TX2TX3T 的零空间。

因为三个平面可以确定一个点,所以可得3个平面 ( π 1 , π 2 , π 3 ) (\pi_1,\pi_2,\pi_3) (π1,π2,π3) 确定一个交点 X X X,存在 [ π 1 T π 2 T π 3 T ] X = 0 \begin{bmatrix} \pi_1^T\\ \pi_2^T\\ \pi_3^T \end{bmatrix} X=0 π1Tπ2Tπ3T X=0,即 X X X [ π 1 T π 2 T π 3 T ] \begin{bmatrix} \pi_1^T\\ \pi_2^T\\ \pi_3^T \end{bmatrix} π1Tπ2Tπ3T 的零空间。

3D直线

两点的连线:给定两个不重合的点A、B,连接这两个点的直 线有一个2×4的矩阵W的行的生成子空间表示:
W = [ A T B T ] W=\begin{bmatrix}A^T\\B^T\end{bmatrix} W=[ATBT]
其中 λ A + μ B = 0 \lambda A+\mu B=0 λA+μB=0表示直线上的点簇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/601897.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年最新可用免费云服务器整理汇总

随着云计算技术的不断发展,越来越多的个人和企业开始使用云服务器来满足其数据存储、网站搭建、应用开发等需求。其中,免费云服务器更是受到广大用户的青睐。本文将为大家整理汇总最新的可用免费云服务器资源,助力大家轻松享受云上之旅&#…

mos管开关出现尖峰的原理? mos管开关的时候cs会出现尖峰,请问这是什么原因?

MOS管在开关过程中出现尖峰现象,通常是由于电路中的寄生参数和快速电压变化引起的。以下是一些导致尖峰出现的主要原因和原理: 寄生电容 在MOS管的源极(S)和漏极(D)之间存在寄生电容,这个电容在…

CSS变换

CSS变换 根据 CSS 的变换的功能特性,它可以分为位移、旋转、缩放、倾斜和透视: 也可以分成2D变换和3D变换,2D变换是二维平面上进行的,即 X 轴和 Y 轴。这些变换不涉及 Z 轴。3D 变换允许元素在三维空间中进行操作,这些…

BioXCell,1H6--InVivoMAb anti-canine CD34

1H6单克隆抗体与犬CD34发生反应。CD34是一种I型单体唾液酸粘蛋白样糖蛋白,存在于许多干细胞群体中。CD34由骨髓和外周血中的造血祖细胞以及一些间充质干细胞、基质细胞、胚胎成纤维细胞、肿瘤细胞和成人血管内皮细胞表达。CD34经常被用作量化用于造血干细胞移植后该…

【第二十九篇】BurpSuite杂项综合

文章目录 Intruder模块URL编码Grep检索提取logger日志模块Intruder模块URL编码 假设我们需要对GET请求包中的URL目录进行爆破FUZZ: example.com/xxxx(文件名)Intruder模块会自动对我们的文件名字典进行URL编码 例如payload为1.txt时,burp对其进行URL编码并连接到example.c…

vulhub之fastjson篇-1.2.27-rce

一、启动环境 虚拟机:kali靶机:192.168.125.130/172.19.0.1(docker地址:172.19.0.2) 虚拟机:kali攻击机:192.168.125.130/172.19.0.1 本地MAC:172.XX.XX.XX 启动 fastjson 反序列化导致任意命令执行漏洞 环境 1.进入 vulhub 的 Fastjson 1.2.47 路径 cd /../../vulhub/fa…

代码算法训练营day13 | 239. 滑动窗口最大值、347.前 K 个高频元素

day13: 239. 滑动窗口最大值1、(暴力算法)思路:2、(单调队列)思路: 347.前 K 个高频元素 239. 滑动窗口最大值 题目链接 状态:暴力ok 文档:programmercarl.com 1、(暴力算…

[C语言]——动态内存经典笔试题分析

目录 一.题目1 1.运行结果 2.分析 3.问题所在 4.更正 二.题目2 1.运行结果 2.分析 3.问题所在 4.更正 三.题目3 1.问题所在 2.更正: 四.题目4 一.题目1 void GetMemory(char *p){p (char *)malloc(100);}void Test(void){char *str NULL;GetMemory…

图像版PDF文件OCR识别转换为文本的3款免费工具软件

图像版PDF文件里面都是图片,要先通过OCR技术识别出文本,然后才能进行进一步处理编辑。下面是3个免费的PDF文件OCR识别软件工具: ●简可信PDF批量识别工具 简可信PDF批量识别工具是一款专门用于将PDF文件进行批量OCR(光学字符识别…

三星:HBM4的16层堆叠技术验证成功

随着人工智能、大数据分析、云计算及高端图形处理等领域对高速、高带宽存储需求的激增,下一代高带宽内存(High Bandwidth Memory, HBM)——HBM4已成为全球存储芯片巨头三星、SK海力士和美光竞相追逐的技术高地。 随着AI、机器学习以及高性能…

【大数据】常见问题解决1

目录 一、解决虚拟机ping www.baidu.com 不通问题 二、解决HBase集群中的Hmaster节点刚启动就消息 三、 Hadoop3.x和Hadoop2.x的区别 一、解决虚拟机ping www.baidu.com 不通问题 1)首先保证主机连上网络 2)sudo vim /etc/resolv.conf 3)…

Linux-等待子进程

参考资料:《Linux环境编程:从应用到内核》 僵尸进程 进程退出时会进行内核清理,基本就是释放进程所有的资源,这些资源包括内存资源、文件资源、信号量资源、共享内存资源,或者引用计数减一,或者彻底释放。…