贲 进,杨春宇
(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