主頁 >  其他 > 三維空間剛體運動4-4:四元數線性插值方法:Spring-1

三維空間剛體運動4-4:四元數線性插值方法:Spring-1

2021-04-06 10:45:39 其他

三維空間剛體運動4-4:四元數線性插值方法:Spring-1

  • 1. 總述:多點旋轉插值的數學方法
  • 2. 插值曲線及其連續性
    • 2.1 插值曲線定義
    • 2.2 插值曲線連續性的討論
  • 3. 最優插值曲線
    • 3.1 最優插值曲線的引出
    • 3.2 最優插值曲線在 H 1 H_{1} H1?的曲率
  • 4. 正切曲率 κ ( γ , t ) \kappa(\gamma, t) κ(γ,t) H 1 H_{1} H1?上的連續決議解
    • 4.1 函式 K ( γ ) K(\gamma) K(γ)及變分法
    • 4.2 求解 γ \gamma γ
  • 5. 正切曲率 κ ( γ , t ) \kappa(\gamma, t) κ(γ,t) H 1 H_{1} H1?上的連續半決議解

序:本篇系列文章參照高翔老師《視覺SLAM十四講從理論到實踐》,講解三維空間剛體運動,博文將原第三講分為四部分來講解,其中四元數部分較多較復雜,又分為四部分,總體目錄如下:

  1. 旋轉矩陣和變換矩陣;
  2. 旋轉向量表示旋轉;
  3. 歐拉角表示旋轉;
  4. 四元數包括以下部分:
    4-1. 四元數表示變換;
    4-2. 四元數線性插值方法:LinEuler/LinMat/Lerp/Nlerp/Slerp;
    4-3. 四元數多點插值方法:Squad;
    4-4. 四元數多點二次插值方法:Spring,

1. 總述:多點旋轉插值的數學方法

之前提到的插值方法是相對較簡單的基于旋轉表示的方法,原則上,插值方法應獨立于該方法的旋轉方式,另外,對于最優插值演算法的定義應體現出旋轉空間期望的屬性,當然,最優曲線也可以在演算法上顯式的寫為旋轉運算式,
比如以下兩個旋轉間的插值:最優插值曲線等同于旋轉空間的一條直線,這條最優插值曲線在演算法上可以寫作歐拉角的表達方式,但是使用四元數形式的Slerp,Slerp的優勢是表述更簡潔(可參考之前《三維空間剛體運動4-1:四元數表示變換》第1章和第4章所述的旋轉空間和單位四元數球體的等價性),
因此,我們將基于旋轉空間討論插值問題,我們將給出最優插值曲線的基本數學要求,這是為了給出最優插值曲線演算法描述,并據此尋找符合條件的插值演算法,

2. 插值曲線及其連續性

2.1 插值曲線定義

旋轉間的插值定義在特殊正交群 S O ( 3 ) SO(3) SO(3)的旋轉空間中,關于特殊正交群 S O ( 3 ) SO(3) SO(3)請參考《三維空間剛體運動1:旋轉矩陣與變換矩陣》第2章的內容,然而,如之前所述, S O ( 3 ) SO(3) SO(3) H 1 H_{1} H1?是拓撲等價的,因此我們選擇在單位四元數空間中定義通用的插值方法:
定義:對于給定的 k k k個控制點 q i ∈ H 1 q_{i} \in H_{1} qi?H1?,并且 I = [ t 1 , . . . , t k ] I=[t_{1},...,t_{k}] I=[t1?,...,tk?],插值曲線 γ ( t ) : I ∝ H 1 \gamma(t):I\propto H_{1} γ(t):IH1?,即對于 t i ∈ I t_{i}\in I ti?I,有 γ ( t i ) ≡ q i \gamma(t_{i})\equiv q_{i} γ(ti?)qi?,同時要求 t 1 ≤ t 2 , . . . , t k ? 1 ≤ t k t_{1}\leq t_{2},...,t_{k-1} \leq t_{k} t1?t2?,...,tk?1?tk?

2.2 插值曲線連續性的討論

通常希望插值曲線是“漂亮”的,這個較模糊的字眼通常意味著曲線在微分幾何層面是平滑的,但是,由于存在多個不同的平滑定義故需求并不明確,定義列舉如下:
使 γ ( t ) \gamma(t) γ(t)是某曲線在 C n ( I , R n ) C^{n}(I,R^{n}) Cn(I,Rn)上的引數運算式,平滑性可被定義為下列方式:
(1)[Madsen, 1991]:如果 γ ( t ) ∈ C 1 \gamma(t)\in C^{1} γ(t)C1,并且 ? t ∈ I : γ ′ ( t ) ≠ 0 \forall t\in I:\gamma ^{'}(t)\neq 0 ?tI:γ(t)?=0,那么曲線 γ ( t ) \gamma(t) γ(t)是平滑的,
(2)[Schwarz, 1989]:如果 γ ( t ) ∈ C 2 \gamma(t)\in C^{2} γ(t)C2,那么曲線 γ ( t ) \gamma(t) γ(t)是平滑的,
(3)[Jakobsen, 1993]:如果 γ ( t ) ∈ C ∞ \gamma(t)\in C^{\infty} γ(t)C,那么曲線 γ ( t ) \gamma(t) γ(t)是平滑的,
以上不同定義對于“漂亮”的表述并不明朗,我們還需要進一步檢查到底需要插值曲線的哪些性質,如下圖所示:
在這里插入圖片描述
上圖表示平面中三個控制點間的插值曲線,其中:a)非連續插值曲線;b)連續插值曲線;c) C 1 C^{1} C1連續插值曲線;d) C 2 C^{2} C2連續插值曲線,
很明顯,我們希望曲線必須是連續且可微的,不希望在動態曲線上出現洞或斷點,因此我們要求插值曲線至少必須是 C 1 C^{1} C1,至于是否需要 C 2 C^{2} C2甚至 C ∞ C^{\infty} C還不確定,
由于控制點是對稱的(雙倍覆寫),因此也希望插值曲線是對稱的,平面上展示的曲線明確表示我們至少需要 C 2 C^{2} C2而不是 C 1 C^{1} C1,然而平面展示的曲線并不是采用 C 2 C^{2} C2的充分條件,因此目前采用幾階連續并不明朗,因此,我們將這一決定推遲到下一篇Spring中,
γ ( t ) \gamma(t) γ(t)平滑性的第一條定義中要求 γ ′ ( t ) ≠ 0 \gamma^{'}(t)\neq 0 γ(t)?=0,這意味著插值函式不能包含奇點,現在看來,這是一個合理的要求,然而,某些情況也有可能對插值曲線的速度提出合理但矛盾的要求,例如,考慮一個鐘擺的影片,控制點(它們定義鐘擺擺動的角度)將位于旋轉空間的直線上,在外部位置(即端點處),鐘擺應該沒有速度,這與插值函式中的奇點相對應,因此,我們也將這一決定推遲到下一篇Spring中,
關于平滑性的討論并沒有給我們帶來太多的啟發,上面的定義甚至無法讓我們區分LinEuler、Lerp和Slerp,這些曲線都是 C 2 C^{2} C2(但在控制點處是 C 0 C^{0} C0),因此,僅僅描述插值曲線應該屬于哪一類函式是不夠的,

3. 最優插值曲線

3.1 最優插值曲線的引出

對平滑性的考量對插值曲線的定義沒有給出充分的需求,我們需要一個客觀明確的指標來衡量我們的曲線在旋轉空間中的“漂亮”程度,
我們將再次在平面中尋找靈感(見下圖),如前所述,三次曲線通常用于在一系列點之間的插值,三次曲線有很多種,在上一篇4.3中描述的貝塞爾曲線就是一個例子,而最常見的一類曲線是樣條曲線,
在這里插入圖片描述
上圖表示平面中的樣條插值:a)簡單線性插值;b)樣條插值曲線,
討論樣條曲線,我們必須像其他嚴謹的專案處理樣條曲線那樣,寫一點關于造船者的故事,傳統上,當造船者想要決定如何塑造一艘船的彎曲部分時,會使用一塊有彈性的金屬,這塊金屬被固定在一組鉚釘之間,然后,金屬部件與鉚釘相適應,形成一個優美柔和的曲線,造船者稱這個工具為樣條,關于樣條的知識也請參考上一篇4.3中描述的樣條,
從物理上看,上面對樣條的描述對應于金屬片在鉚釘約束條件下,達到最小的內部張力,從數學角度講,金屬件使曲率(curvature)最小,曲率是指一條(平面上的)曲線在特定一點彎曲的程度,它正比于曲線轉過的角度,反比于曲線的長度,關于曲率的知識請參考《什么是曲率和曲率半徑》,
在平面中,這個曲線可以描述如下:給定控制點 ( x i , y i ) ∈ R 2 (x_{i},y_{i})\in \mathbb{R}^{2} (xi?,yi?)R2,定義曲線 γ ( t ) ∈ C 2 ( I , R 2 ) \gamma(t)\in C^{2}(I,\mathbb{R}^{2}) γ(t)C2(I,R2),其中 t t t是自然引數(如曲線長度,0-1之間的進度比等),并且使 γ ( t ) \gamma(t) γ(t)經過控制點,同時最小化運算式 ∫ I ∥ γ ′ ′ ( t ) ∥ 2 d t \int _{I}\left \| \gamma ^{''}(t) \right \| ^{2}dt I??γ(t)?2dt,此時曲率的平方最小,
這個簡單的公式從微分幾何中的一般概念出發,給出了插值曲線的明確定義,因此,我們選擇將曲率(或曲率平方)最小的曲線視為最優插值曲線,下面我們將看到,在 H 1 H_{1} H1?中計算這條曲線并不像在平面上那么簡單,

3.2 最優插值曲線在 H 1 H_{1} H1?的曲率

插值曲線位于四元數空間的超球面 H 1 H_{1} H1?上,假設 t t t為自然引數,那么曲線 γ ( t ) \gamma (t) γ(t)的曲率通常被定義為 ∥ γ ′ ′ ( t ) ∥ \left \| \gamma ^{''}(t) \right \| ?γ(t)?
這里解釋一下,上文關于曲率的資料中,二階可導函式的曲率被定義為: K ( t ) = ∥ γ ′ ′ ( t ) ∥ ( 1 + γ ′ ( t ) 2 ) 3 2 (3.1) K(t)=\frac{\left \| \gamma ^{''}(t) \right \|}{(1+\gamma ^{'}(t)^{2})\frac{3}{2}}\tag{3.1} K(t)=(1+γ(t)2)23??γ(t)??(3.1)然而在本篇論文中,曲率的分母被省略,論文并沒給出解釋,博主認為,這里的曲率 ∥ γ ′ ′ ( t ) ∥ \left \| \gamma ^{''}(t) \right \| ?γ(t)?是曲線在切平面上的投影的曲率,并非原曲線,而切平面在投影后已固定,分母可以作為常數處理,因此省略掉分母,另外一種原因,固定 γ ′ ( t ) \gamma ^{'}(t) γ(t)可能有助于最小化角加速度,未定,后續補充,
插值曲線Slerp在四元數單位圓上產生大弧線(大弧線概念請參考本系列博文4-2的5.2.2節), H 1 H_{1} H1?上的圓弧在切平面上的投影是一條直線,因此,可以預料大弧線的投影是沒有曲率的,如果用 ∥ γ ′ ′ ( t ) ∥ \left \| \gamma ^{''}(t) \right \| ?γ(t)?來計算曲率,曲率將不是零,而是1:即單位球的曲率,因此,我們想計算相對于四元數單位球面的曲率,而不是相對于四元數空間,我們稱這個曲率為區域曲率
曲面上曲線的區域曲率的定義是基于微分幾何的,點的區域曲率定義如下:給定表面上的點,一個坐標系統(地圖)被放置在切平面,現在曲線的區域曲率就是投影到切平面上的曲線的曲率,這也叫做正切曲率
在微分幾何中,大弧線(直線)稱為測地線,測地線投影到切面上,就成了一條直線,因此,正如預期的那樣,我們看到大弧線沒有任何區域彎曲,下面開始分析正切曲率,
在這里插入圖片描述
上圖表示曲線 γ ( t ) \gamma (t) γ(t)的正切向量 γ ′ ( t ) \gamma ^{'}(t) γ(t)和正切曲率 γ ′ ′ ( t ) \gamma ^{''}(t) γ(t)在平面的分量:a)表示位于四元數單位球面上曲線的位置向量 γ ( t ) \gamma (t) γ(t)(位置矢量是在某一時刻,以坐標原點為起點,以運動質點所在位置為終點的有向線段),它在正切平面上的投影為 γ ′ ( t ) \gamma ^{'}(t) γ(t);b)向量 γ ′ ′ ( t ) \gamma ^{''}(t) γ(t)可以分解為正切平面的分量 γ t ′ ′ ( t ) \gamma ^{''}_{t}(t) γt?(t)和平行于位置矢量的分量 γ o ′ ′ ( t ) \gamma ^{''}_{o}(t) γo?(t)

由上圖可知,如果曲線 γ ( t ) \gamma (t) γ(t)位于 H 1 H_{1} H1?的表面,我們可以將 γ ′ ′ ( t ) \gamma ^{''}(t) γ(t)分解為兩個部分 γ t ′ ′ ( t ) \gamma ^{''}_{t}(t) γt?(t) γ o ′ ′ ( t ) \gamma ^{''}_{o}(t) γo?(t),期望的曲率部分是 γ t ′ ′ ( t ) \gamma ^{''}_{t}(t) γt?(t),因為它表示 γ ′ ′ ( t ) \gamma ^{''}(t) γ(t)的彎曲程度,因此,曲線 γ ( t ) \gamma (t) γ(t)的區域曲率 κ \kappa κ可以表示為: κ ( r , t ) = ∥ γ t ′ ′ ( t ) ∥ = ∥ γ ′ ′ ( t ) ? γ o ′ ′ ( t ) ∥ \kappa (r,t)=\left \| \gamma ^{''}_{t}(t) \right \|=\left \| \gamma ^{''}(t)-\gamma ^{''}_{o}(t) \right \| κ(r,t)=?γt?(t)?=?γ(t)?γo?(t)?
由于曲線 γ ( t ) \gamma (t) γ(t)位于 H 1 H_{1} H1?的表面, γ o ′ ′ ( t ) \gamma ^{''}_{o}(t) γo?(t)平行于 γ ( t ) \gamma (t) γ(t),因此 γ o ′ ′ ( t ) \gamma ^{''}_{o}(t) γo?(t)可以表示為 γ ′ ′ ( t ) \gamma ^{''}(t) γ(t)投影到 γ ( t ) \gamma (t) γ(t),參考《三維空間剛體運動2:旋轉向量與羅德里格斯公式》中的投影公式(2.6),因此: γ t ′ ′ ( t ) = γ ′ ′ ( t ) ? γ o ′ ′ ( t ) = γ ′ ′ ( t ) ? ( γ ′ ′ ( t ) ? γ ( t ) ∥ γ ( t ) ∥ ) γ ( t ) ∥ γ ( t ) ∥ = γ ′ ′ ( t ) ? ( γ ′ ′ ( t ) ? γ ( t ) ) γ ( t ) \begin{aligned} \gamma ^{''}_{t}(t) &= \gamma ^{''}(t)-\gamma ^{''}_{o}(t) \\&= \gamma ^{''}(t)-\left ( \gamma ^{''}(t) \cdot \frac{\gamma (t)}{\left \| \gamma (t) \right \|} \right )\frac{\gamma (t)}{\left \| \gamma (t) \right \|} \\&= \gamma ^{''}(t) - (\gamma ^{''}(t) \cdot \gamma (t))\gamma (t) \end{aligned} γt?(t)?=γ(t)?γo?(t)=γ(t)?(γ(t)?γ(t)γ(t)?)γ(t)γ(t)?=γ(t)?(γ(t)?γ(t))γ(t)?由此給出區域曲率 κ \kappa κ的定義:給定 γ ( t ) ∈ C 2 ( I , H 1 ) \gamma(t)\in C^{2}(I,H_{1}) γ(t)C2(I,H1?),區域曲率 κ ( γ , t ) \kappa(\gamma, t) κ(γ,t)被定義為: κ ( γ , t ) = ∥ γ ′ ′ ( t ) ? ( γ ′ ′ ( t ) ? γ ( t ) ) γ ( t ) ∥ (3.2) \kappa(\gamma, t)=\left \| \gamma ^{''}(t) - (\gamma ^{''}(t) \cdot \gamma (t))\gamma (t) \right \|\tag{3.2} κ(γ,t)=?γ(t)?(γ(t)?γ(t))γ(t)?(3.2)注意,這里 t t t不一定是自然引數,因此,上述定義在嚴格的微分幾何意義上是不正確的,在自然引數上引數化的曲線的曲率可寫作 κ ( r , t ) = ∥ γ ′ ′ ( t ) ∥ \kappa (r,t)=\left \| \gamma ^{''}(t) \right \| κ(r,t)=?γ(t)?,而對于光滑曲線,微分幾何上的正確運算式為: κ ( γ , t ) = ∥ γ ′ ′ ( t ) ∥ γ ′ ( t ) ∥ 2 ? γ ′ ( t ) ( γ ′ ′ ( t ) ? γ ′ ( t ) ) ∥ γ ′ ( t ) ∥ 4 ∥ \kappa(\gamma, t)=\left \| \frac{\gamma ^{''}(t)}{\left \| \gamma^{'}(t) \right \|^{2}} - \frac{\gamma^{'}(t) (\gamma ^{''}(t) \cdot \gamma^{'}(t))}{\left \| \gamma^{'}(t) \right \|^{4}}\right \| κ(γ,t)=?γ(t)2γ(t)??γ(t)4γ(t)(γ(t)?γ(t))??然而,我們感興趣的不僅僅是插值曲線的形狀(曲率),我們還想要一個“漂亮的”角速度函式,即使角加速度最小化的函式(從物理角度來看,對應的是使能量最小化),在運算式3.2中角加速度是自動包括在內的,因為我們沒有重新引數化自然引數,因此我們使用運算式3.2來計算曲率,
下面將分別介紹正切曲率 κ ( γ , t ) \kappa(\gamma, t) κ(γ,t) H 1 H_{1} H1?上的連續決議解(第4章)、連續半決議解(第5章)和離散數字化解(篇幅原因,留至下篇),

4. 正切曲率 κ ( γ , t ) \kappa(\gamma, t) κ(γ,t) H 1 H_{1} H1?上的連續決議解

4.1 函式 K ( γ ) K(\gamma) K(γ)及變分法

我們將H1中的最優插值曲線定義為曲率平方和最小的曲線,但又必須通過控制點的限制,然后定義了H1中曲率的相關運算式,因此,我們得到問題的公式如下:
設控制點 q 1 , . . . , q N ∈ H 1 q_{1},...,q_{N}\in H_{1} q1?,...,qN?H1?,求 γ ( t ) ∈ C 2 ( I , H 1 ) \gamma(t)\in C^{2}(I,H_{1}) γ(t)C2(I,H1?),使存在 t 1 , . . . , t N ∈ ( I ) t_{1},...,t_{N}\in (I) t1?,...,tN?(I),滿足 γ ( t i ) = q i \gamma(t_{i})=q_{i} γ(ti?)=qi?,并使下列運算式最小化: K ( γ ) = ∫ t 1 t N ∥ κ ( γ , t ) ∥ 2 d t (4.1) K(\gamma)=\int_{t_{1}}^{t_{N}}\left \| \kappa (\gamma,t) \right \|^{2}dt\tag{4.1} K(γ)=t1?tN??κ(γ,t)2dt(4.1)這里將求以 γ \gamma γ為變數的曲率問題 κ ( γ , t ) \kappa (\gamma,t) κ(γ,t)轉換為對曲率平方的積分問題 K ( γ ) K(\gamma) K(γ),同樣以函式 γ \gamma γ為變數,這里 K ( γ ) K(\gamma) K(γ)求的是整條曲線各個點的曲率平方之和,當它越小時,轉彎就越平滑,所耗費的動能也就越少,符合導航線路的基本要求,
使函式的積分最小化的問題叫做變分演算問題,又稱變分法,關于變分法請參考文章《變分法入門介紹》,這里不再贅述,在這里應用變分法只要記住,求極值應用到的必要條件是一階導數為零,
下面,我們將概述變分學中解決問題的基本方法, K ( γ ) K(\gamma) K(γ)達到最小值的一個必要條件是 K ′ ( γ ) = 0 K^{'}(\gamma)=0 K(γ)=0,對于 δ ∈ R \delta \in \mathbb{R} δR ψ ∈ C k ( I , H 1 ) \psi \in C^{k}(I,H_{1}) ψCk(I,H1?),我們看一下導數定義: lim ? δ → 0 K ( γ + δ ψ ) ? K ( γ ) δ = 0 (4.2) \lim_{\delta\rightarrow 0}\frac{K(\gamma+\delta \psi)-K(\gamma)}{\delta}=0\tag{4.2} δ0lim?δK(γ+δψ)?K(γ)?=0(4.2)上式中,函式 δ ψ \delta \psi δψ稱為 γ \gamma γ的變數函式,函式 γ + δ ψ \gamma+\delta \psi γ+δψ稱為比較函式,滿足邊界條件的函式 γ ( t ) ∈ C 2 ( I , H 1 ) \gamma(t)\in C^{2}(I,H_{1}) γ(t)C2(I,H1?)稱為容許函式,這樣,我們就得到了關于 γ \gamma γ的條件函式,

4.2 求解 γ \gamma γ

現在我們將推匯出變分問題的解必須滿足的要求,因此,我們假定解 γ \gamma γ和比較函式 γ + δ ψ \gamma+\delta \psi γ+δψ都是可容許的,并且 K ( γ ) K(\gamma) K(γ)是最小的,
比較函式 γ + δ ψ \gamma+\delta \psi γ+δψ若要被容許,前提必須是: ψ ( t 1 ) = ψ ( t 2 ) = . . . = ψ ( t N ) = 0 (4.3) \psi (t_{1}) = \psi (t_{2}) = ... = \psi (t_{N}) = 0\tag{4.3} ψ(t1?)=ψ(t2?)=...=ψ(tN?)=0(4.3)此外,由于 γ \gamma γ γ + δ ψ \gamma+\delta \psi γ+δψ在單位球面上,我們有 ∥ γ ∥ = 1 \left \| \gamma \right \|=1 γ=1 ∥ γ + δ ψ ∥ = 1 \left \| \gamma+\delta \psi\right \|=1 γ+δψ=1,在下面的推導中,可以忽略運算式成分中包含四元數函式這一情況,這是因為沒有使用四元數乘法(只使用標量乘積),
因此,交換性沒有問題,因此我們有: 1 = ∥ γ + δ ψ ∥ 2 = ∥ γ ∥ 2 + δ 2 ∥ ψ ∥ + 2 δ ( γ ? ψ ) = 1 + δ ( δ ∥ ψ ∥ + 2 γ ? ψ ) ? γ ? ψ = ? δ 2 ∥ ψ ∥ 2 (4.4) \begin{aligned} 1 &= \left \| \gamma + \delta \psi \right \|^{2} \\&= \left \| \gamma \right \|^{2} + \delta^{2}\left \| \psi \right \| + 2\delta(\gamma \cdot \psi) \\&= 1 + \delta(\delta\left \| \psi \right \| + 2\gamma \cdot \psi) \\ \Rightarrow \gamma \cdot \psi &= -\frac{\delta}{2}\left \| \psi \right \|^{2}\end{aligned}\tag{4.4} 1?γ?ψ?=γ+δψ2=γ2+δ2ψ+2δ(γ?ψ)=1+δ(δψ+2γ?ψ)=?2δ?ψ2?(4.4)我們想用關于"導數"的知識來檢驗 K ( γ + δ ψ ) ? K ( γ ) K(\gamma+\delta \psi)-K(\gamma) K(γ+δψ)?K(γ) K ( γ + δ ψ ) ? K ( γ ) = ∫ t 1 t N ∥ κ ( γ + δ ψ , t ) ∥ 2 ? ∥ κ ( γ , t ) ∥ d t = ∫ t 1 t N ∥ ( γ + δ ψ ) ′ ′ ? ( ( γ + δ ψ ) ′ ′ ? ( γ + δ ψ ) ) ( γ + δ ψ ) ∥ 2 ? ∥ γ ′ ′ ? ( γ ′ ′ ? γ ) γ ∥ 2 d t = ∫ t 1 t N ∥ γ ′ ′ + δ ψ ′ ′ ? ( γ ′ ′ ? γ + δ γ ′ ′ ? ψ + δ γ ψ ′ ′ + δ 2 ψ ′ ′ ? ψ ) ( γ + δ ψ ) ∥ 2 ? ∥ γ ′ ′ ? ( γ ′ ′ ? γ ) γ ∥ 2 d t = ∫ t 1 t N ∥ [ γ ′ ′ ? ( γ ′ ′ ? γ ) γ ] + δ [ ψ ′ ′ ? ( γ ′ ′ ? γ ) ψ ? ( γ ′ ′ ? ψ ) γ ? ( ψ ′ ′ ? γ ) γ ) ] + δ 2 [ . . . ] + δ 3 [ . . . ] ∥ 2 ? ∥ γ ′ ′ ? ( γ ′ ′ ? γ ) γ ∥ 2 d t \begin{aligned} K(\gamma+\delta \psi)-K(\gamma) &= \int_{t_{1}}^{t_{N}}\left \| \kappa (\gamma+\delta\psi,t) \right\|^{2} - \left \| \kappa (\gamma,t) \right \|dt \\&= \int_{t_{1}}^{t_{N}}\left \| (\gamma+\delta\psi)^{''}-((\gamma+\delta\psi)^{''}\cdot(\gamma+\delta\psi))(\gamma+\delta\psi) \right \|^{2} - \left \| \gamma^{''}-(\gamma^{''}\cdot\gamma)\gamma \right \|^{2}dt \\&= \int_{t_{1}}^{t_{N}}\left \| \gamma^{''} + \delta\psi^{''}-(\gamma^{''}\cdot\gamma+\delta\gamma^{''}\cdot\psi+\delta\gamma\psi^{''}+\delta^{2}\psi^{''}\cdot\psi)(\gamma+\delta\psi) \right \|^{2} - \left \| \gamma^{''}-(\gamma^{''}\cdot\gamma)\gamma \right \|^{2}dt \\&= \int_{t_{1}}^{t_{N}}\left \| [\gamma^{''}-(\gamma^{''}\cdot\gamma)\gamma] + \delta[\psi^{''}-(\gamma^{''}\cdot\gamma)\psi-(\gamma^{''}\cdot\psi)\gamma-(\psi^{''}\cdot\gamma)\gamma)] + \delta^{2}[...] + \delta^{3}[...]\right \|^{2} \\ &\quad\quad- \left \| \gamma^{''}-(\gamma^{''}\cdot\gamma)\gamma \right \|^{2}dt\end{aligned} K(γ+δψ)?K(γ)?=t1?tN??κ(γ+δψ,t)2?κ(γ,t)dt=t1?tN???(γ+δψ)?((γ+δψ)?(γ+δψ))(γ+δψ)?2??γ?(γ?γ)γ?2dt=t1?tN???γ+δψ?(γ?γ+δγ?ψ+δγψ+δ2ψ?ψ)(γ+δψ)?2??γ?(γ?γ)γ?2dt=t1?tN???[γ?(γ?γ)γ]+δ[ψ?(γ?γ)ψ?(γ?ψ)γ?(ψ?γ)γ)]+δ2[...]+δ3[...]?2??γ?(γ?γ)γ?2dt?在上述運算式中,我們根據 δ \delta δ的指數收集了多項式,上述推導的目的是求導數, K ( γ + δ ψ ) ? K ( γ ) K(\gamma+\delta \psi)-K(\gamma) K(γ+δψ)?K(γ)的展開式中,被 δ 2 \delta^{2} δ2 δ 3 \delta^{3} δ3乘的多項式可以被洗掉,因為在檢查極限時,除以 δ \delta δ后,當 δ \delta δ無限接近零時它們就消失了,因此,上面運算式可被寫為: K ( γ + δ ψ ) ? K ( γ ) = ∫ t 1 t N ∥ A + δ B ∥ 2 ? ∥ A ∥ 2 d t = ∫ t 1 t N δ 2 ∥ B ∥ 2 + 2 δ A ? B d t \begin{aligned} K(\gamma+\delta \psi)-K(\gamma) &= \int_{t_{1}}^{t_{N}}\left \| A+\delta B \right \|^{2} - \left \| A \right \|^{2}dt \\&= \int_{t_{1}}^{t_{N}}\delta^{2}\left \| B \right \|^{2}+2\delta A\cdot Bdt\end{aligned} K(γ+δψ)?K(γ)?=t1?tN??A+δB2?A2dt=t1?tN??δ2B2+2δA?Bdt?這里 A = γ ′ ′ ? ( γ ′ ′ ? γ ) γ , B = ψ ′ ′ ? ( γ ′ ′ ? γ ) ψ ? ( γ ′ ′ ? ψ ) γ ? ( ψ ′ ′ ? γ ) γ ) A=\gamma^{''}-(\gamma^{''}\cdot\gamma)\gamma,B=\psi^{''}-(\gamma^{''}\cdot\gamma)\psi-(\gamma^{''}\cdot\psi)\gamma-(\psi^{''}\cdot\gamma)\gamma) A=γ?(γ?γ)γ,B=ψ?(γ?γ)ψ?(γ?ψ)γ?(ψ?γ)γ),同樣省略被 δ 2 \delta^{2} δ2乘的項,重寫運算式為: K ( γ + δ ψ ) ? K ( γ ) = ∫ t 1 t N 2 δ [ γ ′ ′ ? ( γ ′ ′ ? γ ) γ ] [ ψ ′ ′ ? ( γ ′ ′ ? γ ) ψ ? ( γ ′ ′ ? ψ ) γ ? ( ψ ′ ′ ? γ ) γ ) ] d t = 2 δ ∫ t 1 t N γ ′ ′ ? ψ ′ ′ ? ( γ ′ ′ ? γ ) ( γ ′ ′ ? ψ ) ? ( γ ′ ′ ? ψ ) ( γ ′ ′ ? γ ) ? ( γ ? ψ ′ ′ ) ( γ ′ ′ ? γ ) ? ( γ ′ ′ ? γ ) ( γ ? ψ ′ ′ ) + ( γ ′ ′ ? γ ) ( γ ′ ′ ? γ ) ( γ ? ψ ) + ( γ ′ ′ ? γ ) ( γ ′ ′ ? ψ ) ( γ ? γ ) + ( γ ′ ′ ? γ ) ( γ ? ψ ′ ′ ) ( γ ? γ ) d t \begin{aligned} K(\gamma+\delta \psi)-K(\gamma) &= \int_{t_{1}}^{t_{N}}2\delta[\gamma^{''}-(\gamma^{''}\cdot\gamma)\gamma][\psi^{''}-(\gamma^{''}\cdot\gamma)\psi-(\gamma^{''}\cdot\psi)\gamma-(\psi^{''}\cdot\gamma)\gamma)]dt \\&= 2\delta\int_{t_{1}}^{t_{N}}\gamma^{''}\cdot\psi^{''}-(\gamma^{''}\cdot\gamma)(\gamma^{''}\cdot\psi)-(\gamma^{''}\cdot\psi)(\gamma^{''}\cdot\gamma)-(\gamma\cdot\psi^{''})(\gamma^{''}\cdot\gamma)-(\gamma^{''}\cdot\gamma)(\gamma\cdot\psi^{''}) \\&\quad\quad+ (\gamma^{''}\cdot\gamma)(\gamma^{''}\cdot\gamma)(\gamma\cdot\psi)+(\gamma^{''}\cdot\gamma)(\gamma^{''}\cdot\psi)(\gamma\cdot\gamma)+(\gamma^{''}\cdot\gamma)(\gamma\cdot\psi^{''})(\gamma\cdot\gamma)dt\end{aligned} K(γ+δψ)?K(γ)?=t1?tN??2δ[γ?(γ?γ)γ][ψ?(γ?γ)ψ?(γ?ψ)γ?(ψ?γ)γ)]dt=2δt1?tN??γ?ψ?(γ?γ)(γ?ψ)?(γ?ψ)(γ?γ)?(γ?ψ)(γ?γ)?(γ?γ)(γ?ψ)+(γ?γ)(γ?γ)(γ?ψ)+(γ?γ)(γ?ψ)(γ?γ)+(γ?γ)(γ?ψ)(γ?γ)dt?由于 γ \gamma γ在四元數單位圓 H 1 H_{1} H1?上,因此 γ ? γ = ∥ γ ∥ 2 = 1 \gamma\cdot\gamma=\left \| \gamma \right \|^{2}=1 γ?γ=γ2=1,同時將公式(4.4)的結論 γ ? ψ = ? δ 2 ∥ ψ ∥ 2 \gamma \cdot \psi = -\frac{\delta}{2}\left \| \psi \right \|^{2} γ?ψ=?2δ?ψ2代入上述運算式中,我們得到: K ( γ + δ ψ ) ? K ( γ ) = 2 δ ∫ t 1 t N γ ′ ′ ? ψ ′ ′ ? ( γ ′ ′ ? γ ) ( γ ′ ′ ? ψ + γ ? ψ ′ ′ ) + ( γ ′ ′ ? γ ) 2 ( ? δ 2 ∥ ψ ∥ 2 ) d t = 2 δ ∫ t 1 t N γ ′ ′ ? ψ ′ ′ ? ( γ ′ ′ ? γ ) ( γ ′ ′ ? ψ + γ ? ψ ′ ′ ) d t \begin{aligned} K(\gamma+\delta \psi)-K(\gamma) &= 2\delta\int_{t_{1}}^{t_{N}}\gamma^{''}\cdot\psi^{''}-(\gamma^{''}\cdot\gamma)(\gamma^{''}\cdot\psi+\gamma\cdot\psi^{''})+(\gamma^{''}\cdot\gamma)^{2}( -\frac{\delta}{2}\left \| \psi \right \|^{2})dt \\&= 2\delta\int_{t_{1}}^{t_{N}}\gamma^{''}\cdot\psi^{''}-(\gamma^{''}\cdot\gamma)(\gamma^{''}\cdot\psi+\gamma\cdot\psi^{''})dt\end{aligned} K(γ+δψ)?K(γ)?=2δt1?tN??γ?ψ?(γ?γ)(γ?ψ+γ?ψ)+(γ?γ)2(?2δ?ψ2)dt=2δt1?tN??γ?ψ?(γ?γ)(γ?ψ+γ?ψ)dt?同樣省略被 δ 2 \delta^{2} δ2乘的項,經過多次改寫,我們將 δ \delta δ分離單獨作為一個因素,當除以 δ \delta δ時,這個因子將消失在導數的運算式中,因此,我們現在想分離出包含 ψ \psi ψ的項,使用分部積分和公式(4.3)的結論,運算式被重寫如下: K ( γ + δ ψ ) ? K ( γ ) = 2 δ ∑ i = 1 N ? 1 L i \begin{aligned} K(\gamma+\delta \psi)-K(\gamma) &= 2\delta \sum_{i=1}^{N-1}L_{i}\end{aligned} K(γ+δψ)?K(γ)?=2δi=1N?1?Li??其中 L i = ∫ t i t i + 1 γ ′ ′ ? ψ ′ ′ ? ( γ ′ ′ ? γ ) ( γ ′ ′ ? ψ + γ ? ψ ′ ′ ) d t = ∫ t i t i + 1 ( γ ′ ′ ? ( γ ′ ′ ? γ ) γ ) ? ψ ′ ′ ? ( γ ′ ′ ? γ ) ( γ ′ ′ ? ψ ) d t = [ ( γ ′ ′ ? ( γ ′ ′ ? γ ) γ ) ? ψ ′ ] t i t i + 1 ? ∫ t i t i + 1 ( d d t ( γ ′ ′ ? ( γ ′ ′ ? γ ) γ ) ) ? ψ ′ ? ( γ ′ ′ ? γ ) ( γ ′ ′ ? ψ ) d t = [ ( γ ′ ′ ? ( γ ′ ′ ? γ ) γ ) ? ψ ′ ] t i t i + 1 ? [ ( d d t ( γ ′ ′ ? ( γ ′ ′ ? γ ) γ ) ) ? ψ ] t i t i + 1 + ∫ t i t i + 1 ( d 2 d t 2 ( γ ′ ′ ? ( γ ′ ′ ? γ ) γ ) ) ? ψ ? ( γ ′ ′ ? γ ) ( γ ′ ′ ? ψ ) d t \begin{aligned} L_{i} &= \int_{t_{i}}^{t_{i+1}}\gamma^{''}\cdot\psi^{''}-(\gamma^{''}\cdot\gamma)(\gamma^{''}\cdot\psi+\gamma\cdot\psi^{''})dt \\&= \int_{t_{i}}^{t_{i+1}}(\gamma^{''}-(\gamma^{''}\cdot\gamma)\gamma)\cdot\psi^{''}-(\gamma^{''}\cdot\gamma)(\gamma^{''}\cdot\psi)dt \\&= [(\gamma^{''}-(\gamma^{''}\cdot\gamma)\gamma)\cdot\psi^{'}]_{t_{i}}^{t_{i+1}} - \int_{t_{i}}^{t_{i+1}}(\frac{d}{dt}(\gamma^{''}-(\gamma^{''}\cdot\gamma)\gamma))\cdot\psi^{'}-(\gamma^{''}\cdot\gamma)(\gamma^{''}\cdot\psi)dt \\&= [(\gamma^{''}-(\gamma^{''}\cdot\gamma)\gamma)\cdot\psi^{'}]_{t_{i}}^{t_{i+1}} - [(\frac{d}{dt}(\gamma^{''}-(\gamma^{''}\cdot\gamma)\gamma))\cdot\psi]_{t_{i}}^{t_{i+1}} \\& \quad\quad+\int_{t_{i}}^{t_{i+1}}(\frac{d^{2}}{dt^{2}}(\gamma^{''}-(\gamma^{''}\cdot\gamma)\gamma))\cdot\psi-(\gamma^{''}\cdot\gamma)(\gamma^{''}\cdot\psi)dt\end{aligned} Li??=ti?ti+1??γ?ψ?(γ?γ)(γ?ψ+γ?ψ)dt=ti?ti+1??(γ?(γ?γ)γ)?ψ?(γ?γ)(γ?ψ)dt=[(γ?(γ?γ)γ)?ψ]ti?ti+1???ti?ti+1??(dtd?(γ?(γ?γ)γ))?ψ?(γ?γ)(γ?ψ)dt=[(γ?(γ?γ)γ)?ψ]ti?ti+1???[(dtd?(γ?(γ?γ)γ))?ψ]ti?ti+1??+ti?ti+1??(dt2d2?(γ?(γ?γ)γ))?ψ?(γ?γ)(γ?ψ)dt?注意,上面的運算式要求它是四階可微的,現在我們可以使用 ψ \psi ψ在所有控制點上為零的公式(4.3),可以看到第二項為零,于是得到: L i = [ ( γ ′ ′ ? ( γ ′ ′ ? γ ) γ ) ? ψ ′ ] t i t i + 1 + ∫ t i t i + 1 ( d 2 d t 2 ( γ ′ ′ ? ( γ ′ ′ ? γ ) γ ) ) ? ψ ? ( γ ′ ′ ? γ ) ( γ ′ ′ ? ψ ) d t \begin{aligned} L_{i} &= [(\gamma^{''}-(\gamma^{''}\cdot\gamma)\gamma)\cdot\psi^{'}]_{t_{i}}^{t_{i+1}} +\int_{t_{i}}^{t_{i+1}}(\frac{d^{2}}{dt^{2}}(\gamma^{''}-(\gamma^{''}\cdot\gamma)\gamma))\cdot\psi-(\gamma^{''}\cdot\gamma)(\gamma^{''}\cdot\psi)dt\end{aligned} Li??=[(γ?(γ?γ)γ)?ψ]ti?ti+1??+ti?ti+1??(dt2d2?(γ?(γ?γ)γ))?ψ?(γ?γ)(γ?ψ)dt?再次考慮整個運算式: K ( γ + δ ψ ) ? K ( γ ) = 2 δ ∑ i = 1 N ? 1 L i = 2 δ ∑ i = 1 N ? 1 [ ( γ ′ ′ ? ( γ ′ ′ ? γ ) γ ) ? ψ ′ ] t i t i + 1 + 2 δ ∑ i = 1 N ? 1 ∫ t i t i + 1 ( d 2 d t 2 ( γ ′ ′ ? ( γ ′ ′ ? γ ) γ ) ) ? ψ ? ( γ ′ ′ ? γ ) ( γ ′ ′ ? ψ ) d t = 2 δ [ ( γ ′ ′ ? ( γ ′ ′ ? γ ) γ ) ? ψ ′ ] t 1 t N + 2 δ ∑ i = 1 N ? 1 ∫ t i t i + 1 ( d 2 d t 2 ( γ ′ ′ ? ( γ ′ ′ ? γ ) γ ) ? ( γ ′ ′ ? γ ) γ ′ ′ ) ? ψ d t \begin{aligned} K(\gamma+\delta \psi)-K(\gamma) &= 2\delta \sum_{i=1}^{N-1}L_{i} \\&= 2\delta\sum_{i=1}^{N-1}[(\gamma^{''}-(\gamma^{''}\cdot\gamma)\gamma)\cdot\psi^{'}]_{t_{i}}^{t_{i+1}} + 2\delta\sum_{i=1}^{N-1}\int_{t_{i}}^{t_{i+1}}(\frac{d^{2}}{dt^{2}}(\gamma^{''}-(\gamma^{''}\cdot\gamma)\gamma))\cdot\psi-(\gamma^{''}\cdot\gamma)(\gamma^{''}\cdot\psi)dt \\&= 2\delta[(\gamma^{''}-(\gamma^{''}\cdot\gamma)\gamma)\cdot\psi^{'}]_{t_{1}}^{t_{N}} + 2\delta\sum_{i=1}^{N-1}\int_{t_{i}}^{t_{i+1}}(\frac{d^{2}}{dt^{2}}(\gamma^{''}-(\gamma^{''}\cdot\gamma)\gamma)-(\gamma^{''}\cdot\gamma)\gamma^{''})\cdot\psi dt \end{aligned} K(γ+δψ)?K(γ)?=2δi=1N?1?Li?=2δi=1N?1?[(γ?(γ?γ)γ)?ψ]ti?ti+1??+2δi=1N?1?ti?ti+1??(dt2d2?(γ?(γ?γ)γ))?ψ?(γ?γ)(γ?ψ)dt=2δ[(γ?(γ?γ)γ)?ψ]t1?tN??+2δi=1N?1?ti?ti+1??(dt2d2?(γ?(γ?γ)γ)?(γ?γ)γ)?ψdt?利用控制點的連續性進行最后改寫,我們可以求出“導數”: lim ? δ → 0 K ( γ + δ ψ ) ? K ( γ ) δ = 2 [ ( γ ′ ′ ? ( γ ′ ′ ? γ ) γ ) ? ψ ′ ] t 1 t N + 2 ∑ i = 1 N ? 1 ∫ t i t i + 1 ( d 2 d t 2 ( γ ′ ′ ? ( γ ′ ′ ? γ ) γ ) ? ( γ ′ ′ ? γ ) γ ′ ′ ) ? ψ d t (4.5) \begin{aligned} \lim_{\delta\rightarrow 0}\frac{K(\gamma+\delta \psi)-K(\gamma)}{\delta} &= 2[(\gamma^{''}-(\gamma^{''}\cdot\gamma)\gamma)\cdot\psi^{'}]_{t_{1}}^{t_{N}} \\&+ 2\sum_{i=1}^{N-1}\int_{t_{i}}^{t_{i+1}}(\frac{d^{2}}{dt^{2}}(\gamma^{''}-(\gamma^{''}\cdot\gamma)\gamma)-(\gamma^{''}\cdot\gamma)\gamma^{''})\cdot\psi dt \tag{4.5}\end{aligned} δ0lim?δK(γ+δψ)?K(γ)??=2[(γ?(γ?γ)γ)?ψ]t1?tN??+2i=1N?1?ti?ti+1??(dt2d2?(γ?(γ?γ)γ)?(γ?γ)γ)?ψdt?(4.5)由于 γ ? γ = ∥ γ ∥ = 1 \gamma\cdot\gamma=\left \| \gamma \right \|=1 γ?γ=γ=1,所以有: 0 = ( 1 ) ′ ′ = ( γ ? γ ) ′ ′ = 2 γ ′ ′ ? γ + 2 γ ′ ? γ ′ (4.6) 0=(1)^{''}=(\gamma\cdot\gamma)^{''}=2\gamma^{''}\cdot\gamma+2\gamma^{'}\cdot\gamma^{'}\tag{4.6} 0=(1)=(γ?γ)=2γ?γ+2γ?γ(4.6)由于在控制點處對任意 ψ \psi ψ的導數必須為零(方程4.3),結合方程4.6,我們對解有以下要求: γ ∈ C 4 ( ( I ) , H 1 ) 0 = γ ′ ′ ( t 1 ) ? ( γ ′ ′ ( t 1 ) ? γ ( t 1 ) ) γ ( t 1 ) 0 = γ ′ ′ ( t N ) ? ( γ ′ ′ ( t N ) ? γ ( t N ) ) γ ( t N ) ( γ ′ ′ ? γ ) γ ′ ′ = d 2 d t 2 ( γ ′ ′ ? ( γ ′ ′ ? γ ) γ ) = γ ′ ′ ′ ′ ? ( γ ′ ′ ? γ ) ′ ′ γ ? 2 ( γ ′ ′ ? γ ) ′ γ ′ ? ( γ ′ ′ ? γ ) γ ′ ′ ? 0 = γ ′ ′ ′ ′ + ( γ ′ ? γ ′ ) ′ ′ γ + 2 ( γ ′ ? γ ′ ) ′ γ ′ + 2 ( γ ′ ? γ ′ ) γ ′ ′ \begin{aligned} \gamma & \in C^{4}((I),H_{1}) \\ 0 &= \gamma^{''}(t_{1})-(\gamma^{''}(t_{1})\cdot\gamma(t_{1}))\gamma(t_{1}) \\ 0 &= \gamma^{''}(t_{N})-(\gamma^{''}(t_{N})\cdot\gamma(t_{N}))\gamma(t_{N}) \\ (\gamma^{''}\cdot\gamma)\gamma^{''} &= \frac{d^{2}}{dt^{2}}(\gamma^{''}-(\gamma^{''}\cdot\gamma)\gamma) \\&= \gamma^{''''}-(\gamma^{''}\cdot\gamma)^{''}\gamma-2(\gamma^{''}\cdot\gamma)^{'}\gamma^{'}-(\gamma^{''}\cdot\gamma)\gamma^{''} \\ \Rightarrow 0&= \gamma^{''''}+(\gamma^{'}\cdot\gamma^{'})^{''}\gamma+2(\gamma^{'}\cdot\gamma^{'})^{'}\gamma^{'}+2(\gamma^{'}\cdot\gamma^{'})\gamma^{''} \end{aligned} γ00(γ?γ)γ?0?C4((I),H1?)=γ(t1?)?(γ(t1?)?γ(t1?))γ(t1?)=γ(tN?)?(γ(tN?)?γ(tN?))γ(tN?)=dt2d2?(γ?(γ?γ)γ)=γ?(γ?γ)γ?2(γ?γ)γ?(γ?γ)γ=γ+(γ?γ)γ+2(γ?γ)

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/272822.html

標籤:AI

上一篇:記一次.Net Core通過GDI+在CentOS 7(Docker)環境中繪圖報錯The type initializer for ‘Gdip‘ threw an exception的問題及處理方式

下一篇:資料結構——“優雅的”復雜度

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more