射影几何笔记6:齐次坐标下“点-线”几何关系
一、關于齊次坐標
????????真正的射影平面可以被認為是添加了額外點的歐幾里得平面,這些點被稱為無窮遠點,并且被認為位于一條新線上,即無窮遠線。每個方向都有一個無窮遠點(數值由直線的斜率給出),非正式地定義為沿該方向遠離原點的點的極限。歐幾里得平面中的平行線相交于無限遠的一點,對應于它們的共同方向。給定歐幾里得平面上的一個點 (x, y),對于任何非零實數 Z,三元組 (xZ, yZ, Z) 稱為該點的齊次坐標集。根據這個定義,將三個齊次坐標乘以一個共同的非零因子可以為同一點提供一組新的齊次坐標。特別是,(x, y, 1) 是點 (x, y) 的齊次坐標系。例如,笛卡爾點 (1, 2) 可以在齊次坐標中表示為 (1, 2, 1) 或 (2, 4, 2)。通過將前兩個位置除以第三個位置來恢復原始笛卡爾坐標。因此,與笛卡爾坐標不同,一個點可以由無限多個齊次坐標表示。
????????一些作者對齊次坐標使用不同的符號,這有助于將它們與笛卡爾坐標區分開來。使用冒號代替逗號,例如 (x:y:z) 代替 (x, y, z),強調坐標應被視為比率。 [5]方括號,如 [x, y, z] 強調多組坐標與單個點相關聯。 [6]一些作者使用冒號和方括號的組合,如 [x:y:z]。
二、其次坐標下的直線方程
? ? ? ? 平面上點有M( x1 , x2 , x3 ),其中的 x3 ≠0;等價的二維坐標是:?? 該點的直角坐標。
過M點的任意直線方程是:;等價的寫法是:
,
三、直線過原點
????????通過原點 (0, 0) 的直線方程可以寫成 nx + my = 0,其中 n 和 m 不都是 0。在參數形式中,這可以寫成 x = mt, y = -nt。令 Z = 1/t,因此線上一點的坐標可以寫成 (m/Z, -n/Z)。在齊次坐標中,這變為 (m, -n, Z)。在極限中,隨著 t 接近無窮大,即隨著點遠離原點,Z 接近 0,該點的齊次坐標變為 (m, -n, 0)。因此,我們將 (m, -n, 0) 定義為無窮遠點的齊次坐標,對應于線 nx + my = 0 的方向。由于歐幾里得平面的任何線都平行于通過原點的線,由于平行線在無窮遠處有同一個點,所以歐幾里得平面每條線上的無窮大點都被賦予齊次坐標。
四、一般直線方程
對于過M(x1:y1:z1)和點N(x2:y2:z2)的直線為L;求該直線方程。
兩邊同除;因此:
求解方程:
;? ? ??;? ?
因此,原方程形式為內積關系:
也就是
也可以這樣講:M(x1:y1:z1)和點N(x2:y2:z2)構成直線
且:
參考代碼:?
import math import numpy as npM = np.array([x1,y1,z1]) N = np.array([x2,y2,z2])def getLine(M ,N):line = np.array([0,0,0])line[0] = x1*y2 - x2*y1line[1] = z1*z2 - x2*y1line[2] = x1*z2 - z1*x2return line?
?(未完待續)
總結
以上是生活随笔為你收集整理的射影几何笔记6:齐次坐标下“点-线”几何关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ROS知识【15】:在eclipse创建
- 下一篇: 在Eclipse的CDT:配置和开发Qt