賁 進,楊春宇
(1. 信息工程大學地理空間信息學院,河南 鄭州 450001; 2. 北京市地質工程設計研究院,北京 101500)
利用Mathematica實現共線條件方程自動線性化的教學實踐
賁 進1,楊春宇2
(1. 信息工程大學地理空間信息學院,河南 鄭州 450001; 2. 北京市地質工程設計研究院,北京 101500)
中心投影構像方程通常稱為共線條件方程,它是攝影測量學的理論基石。共線條件方程線性化是建立攝影測量平差數學模型的前提,對初學者掌握解析空中三角測量的基本原理具有重要意義。針對專業課教學中人工線性化工作量大、容易出錯、枯燥乏味等不足,本文采用Mathematica科學計算軟件設計了計算機自動線性化方案。實踐表明,該方案具有簡便、準確、靈活等特點,能幫助初學者迅速掌握線性化技巧,教學效果良好。提出的思路和方法為提升專業課教學質量、促進教學改革探索了有效途徑。
Mathematica;共線條件方程;線性化;自動;教學實踐
畫幅式中心投影相機構像模型,即“共線條件方程”,是攝影測量學中最經典、最基礎的構像模型。對共線條件方程相關知識點的透徹講解,一直是“攝影測量與遙感”專業課教學的重點和難點。在若干知識點中,共線條件方程線性化是建立攝影測量平差數學模型的前提,對學生掌握解析空中三角測量基本原理具有重要意義。如何讓學生理解這一過程的數學本質,掌握其中的技巧,并舉一反三、靈活應用是教學改革值得研究的問題。長期以來,該知識點的講授大多以手工推導公式為主,不僅工作量大、容易出錯,而且枯燥乏味,不易吸引學生參與其中。針對這一問題,筆者嘗試在教學中引入Mathematica軟件,將學生的注意力從繁瑣的公式推導中解放出來,使其更加關注解決問題的思路和技巧而不僅僅局限于過程,從而提高其對專業知識的領悟能力。
本文將簡述采用Mathematica軟件實現共線條件方程自動線性化的基本思路及其應用于教學實踐的效果,借此展現數學思維、數學工具在專業課教學中發揮的巨大威力,為提升教學質量、促進教學改革探索可行途徑。
Mathematica是Wolfram Research公司開發的一款科學計算軟件,具有強大的符號與數值計算、數據操作與分析、數據可視化、程序設計等功能,已成為世界上首屈一指的通用計算系統,廣泛應用于各行各業。
在測繪領域,Mathematica的應用目前主要集中在測量數據平差[1-2]、大地測量公式推導[3-4]和地圖投影解算[5-6]三方面,尚未見攝影測量與遙感相關應用的報道。而這些文獻絕大部分又是以科研或工程為應用背景,與教學相關的極少。筆者認為,學生是測繪科學技術發展的人才儲備,相較于經驗豐富的科研人員使用Mathematica解決學術前沿的難題,在專業課教學中引入Mathematica幫助學生理解基礎知識、夯實專業基礎同等重要。只有學生洞悉了專業知識背后隱藏的數學原理,才有可能做到理論聯系實際,增強分析問題、解決問題的邏輯性和靈活性,提高原始創新能力。
經典畫幅式中心投影相機的成像原理如圖1所示,地面點P、像點p和投影中心S在成像瞬間處于同一條直線上,成像幾何關系可用“共線條件方程”,即公式(1)描述[7]
(1)
式中,(x0,y0,f)為相機的內方位元素;(XS,YS,ZS)為S在地輔坐標系O-XYZ下的坐標;(X,Y,Z)為P在O-XYZ下的坐標;(xp,yp)為p在像平面坐標系o-xy下的坐標;a1、a2、a3、b1、b2、b3、c1、c2、c3為O-XYZ旋轉到像空間坐標系S-xyz所需旋轉矩陣R中的元素,與攝影機的姿態角(φ,ω,κ)相關。
若采用φ—ω—κ的軸序將S-xyz旋轉至與O-XYZ平行的像空間輔助坐標系S-uvw中,旋轉矩陣R為[7]

圖1 畫幅式中心投影相機成像原理
在現有專業教材[7-8]中,對式(1)的線性化通?;\統論述為“按泰勒公式展開”,并未明確給出原函數的具體形式,初值的計算、誤差項的解釋也不夠清晰明了,給學生理解造成了較大困擾。而在教學實施過程中,盡管花費了較多課時講解具體過程并親自示范,但由于公式推導比較枯燥,課下動筆實踐的學生寥寥無幾,對其思路的理解及技巧的掌握不盡如人意。為了便于學生理解并實現自動線性化,筆者嘗試采用Mathematica展開原函數的求解思路。
將式(1)改寫為
(2)



式中,rx為余項。
令n=1,將F(P0+Δ)展開代入式(2)右邊,并用(x+vx,y+vy)替代左邊可得
(3)

Mathematica具有強大的符號計算功能,可以直接求解Fx、Fy的偏導數。但由于Fx、Fy是帶有三角函數的復雜分式,直接求解的結果可讀性較差,且與教材上的表示形式相差較大,不利于教學。針對這一問題,引入如下中間變量
(4)


(5)

圖2 自動線性化的原理及步驟
自2013年,筆者嘗試在“攝影測量學”“高分辨率遙感衛星應用”“遙感動態監測”等專業課教學中采用本文論述新方案講解共線條件方程線性化的相關知識點,以驗證其效果。通過調查發現,過去學生動筆完成線性化公式推導者極少,而現在幾乎每個學生都能根據圖2的思路獨立寫出Mathematica腳本,并運行得到正確結果,學習積極性和參與熱情明顯提高。根據學生的反饋,新方案具有以下優點:
(1) 簡便:繁瑣的公式推導不再是阻礙實踐的瓶頸,只要理解線性化的思路,全部結果“一鍵即得”。
(2) 準確:Mathematica的符號運算絕對正確,計算結果可用來檢核教材上的任何錯誤,避免在編寫相關算法時因公式錯誤浪費時間。
(3) 靈活:任意變換軸序、轉角方向、轉角系統等,只要修改旋轉矩陣即可,其他步驟無需變動。
在教學過程中還發現,多數學生通過幾次實踐,便很快領悟到新方案的核心是式(4)、式(5)的等效替換,其本質與教材中采用的方法完全一致,這也是線性化的核心技巧所在。由此可見,新方案更有利于學生掌握解決問題的思路,而不僅是具體過程。在后續教學中,只要碰到復雜公式的推導,學生們自然而然地使用Mathematica求解,初步培養了良好的科研習慣。在新方案的基礎上,部分學有余力的學生還舉一反三實現了單位四元數描述的共線條件方程[10]自動線性化,原理及步驟如圖3所示,為后續學習線陣推掃式影像的平差計算奠定了基礎。

圖3 單位四元數描述的共線條件方程自動線性化原理及步驟
測繪科學與技術的學科特點決定了多數專業課與數學的聯系密不可分,這在客觀上增加了專業課教學的難度。在專業應用背景下,將看上去枯燥乏味的數學原理,以學生容易接受的方式呈現是提高教學質量的有效途徑。筆者在該方面作了一些嘗試,取得了較理想的效果。盡管本文以共線條件方程自動線性化這一具體問題為切入點進行討論,但是其中的思路和方法具有普適性,可供其他專業課程借鑒。
[1] 覃輝.數學工具軟件對測量平差教學改革的啟示[J].測繪工程,2002,11(3):57-61.
[2] 張恒僖,鄒亞未,堯燕.GPS高程擬合的Mathematica實現[J].江西測繪,2016(1):13-14.
[3] 邊少鋒,許江寧.計算機代數系統與大地測量數學分析[M].北京:國防工業出版社,2004.
[4] 常國賓,歐陽永忠,李勝全,等.用泰勒級數展開法求解等量緯度反解問題的新方法[J].測繪通報,2012(S1):104-106.
[5] 金立新,付宏平.法截面子午線橢球高斯投影理論[M].西安:西安地圖出版社,2012.
[6] 李厚樸,邊少鋒,鐘斌.地理坐標系計算機代數精密分析理論[M].北京:國防工業出版社,2015.
[7] 王之卓.攝影測量原理[M].北京:測繪出版社,1979.
[8] 錢曾波.解析空中三角測量基礎[M].北京:測繪出版社,1980.
[9] 葉其孝,沈永歡.實用數學手冊[M].2版.北京:科學出版社,2010.
[10] 曾卓喬.一種不測定初始值的近景攝影測量微機程序[J].測繪學報,1990,19(4):298-306.
TeachingPracticeofAutomaticCollinearEquationLinearizationUsingMathematica
BEN Jin1,YANG Chunyu2
(1.Institute of Surveying and Mapping, Information Engineering University, Zhengzhou 450001, China; 2. Beijing Institute of Geological Engineering, Beijing 101500, China)
Imaging equation of central projection, which is usually called collinear equation, is the theoretical basis of photogrammetry. Collinear equation linearization is the premise to build the mathematic models of photogrammetry adjustment, so it is of great importance for beginners to grasp the fundamentals of analytical aerial triangulation. Artificial linearization is of heavy workload, easy to get wrong and boring. In view of this, automatic linearization scheme using Mathematica is designed. Practice shows that this scheme is easy, correct and flexible and it can help beginners master the skills of linearization quickly with great teaching efficiency. Ideas and methods mentioned in this paper also explore an effective way for promoting teaching quality of specialized courses and facilitating educational reform.
Mathematica; collinear equation; linearization; automation; teaching practice
G64
A
0494-0911(2017)01-0157-04
賁進,楊春宇.利用Mathematica實現共線條件方程自動線性化的教學實踐[J].測繪通報,2017(1):157-160.
10.13474/j.cnki.11-2246.2017.0036.
2016-09-27
信息工程大學教育教學研究課題(XD2014306A)
賁 進(1977—),男,副教授,主要從事攝影測量與遙感、全球離散格網方面的教學和科研工作。E-mail: benj@lreis.ac.cn