公路工程三維座標系研究

做者: 姚彧
版本歷史:設計

版本 日期 說明
0.1 2018-08-07 建立文檔
0.2 2018-08-09 加入公路基礎
0.2.1 2018-08-10 自由基底符合左手法則

版權聲明:本文爲做者原創文章,博客地址:https://www.cnblogs.com/yaoyu126 未經做者容許不得轉載。blog

目標

  • [x] 創建公路工程三維座標系

1. 引言

在公路三維建模中, 爲了清晰、簡潔的表達公路三維模型,咱們須要各類三維座標系。本文嘗試經過應用空間向量的原理,對公路三維建模所需的座標系進行拋磚引玉。文檔

1.1. 數學基礎

1.1.1 向量(Vector)

向量指具備大小和方向的量。get

1.1.2 基(Basic,基底)

1.1.2.1 線性無關

在一個向量空間\(V_n\)中,假設:博客

\(a_1e_1 + ⋯ + a_ne_n = 0\)  (式1)數學

只在 \(a_1 = ⋯ = a_n = 0\) 時成立,那麼向量 \(\{e_1, e_2, ..., e_n\}\) 是線性無關的。
若是任何 \(a_i\) 不爲零,那麼這些向量是線性相關的,其中一個向量是其餘向量的組合。it

1.1.2.2 基底

在向量空間\(V_n\)中,任意向量\(P\)均可以由一組\(n\)個線性無關的向量集\(B_n\)組成,這樣的向量集\(B_n\)稱爲基底(基)。其定義以下:
向量空間 \(V_n\) 的基底 \(B_n\) 是一組 \(n\) 個線性無關的向量 \(\{e_1, e_2, ..., e_n\}\)
對於任何 \(V_n\) 的向量 \(P\),都存在實數 \(\{a_1, a_2, ..., a_n\}\),使得table

$P = a_1e_1 + ⋯ + a_ne_n $  (式2)class

1.2. 公路工程基礎

1.2.1 公路的組成

公路的主要組成部分:路基、路面、橋樑、涵洞、隧道、綠化、排水、防禦及其它設施等。

1.2.2 路線

公路路線是指公路平面線形、縱斷面線形、橫斷面及其三者相結合的三維空間線形的總稱。

1.2.3 結構物

公路結構物主要是橋樑、涵洞、立交、跨線橋、支擋結構物等。結構物通常都是沿路線進行佈置。

2. 公路工程三維座標系

基於向量空間 的定義, 在三維空間中, 可使用任意 基底 來表達模型物體。根據公路三維特色,本文定義了以下公路三維基底

2.1 路線基底 \(B_r\)

對於路線,直接使用笛卡爾基底(即單位矩陣\(M_r = I_3 = (V_r, V_f, V_u)\)來表示座標:

\(P_r=(X, Y, Z) \cdot M_r\)

在將路線三維座標映射到樁號基底時,須要用到 \(M_r\) 的逆矩陣 \(M_r\)

2.1.1 基向量之間的關係

基向量之間的關係符合右手法則

\(V_r = V_f \times V_u\)
\(V_u = V_r \times V_f\)
\(V_f = V_u \times V_r\)

2.2 樁號基底 \(B_s\)

首先,對於路線局部區域,能夠創建以路線設計線指定樁號中心爲基準的樁號基底

2.2.1 樁號基底的選擇

在任意中心樁號, 選擇以下正交向量組\(\{B_3\}\)做爲基底:

  • 向前(基向量,\(V_f\)), 路線水平前進方向
  • 向右(基向量,\(V_r\)), 路線水平前進方向右轉\(90^o\)
  • 向上(基向量,\(V_u\)), 豎直方向

2.2.2 樁號基底的存儲

爲了將橫斷面轉換到三維, 使用(\(V_r, V_u\))份量保存橫斷面座標, 這樣橫斷面從二維轉到三維只須要第三份量設爲0, 即(x, y, 0).
將前進方向保存在第三份量上, 這樣就組成了樁號基底(\(V_r, V_u, V_f\)), 咱們用單位矩陣\(M_s=I_3\)表示.

由於份量定義順序的緣由, 樁號基底知足下列關係:

  • \(V_f = V_r \times V_u\)
  • \(V_r = V_u \times V_f\)
  • \(V_u = V_f \times V_r\)

2.2.3 樁號基底的特色

  • 將存儲結果與實際狀況對比, 形成了樁號基底符合 左手法則, (右, 上, 前), 在應用時, 須要注意。
  • 真實的笛卡爾向量, 須要經過笛卡爾基底還原

    \(P_r \cdot M_r = P_s \cdot M_0 \cdot \begin{bmatrix} 0 & -1 & 0 \\ 0 & 0 & 1\\ 1 & 0 & 0 \end{bmatrix} \cdot M_l = P_s \cdot \begin{bmatrix} 0 & -1 & 0 \\ 0 & 0 & 1\\ 1 & 0 & 0 \end{bmatrix} \cdot M_l = P_s \cdot M_s\)
    注: \(M_0 = I_3\)

2.3 自由基底 \(B_{f}\)

2.3.1 自由基底的選擇

選擇以下自由向量組\(\{B_3\}\)做爲基底:

  • 向前(基向量,\(V_f\)), 路線前進方向
  • 向右(基向量,\(V_r\)), 路線前進方向右轉指定角度
  • 向上(基向量,\(V_u\)), 豎直方向

2.3.2 自由基底的矩陣表達

自由基底採用與樁號基底一樣的份量(\(V_r, V_u, V_f\))。

2.3.3 自由基底的特色

自由基底適合於對模型應用錯切變換。

2.3.4 應用方式

\(P_r = P_f \cdot M_f \cdot M_s\)

即對物體模型先應用自由基底,而後再應用路線基底

3. 公路三維座標系應用

3.1 計算樁號在路線中的位置矩陣

路線前進方向在笛卡爾座標系中進行計算
\(V_f = P_e - P_s\)
其中:\(P_e,P_s\)中z份量=0
\(V_u = [0,0,1]\)
\(V_r = V_f \times V_u\)
$M_s = [V_r, V_u, V_f] \Leftrightarrow\begin{bmatrix}
0 & -1 & 0 \
0 & 0 & 1\
1 & 0 & 0
\end{bmatrix} \cdot M_l $
基點: $ P_s $

齊次位置矩陣爲:

\(M_s = \begin{bmatrix} V_r & 0 \\ V_u & 0 \\ V_f & 0 \\ P_s & 1 \end{bmatrix}\)

最後, 以樁號基底\(B_s\)表示的齊次座標點\(P_s = [P_s, 1]\)最終在路線基底\(B_r\)中表示爲

\(P_r = P_s \cdot M_s\)

3.2 計算任意公路點在樁號座標系中的位置

使用 \(M_s\) 的逆矩陣 \(M_s ^ \mathrm{ -1 }\) 來計算點在樁號座標系中的位置

$ P_s = P_r \times M_s ^ \mathrm{ -1 } $

相關文章
相關標籤/搜索