投影矩阵

投影定义与坐标转换

GIS/RS在地理学中的应用 一、作业题目:基础03 坐标定义与投影变换 时间:2018 年9 月20 日 一、作业内容及要求概述 基础03 坐标定义与投影变换 1.数据文件 ① idll.shp,(Idaho 州的轮廓图) ② stationsll.shp,(Idaho 州的滑雪道) ③ snow.txt,(Idaho 州 40 个滑雪场的经纬度值) 2.GIS操作 ①按要求更改文件投影的 ②给文件定义投影 ③用经纬度信息文本生成指定投影地点分布图 3. 作业报告总结以下内容 ①将 idll.shp 的投影变换为Idaho 州横轴麦卡托坐标系( Idaho Transverse Mercator, IDTM)IDTM参数设置如下: Projection Transverse Mercator Datum NAD83 Units meters Parameters scale factor: 0.9996 central meridian: -114.0 reference latitude: 42.0

false easting: 2,500,000 false northing: 1,200,000 ②将IDTM坐标系统应用到stationsll.shp 上 用snow.txt 生成一个UTM投影(Nad 1983UTM Zone11N)的滑雪场分布图 二、工作方法及技术流程 (思路、方法、主要操作步骤、技术流程等) ①将 idll.shp 的投影变换为Idaho 州横轴麦卡托坐标系 1:右键单击属性,查看idll属性其坐标系统信息。元数据页中坐标系统已经为GCS_North_American_1927 2:接下来将idll.shp投影到IDTM坐标系统。在ArcToolbox中Data Manager Tools =>Projections and Transformations=>Features=>Project

摄像机内外参计算过程

摄像机内外参计算过程 罗海风2011-2-28 1.对内参的初始化: 涉及函数:init_intrinsic_param_fisheye.m 输入:x_1,x_2,x_3,…--角点的图像坐标,X_1,X_2,X_3,…--角点的世界坐标; 输出:所有内参,包括摄像机焦距fc,摄像机坐标系原点在图像上的坐标cc,几何畸变系数kc,斜交系数alpha_c,摄像机矩阵KK(包含以上系数)。 焦距的初始值:fc= max(,) _ max(,) nx ny f init nx ny π π ?? ?? =?? ?? ?? ?? 原点坐标的初始值设为图像中心处,即cc= 0.50.5 _ 0.50.5 nx c init ny - ?? =?? - ?? 计算内参时不考虑畸变,畸变系数初始值为零,即kc= 0 _ 0 k init ?? ?? ?? = ?? ?? ?? 不考虑摄像机坐标轴夹角非正交情况,即alpha_c=_0 alpha init= 内参数矩阵初始值 max(,) 00.50.5 max(,) 00.50.5 001 nx ny nx nx ny KK ny π π ?? - ?? ?? ?? =- ?? ?? ?? ?? ?? -------------------(1)

2.对外参的初始化: 涉及函数:comp_ext_calib_fisheye.m 功能:主要是调用compute_extrinsic_init_fisheye.m 和compute_extrinsic_refine_fisheye.m compute_extrinsic_init_fisheye.m 输入:像点的世界坐标和图像坐标x_kk 和X_kk,以及所有内参fc,cc,kc,alpha_c; 输出:所有外参初始值,包括平移矩阵Tckk ,旋转矩阵Rckk 和旋转向量omckk compute_extrinsic_refine_fisheye.m 输入:像点的世界坐标和图像坐标x_kk 和X_kk,最大迭代次数MaxIter 以及所有内参fc,cc,kc,alpha_c; 输出:所有外参初始值,包括平移矩阵Tckk ,旋转矩阵Rckk 和旋转向量omckk 对像点世界坐标和图像坐标进行整理(整理过程考虑到坐标变换和畸变模型,涉及normalize_pixel_fisheye .m 输入:像点图像坐标x_kk,所有内参fc,cc,kc,alpha_c;输出:标准化无畸变图像坐标xn )。 坐标变换首先按照原点坐标进行线性映射,转换成以焦距为单位: 111 222___x kk cc fc x distort x kk cc fc -????? ?=-?????? 然后校正相机平面和图像平面不平行带来的误差: 122_____x distrot alpha c x distrot x distort x distrot -??? =???? 最后进行畸变补偿:(调用函数comp_fisheye_distortion.m 输入:畸变的像点图像坐标xd ,畸变系数k ; 输出: 无畸变的像点图像坐标x ) xd 是畸变后的像素坐标,令__theta d theta theta d == 进入循环20次的补偿迭代,每次循环中有 12 24682468 1121314112223242__11theta d theta d theta k theta k theta k theta k theta k theta k theta k theta k theta ??=??++++++++?? ,其中k 为畸变系数。本程序中,只考虑径向畸变不考虑切向畸变,k 虽然是5x1矢量,但是 最后一位即切向畸变系数没有使用。 然后有1212tan()tan()__theta theta scaling theta d theta d ?? =? ??? 111 1221211 2222Np Np Np Np xd scaling xd scaling xd scaling xn xd scaling xd scaling xd scaling ?? =? ??? 畸变补偿结束。 得到标准化无畸变的世界坐标X_new 和图像坐标xn 。 由这两组坐标计算得到透视投影矩阵H(计算过程见摄像机定标程序中透视投影矩阵H 的计算过程.doc ),并对H 进行整理得到 ((:,1))()((:,2))H H H norm H sc mean norm H = =???? ??

矩阵投影与最小二乘方法

题目:《神奇的矩阵——矩阵投影与最小二乘方法》 学校:哈尔滨工程大学 姓名:黎文科 联系方式: QQ群:53937814 联系方式: 190356321@https://www.360docs.net/doc/738099766.html,

矩阵投影与最小二乘方法 最小二乘法(Least Squares Method,简记为LSE)是一个比较古老的方法,源于天文学和测地学上的应用需要。在早期数理统计方法的发展中,这两门科学起了很大的作用。丹麦统计学家霍尔把它们称为“数理统计学的母亲”。此后近三百年来,它广泛应用于科学实验与工程技术中。美国统计史学家斯蒂格勒( S. M. Stigler)指出, 最小二乘方法是19世纪数理统计学的压倒一切的主题。1815年时,这方法已成为法国、意大利和普鲁士在天文和测地学中的标准工具,到1825年时已在英国普遍使用。 追溯到1801年,意大利天文学家朱赛普·皮亚齐发现了第一颗小行星谷神星。经过40天的跟踪观测后,由于谷神星运行至太阳背后,使得皮亚齐失去了谷神星的位置。随后全世界的科学家利用皮亚齐的观测数据开始寻找谷神星,但是根据大多数人计算的结果来寻找谷神星都没有结果。时年24岁的高斯也计算了谷神星的轨道。奥地利天文学家海因里希·奥尔伯斯根据高斯计算出来的轨道重新发现了谷神星。高斯于其1809年的著作《关于绕日行星运动的理论》中。在此书中声称他自1799年以来就使用最小二乘方法,由此爆发了一场与勒让德的优先权之争。 近代学者经过对原始文献的研究,认为两人可能是独立发明了这个方法,但首先见于书面形式的,以勒让德为早。然而,现今教科书和著作中,多把这个发明权归功于高斯。其原因,除了高斯有更大的名气外,主要可能是因为其正态误差理论对这个方法的重要意义。勒让德在其著作中,对最小二乘方法的优点有所阐述。然而,缺少误差分析。我们不知道,使用这个方法引起的误差如何,就需建立一种误差分析理论。高斯于1823年在误差e 1 ,… , e n 独立同分布的假定下,证明了最小二乘方法的一个最优性质: 在所有无偏的线性估计类中,最小二乘方法是其中方差最小的!在德国10马克的钞票上有高斯像,并配了一条正态曲线。在高斯众多伟大的数学成就中挑选了这一条,亦可见这一成就对世界文明的影响。 现行的最小二乘法是勒让德( A. M. Legendre)于1805年在其著作《计算慧星轨道的新方法》中提出的。它的主要思想就是选择未知参数,使得理论值与观测值之差的平方和达到最小: 2 211 ()()m m i i i H y y ===-=-∑∑理论值观测值

投影大屏系统混合矩阵说明书

混合矩阵切换器说明书 第一章系统简介 MultiView Matrix 系列混合矩阵切换器,是一款高性能的专业PC信号切换设备,用于多个PC信号输入输出交叉切换,提供四种信号源的输入,信号源分别是是Video,VGA,DVI,YPbPr,每种信号单独传输,单独切换,输出可以是RGB和DVI,使信号传输衰减降至最低,图像信号能高保真输出。广泛应用在大屏幕显示工程、电视教学、指挥控制中心等场合。 Multiview Matrix系列混合矩阵切换器,主板采用自主研发出应于切换系统的巨量数据传输芯片技术,全新推出我公司独创的 180G/s处理高速宽带总线,彻底根除了处理数据总线带宽低下引起的显示速度慢且不稳定的瓶颈。 采用网络控制,可以传输数据量大。 可以支持RGB、DVI、HDTV、S-Video、NTSC/PAL格式信号输入,分辨率从640x480到1920x1200,刷新频率为60Hz;对每路输入信号采样都有特征记忆功能,在前级矩阵中可以任意切换输入信号,只要做过采样调整的信号再此输入,设备会自动配置记忆参数,无需二次采样调整。 可以支持RGB和 DVI信号同时输出,分辨率最高可达到1920x1200,刷新频率为60Hz,方便客户配置显示单元。 第二章技术参数 一计算机输入信号: 数量 4到72路DVI/RGB信号; 类型 DVI(数字)/ RGB(模拟); 分辨率 640x350,640x400,720x400,640x480,848x480,800x600, 848x480,1024x768,1152x864,1280x720,1280X768, 1280X960,1280x1024,1360x768,1400x1050,1440x900, 1600x1200,1680x1050,1792x1344,1856x1392, 1920x1080,1920x1200 像素, 刷新频率为60Hz;

全息投影定义、原理及分类介绍

全息投影定义、原理及分类介绍 在科技快速发展的今天,人们对视觉要求越来越高,由此能实现裸眼立体3D 显示的全息投影技术的应用也是越来越多,在给人们带来新鲜有趣的视觉体验的同时,也为众多商家提供新的宣传营销方式,打开市场新大门。 全息投影技术在展览展示方式,采用全息投影技术的全息成像柜可以使立体影像不借助任何屏幕或介质而直接悬浮在设备外的自由空间,任意角度看都是三维影像展现。产品种类多样分有全息展示柜、180度全息展示柜、270度全息展示柜、360度全息展示柜、全息金字塔、大中小型全息金字塔定制、全息投影设备、3D投影成像设备、全息玻璃柜等,可根据用户使用需求使用场地进行定制。未来全息投影技术市场发展潜力将是无可估量的。 一、什么是全息投影全息投影技术是近些年来流行的一种高科技技术,它是采用一种国外进口的全息膜配合投影再加以影像内容来展示产品的一种推广手段。它提供了神奇的全息影像,可以在玻璃上或亚克力材料上成像。这种全新的互动展示技术将装饰性和实用性融为一体,在没有图像时完全透明,给使用者以全新的互动感受,成为当今一种最时尚的产品展示和市场推广手段。全息投影设备包括:全息投影仪,全息投影幕,全息投影膜,全息投影内容制作等。航天科工数字展示事业部提供3D全息投影成像系统项目策划、3D全息投影成像展示内容制作、 二、全息技术的原理全息投影技术是利用干涉和衍射原理记录并再现物体真实的三维图像的记录和再现的技术。 其第一步是利用干涉原理记录物体光波信息,此即拍摄过程:被摄物体在激光辐照下形成漫射式的物光束;另一部分激光作为参考光束射到全息底片上,和物光束叠加产生干涉,把物体光波上各点的位相和振幅转换成在空间上变化的强度,从而利用干涉条纹间的反差和间隔将物体光波的全部信息记录下来。记录着干涉条纹的底片经过显影、定影等处理程序后,便成为一张全息图,或称全息照片;其第二步是利用衍射原理再现物体光波信息,这是成象过程:全息图犹如一个复杂的光栅,在相干激光照射下,一张线性记录的正弦型全息图的衍射光波一般可给出两个象,即原始象(又称初始象)和共轭象。再现的图像立

openGL投影矩阵原理及数学推导

openGL投影矩阵 概述 显示器是2d的。3d场景需要转换为2d图像才能显示在屏幕上。投影矩阵(GL_PROJECTION)用于完成这个工作。投影矩阵将观察坐标(eye coordinates)转换成裁剪坐标(clip coordinates)。然后,裁剪坐标被除以w,转换为规范化的设备坐标(NDC)。 需要记住的一点是,裁剪操作和规范化都由投影矩阵(GL_PROJECTION)完成。下面介绍如何用6个参数(left,right,bottom,top,near,far)构建投影矩阵。 裁剪(clipping)操作是在裁剪坐标上进行的,安排在透视除法执行之前。裁剪坐标xc,yc,zc同wc比较,若每个分量都落在(-wc,wc)外,那么此坐标将被裁剪掉。 在透视投影中,3d场景中的点(观察坐标)从平截头体中映射到正方体(NDC)中;x坐标从[l,r]映射到[-1,1],y坐标从[b,t]映射到[-1,1],z坐标从[n,f]映射到[-1,1]。 注意到,观察坐标系是右手系,规范设备坐标系是左手系。这就有,在观察坐标系中,摄像机朝向沿着-z,而在NDC中,方向沿着z。由于glFrustum()只接受正参数,所以构造投影矩阵的时候要变号。 openGL中,3d场景中,观察坐标系下的点被投影到近投影面。下图展示了观察坐标系点(xe,ye,ze)投影到近投影面上的点(xp,yp,zp)。 从Top View of Projection看,xe投影到xp,根据等比性质:

从Side View of Projection看,yp计算类似: 注意到,xp和yp依赖于-ze,这一点要引起重视。在观察坐标被投影矩阵转换为裁剪坐标后,裁剪坐标仍然是同质坐标。在规范化阶段执行透视除法变为规范设备坐标(NDC)。 因此,可以将wc的值定为-ze。投影矩阵最后一行为(0,0,-1,0) 下一步,将xp,yp映射到xn,yn,此为线性映射[l,r]=>[-1,1],[b,t]=>[-1,1]:

透视投影(perspectiveprojection)变换推导

透视投影是3D固定流水线的重要组成部分,是将相机空间中的点从视锥体(frustum)变换到规则观察体(Canonical View Volume)中,待裁剪完毕后进行透视除法的行为。在算法中它是通过透视矩阵乘法和透视除法两步完成的。 透视投影变换是令很多刚刚进入3D图形领域的开发人员感到迷惑乃至神秘的一个图形技术。其中的理解困难在于步骤繁琐,对一些基础知识过分依赖,一旦对它们中的任何地方感到陌生,立刻导致理解停止不前。 没错,主流的3D APIs如OpenGL、D3D的确把具体的透视投影细节封装起来,比如 gluPerspective(…) 就可以根据输入生成一个透视投影矩阵。而且在大多数情况下不需要了解具体的内幕算法也可以完成任务。但是你不觉得,如果想要成为一个职业的图形程序员或游戏开发者,就应该真正降伏透视投影这个家伙么?我们先从必需的基础知识着手,一步一步深入下去(这些知识在很多地方可以单独找到,但我从来没有在同一个地方全部找到,但是你现在找到了)。 我们首先介绍两个必须掌握的知识。有了它们,我们才不至于在理解透视投影变换的过程中迷失方向(这里会使用到向量几何、矩阵的部分知识,如果你对此不是很熟悉,可以参考 可以找到一组坐标(v1,v2,v3),使得 v = v1 a + v2 b + v3 c (1) 而对于一个点p,则可以找到一组坐标(p1,p2,p3),使得 p – o = p1 a + p2 b + p3 c (2) 从上面对向量和点的表达,我们可以看出为了在坐标系中表示一个点(如p),我们把点的位置看作是对这个基的原点o所进行的一个位移,即一个向量——p – o(有的书中把这样的向量叫做位置向量——起始于坐标原点的特殊向量),我们在表达这个向量的同时用等价的方式表达出了点p: p = o + p1 a + p2 b + p3 c (3) (1)(3)是坐标系下表达一个向量和点的不同表达方式。这里可以看出,虽然都是用代数分量的形式表达向量和点,但表达一个点比一个向量需要额外的信息。如果我写出一个代数分量表达(1, 4, 7),谁知道它是个向量还是个点! 我们现在把(1)(3)写成矩阵的形式:

向量的数量积——数量积的投影定义(含数量积综合练习题)

向量的数量积——数量积的投影定义 一、基础知识 1、向量的投影: (1)有向线段的值:设有一轴l ,AB 是轴上的有向线段,如果实数λ满足AB λ=,且当AB 与轴同向时,0λ>,当AB 与轴反向时,0λ<,则称λ为轴l 上有向线段 AB 的值。 (2)点在直线上的投影:若点A 在直线l 外,则过A 作'AA l ⊥于'A ,则称'A 为A 在直线l 上的投影;若点A 在直线l 上,则A 在A 在直线l 上的投影'A 与A 重合。所以说,投影往往伴随着垂直。 (3)向量的投影:已知向量,a b ,若a 的起点,A B 在b 所在轴l (与b 同向)上的投影分别为'',A B ,则向量''A B 在轴l 上的值称为a 在b 上的投影,向量''A B 称为a 在 b 上的投影向量。 2、向量的投影与向量夹角的关系:通过作图可以观察到,向量的夹角将决定投影的符号,记θ为向量,a b 的夹角 (1)θ为锐角:则投影(无论是a 在b 上的投影还是b 在a 上的投影)均为正 (2)θ为直角:则投影为零 (3)θ为钝角:则投影为负 3、投影的计算公式:以a 在b 上的投影λ为例,通过构造直角三角形可以发现 (1)当θ为锐角时,cos b λθ=,因为0λ>,所以cos b λθ=

(2)当θ为锐角时,()cos cos b b λπθθ=-=-,因为0λ<,所以cos b λθ-=-即cos b λθ= (3)当θ为直角时,0λ=,而cos 0θ=,所以也符合cos b λθ= 综上可得:a 在b 上的投影cos b λθ=,即被投影向量的模乘以两向量的夹角 4、数量积与投影的关系(数量积的几何定义): 向量,a b 数量积公式为cos a b a b θ?=,可变形为() cos a b a b θ?=?或 () cos a b b a θ?=?,进而与向量投影找到联系 (1)数量积的投影定义:向量,a b 的数量积等于其中一个向量的模长乘以另一个向量在该向量上的投影,即a b a b b λ→?=?(记a b λ→为a 在b 上的投影) (2)投影的计算公式:由数量积的投影定义出发可知投影也可利用数量积和模长进行求解: a b a b b λ→?= 即数量积除以被投影向量的模长 5、数量积投影定义的适用范围:作为数量积的几何定义,通常适用于处理几何图形中的向量问题 (1)图形中出现与所求数量积相关的垂直条件,尤其是垂足确定的情况下(此时便于确定投影),例如:直角三角形,菱形对角线,三角形的外心(外心到三边投影为三边中点) (2)从模长角度出发,在求数量积的范围中,如果所求数量积中的向量中有一个模长是定值,则可以考虑利用投影,从而将问题转化为寻找投影最大最小的问题 二、典型例题:

投影矩阵的定义

视锥就是场景中的一个三维空间,它的位置由视口的摄像机来决定。这个空间的形状决定了摄像机空间中的模型将被如何投影到屏幕上。透视投影是最常用的一种投影类型,使用这种投影,会使近处的对象看起来比远处的大一些。对于透视投影,视锥可以被初始化成金字塔形,将摄像机放在顶端。这个金字塔再经过前、后两个剪切面的分割,位于这两个面之间的部分就是视锥。只有位于视锥内的对象才可见。 视锥由凹视野( 在上图中,变量 投影矩阵是一个典型的缩放和透视矩阵。投影变换将视锥变换成一个直平行六面体的形状。因为视锥的近处比远处小,这样就会对靠近摄像机的对象起到放大的作用,也就将透视应用到了场景当中。 在视锥中,摄像机与空间原点间的距离被定义为变量 视矩阵将摄像机放置在场景的原点。又因为投影矩阵需要将摄像机放在 将两个矩阵相乘,得到下面的矩阵: 下图显示了透视变换如何将一个视锥变换成一个新的坐标空间。注意:锥形体变成了直平行六面体,原点从场景的右上角移到了中心。 在透视变换中,

这个矩阵基于一定的距离(这个距离是从摄像机到邻近的剪切面)对对象进行平移和旋转,但是它没有考虑到视野( 在这个矩阵中, 在程序中,使用视野角度来定义x和y缩放系数比使用视口的水平和垂直尺寸(在摄像机空间中)并不方便多少。下面两式使用了视口的尺寸,并且与上面的公式相等: 在这些公式中,Zn表示邻近的剪切面的位置,变量Vw和Vh表示视口的高和宽。这两个参数与 D3DVIEWPORT2结构中的dwWidth和dwHeight成员相关。 不管你使用那个公式,将同世界和视变换一样,可以调用下面的 D3DMATRIX ProjectionMatrix(const float near_plane,// distance to near clipping plane const float far_plane,// distance to far clipping plane const float fov_horiz,// horizontal field of view angle, in radians const float fov_vert)// vertical field of view angle, in radians { float h, w, Q; w = (float)cot(fov_horiz*0.5); h = (float)cot(fov_vert*0.5); Q = far_plane/(far_plane - near_plane); D3DMATRIX ret = ZeroMatrix(); ret(0, 0) = w; ret(1, 1) = h; ret(2, 2) = Q; ret(3, 2) = -Q*near_plane; ret(2, 3) = 1; return ret; } // end of ProjectionMatrix()

弹塑性矩阵推导

弹塑性矩阵推导

考虑材料的塑性,其增量形式的本构关系可表达为 p d σ=(D -D )d ε (1) 式(1)中,D 为弹性矩阵,p D 为塑性矩阵。 弹性矩阵D 的形式为 422000333242000333224000333000000 000000000K G K G K G K G K G K G K G K G K G G G G ??+--??????-+-???? =??--+?????? ?????? D (2) 体积模量3(12) E K μ= -,剪切模量2(1) E G μ=+。 在应变空间内,塑性矩阵可表达为 1()T f f A ??= ??p D D D σσ (3) 式中, ( )()T T p f f f f A B ????=--????D D σσσσ (4) f 为屈服函数;p σ为塑性应力,p p =σD ε; 1/2(()())T p T p T p f f f f B f f f ωθε??? ???? ??? '=???? ????????? σσ I σσσ (5) [111000]T '=I ;p ω为塑性功;p θ为塑性体应变;p ε为等效塑性应变; κ为反映加载历史的参数。 当p κω=时 当p κθ=时 当p κε=时

对于Drucker-Prager 模型,其屈服条件为 120f I J α== (6) 1x y z I σσσ=++,222222 21()2 x y z xy yz zx J S S S S S S = +++++,α为材料常数。 2 2f J α?''=?I σ (7) 222T x y z xy yz zx S S S S S S '??=??S (8) 22 ()32f K J J αα?'''==+?D D I I σ (9) 222 ( )()(3)92T T T f f A K K G J J ααα??'''===+??D I I σσ (10) 1()T f f A ??= ??p D D D σσ 222 22222 222222112123113211212311321121231131121121121(3)(3)999(9)(9)(9)(T T T T T T K K K G J J K G K G K G J K G J K G J m mn ml S m S m S m mn n nl S n S n S n ml nl l S l S l S l S m S n S l ααααααααβββββββββββββ''= + +''''=++++++=p D I I I I S SS 21121122231122132123123123 1122231231132232 113113113113212113223113)()()S S S S S S m S n S l S S S S S S m S n S l S S S S S ββββββββββββββββββββ?? ? ? ???? ? ? ?????? ?????????? 令4 3 p K G =+,23 q K G =- 弹塑性矩阵可表达为 211212311321121231132 1121231132112112112112112223112213123 123123 112223()(p m q mn q ml S m S m S m q mn p n q nl S n S n S n q ml q nl p l S l S l S l S m S n S l G S S S S S S m S n S l S S G βββββββββββββββββββββββ------------------=-=-----?-?----?-ep p D D D 21231132232 113113113113212 113223 113)()S S S S m S n S l S S S S G S ββββββββββ?? ?? ? ??? ? ? ???? -???----?-?-??? ?

投影矩阵的计算过程

投影矩阵的计算过程3d模型经过世界坐标变换、相机坐标变换后,下一步需要投影变换。投影变换的目的就是要把相机空间转换到标准视图空间,在这个空间的坐标都是正规化的,也就是坐标范围都在[-1,1]之间,之所以转换到这个空间是为了后续操作更方便。下面的讨论都是以列向量来表示,这样在变换操作时,采用的是矩阵左乘法,如果采用的是行向量的话,那就相反,矩阵右乘法即是向量在左边乘以变换矩阵。采用哪种表示并不影响结果,只需要把该种表示下得出的变换矩阵转置一下,就是采用另外一种表示模式需要的结果。常见的投影有两种,正交投影和透视投影,正交投影相对来说更简单,所以先来看看正交投影。最简单的正交变换矩阵 1 0 0 0 0 1 0 0 0 0 0 1 这个正交变换是不可逆变换,变换后x和y保留,z变成了0,在实际应用中,更常见的情况是限定x、y、z在一定的范围内的进行投影变换,比如x[l,r],y[b,t],z[n,f]。那么要把这段空间中的点变换到-1和1之间,只要完成两个变换,首先把坐标轴移到中心,然后进行缩放就可以了。采用列向量的话,那就是缩放矩阵乘以平移矩阵。2/(r-l) 0 0 0 1 0 0 -(r+l)/2 2/(r-l) 0 0 -(r+l)/(r-l) 0 2/(t-b) 0 0 x 0 1 0 -(b+t)/2 = 0 2/(t-b) 0 -(t+b)/(t-b) 0 0 2/(f-n) 0 0 0 1 -(n+f)/2 0 0 2/(f-n) -(f+n)/(f-n) 0 0 0 1 0 0 0 1 0 0 0 1 透视投影类比于我们人眼系统,看一个物体,会有远小近大的效果。在转换到相机空间后,相机是这个空间的原点,和正交投影体是一个长方体或者立方体不同,透视投影体是一个锥体被近平面截取掉头部剩下的空间。假定仍然采用上面的坐标表示。在透视投影下,空间上面的任何一点P投影到近平面上某点q,通过三角几何学我们可以得到qx=px*n/pz ,y点同理。假定直接投影到近平面,则该矩阵很简单,用Ma表示下面的矩阵1 0 0 0 0 1 0 0 0 0 1 0 0 0 1/n 0 则齐次空间某点(x,y,z ,1)被该矩阵转换后变成了(x ,y z, z/n) ,除以z/n,则变成了(nx/z,ny/z,n ,1) 正好吻合上面的公式。 undefined 但是我们知道投影变换需要把坐标变换到-1和1之间,假定先不考虑z轴的变换,在x轴和y轴上面经过上述变换后,已经投影在近平面了,假设近平面xy在[l,r] 和[b,t]之间了,因此只需要和上面的正交投影一样,进行平移和缩放操作就可以了,平移矩阵Mb为 1 0 0 -(l+r)/2 0 1 0 -(t+p)/2 0 0 1 -(f+n)/2 0 0 0 1 以及缩放矩阵Mc 2/(r-l) 0 0 0 0 2/(t-b) 0 0 0 0 2/(f-n) 0 0 0 0 1 McXMbXMa 得到的矩阵为2/(r-l) 0 -(r+l)/(n*(r-l))0 0 2/(t-b) -(t+b)/(n*(t-b)) 0 0 0 j k 0 0 1/n 0 j k 为未知数,这个矩阵也可以同时乘以n,则变为2n/(r-l) 0 -(r+l)/(r-l) 0 0 2n/(t-b) -(t+b)/(t-b) 0 0 0 j k 0 0 1 0 为了求解J k,我们需要把z变换到-1 和1 因此当z=n时为-1,z=f时为1 (j*n+k)/n= j+k/n=-1; 同理j+k/f=1; 得到k=2f*n/(n-f) j=-(n+f)/(n-f) 代入上面的矩阵,就得出通用的正交变换矩阵。而且在一般情况下r=-l ,b=-t 因此上述矩阵可以简化为n/r 0 0 0 0 n/t 0 0 0 0 -(n+f)/(n-f) 2f*n/(n-f) 0 0 1 0 n/r 和n/t可以进一步简化成水平半视角和垂直半视角的三角函数来表示,而水平视角和垂直视角和透视窗口的宽高比有是成正比的,最终上面两行可以用宽高

快速投影Hessian矩阵算法

文章编号:1671 1114(2009)03 0018 04 快速投影Hessian 矩阵算法 收稿日期:2008 03 10 基金项目:天津市高校发展基金项目(20060402) 作 者:汤大林(1965 ),男,高级工程师,主要从事数学建模及应用方面的研究. 汤大林 (天津理工大学理学院,天津300191) 摘 要:分析了求解等式约束非线性规划问题的投影H essian 矩阵算法,找出了算法两步Q 超线性收敛的原因,并用BY RD 的例子说明此算法的收敛效果较差,即甚至不是线性收敛;对算法进行了合理的改进,并用改进后的算法求解BY RD 问题,得到了满意的收敛效果,即Q 超线性收敛.借助数值试验验证了改进算法的快速收敛性.关键词:等式约束非线性规划;投影H essian 矩阵算法;超线性收敛中图分类号:O 221.2 文献标识码:A Q uick projection method with H essian matrix T AN G Dalin (School of Science,T ianjin University of Techn ology,T ian jin 300191,China) Abstract:T he project ion method wit h H essian mat rix used to so lve nonlinear prog ramming w ith equality co nstr aint is analyzed and the r easo n w hy the method is superlinear conver gent by two steps is found o ut.Its bad converg ent effect at linear ity is illuminated by BYRD's example.T he method is impr ov ed and quickly super linear conver gence o f the impr ov ed metho d is illuminated using BY RD's ex ample.T he quickly co nv erg ent effect o f t he impro ved method is verified by a numerical experiment. Key words:nonlinear pr og ramming w ith equality constra int ;project ion method wit h H essian mat rix ;super linear conver gence 1 投影Hessian 矩阵算法的缺点 考察等式约束非线性规划问题: m in x R n f (x ),约束c(x)=0,(1) 其中,目标函数f (x ):R n !R,约束c(x):R n !R m 是二次可微函数,且m ?n,即m 个等式约束.为叙述方便,引入如下记号: x =(x (1),x (2),#,x (n)), c(x)=(c (1)(x ),c (2)(x ),#,c (m)(x ))T , g(x)= f (x )= ( f x (1), f x (2) ,#, f x (n))T , A(x)= c(x)= c (1) x (1) c (2) x (1)# c (m) x (1) c (1) x (2) c (2) x (2)# c (m) x (2) ! c (1) x (n) c (2) x (n)# c (m) x (n ) ,L (x, )=f (x )-?m i=1 (i) c (i)(x ), 其中, (i)为拉格朗日乘子,i =1,2,#,m. 将A(x)QR 分解为A(x)=(y(x),z(x)) (R(x)O ) , 其中y (x),z(x)均为n 阶正交矩阵,R(x)为m 阶上三角矩阵. V ol.29N o.3 Jul.2009 第29卷 第3期2009年7月 天津师范大学学报(自然科学版) Jour nal of T ianjin N orma l U niver sity (N atural Science Edit ion)

投影法概念.点的投影

点、直线和平面>> 点>> 点在两投影面体系中的投影 1 点 1.1 点在两投影面体系中的投影 1.1.1 两投影面体系的建立 两投影面体系由互相垂直相交的两个投影面组成,如图1所示,其中一个为水平投影面(简称水平面),以H表示,另一个为正立投影面(简称正面),以V表示。两投影面的交线称为投影轴,以OX表示。 水平投影面H与正立投影面V将空间分为四个部分,称为四个分角,即第一分角、第二分角、第三分角、第四分角。 (1) 投影如图2所示,空间点A处于第一分角,按正投影法将点A向正面和水平面投射,即由点A向正面作垂线,得垂足a′,则a′称为空间点A的正面投影;由点A向水平面作垂线,得垂足a ,则a称为空间点A的水平投影。画出点A的正面投射线Aa′和水平投射线Aa所确定的平面Aaa′与V、H面的交线a′a x和aa x 。 图2 点在两投影面体系中的投影 (2) 注写规定空间点用大写字母表示,如A、B、C…;点的水平投影用相应的小写字母表示,如a、b、c…;点的正面投影用相应的小写字母加一撇表示,如a′、b′、c′…。 (3) 投影面展开为了把空间点A的两个投影表示在一个平面上,保持V面不动,将H 面的前半部分绕OX轴向下旋转90°、后半部分绕OX轴向上旋转90°与V面重合。则得到点A的两面投影图。 (4) 擦去边界,得到点的两面投影图投影面可以看作是没有边界的平面,故符号V、H及投影面的边界线都不需画出。 1.1.3 点在两投影面体系中的投影规律

(a) (b) 图3 点在两投影面体系中的投影规律 (1) 一点的水平投影和正面投影的连线垂直于OX轴。 在图3(a)中,点A的正面投射线Aa′和水平投射线Aa所确定的平面Aaa′垂直于V 和H平面。根据初等几何知识,若三个平面互相垂直,其交线必互相垂直,所以有aa x⊥a′a x、aa x⊥OX和a′a x⊥OX。当a随H面旋转重合于V面时,aa x⊥OX的关系不变。因此,在投影图上,aa′⊥OX。 (2) 一点的水平投影到OX轴的距离等于该点到V面的距离;其正面投影到OX轴的距离等于该点到H面的距离,即aa x=Aa′;a′a x=Aa。 在图3(a)中,因为Aaa x a′是矩形,所以aa x=Aa′; a′a x=Aa。 图4 分角内点的投影

模型视图矩阵和投影矩阵:webgl笔记

最近在学习WebGL技术的过程中,我补充了一些原本了解甚少的计算机图形学知识。如果有同学和我一样,没有系统学过计算机图形学就接触了3D图形编程,而对不少略为艰深的概念有困惑,希望这些笔记能够帮助你。 模型矩阵 我们必须考虑,当空间中点的位置会发生变化的时候,其坐标如何变化。考虑三种基本的变换:平移、旋转和缩放。 “变换”的含义就是,将点的初始位置的坐标P映射到平移、旋转、缩放后的位置坐标P’,即: 平移变换是最简单的变换: 旋转变换有一些复杂,先看在二维平面上的旋转变换: 很容易得到:

矩阵形式的表达更加简洁,后面大多使用这种形式: 推广到三维空间中: 点绕z轴旋转: 点绕x轴旋转: 点绕y轴旋转: 绕指定的任意轴旋转变换是由几个绕坐标轴旋转变换和平移变换效果叠加而成的,后文会有详细叙述。 缩放变换也比较简单: 总结一下:平移变换,变换后点坐标等于初始位置点坐标加上一个平移向量;而旋转变换和缩放变换,http://fei https://www.360docs.net/doc/738099766.html,变换后点坐标等于初始位置点坐标乘以一个变换矩阵。

齐次坐标这天才的发明,允许平移变换也表示成初始位置点坐标左乘一个变换矩阵的形式。齐次坐标使用4个分量来表示三维空间中的点,前三个分量和普通坐标一样,第四个分量为1。 平移变换巧妙地表示为: 旋转变换(以绕z轴旋转为例)和缩放变换相应为: 综上,在齐次坐标下三种基本变换实现了形式上的统一,这种形式的统一意义重大。 矩阵有一个性质: 考虑一个点,https://www.360docs.net/doc/738099766.html,先进行了一次平移变换,又进行了一次旋转变换,结合上面矩阵的性质,可知变换后的点P’为:

ARCGIS中坐标系的定义及投影转换方法

ArcGIS中坐标系的定义及投影转换方法 张卫东 (安徽省环境信息中心 合肥 230001 ) 摘 要:本文就我省GIS项目中地理数据所涉及的多种坐标系及地图投影转换等问题作了详细分析,并在ESRI公司的ArcGIS软件平台上介绍了不同坐标系的定义及投影转换方法。 关键词:坐标系; 地图投影 一、问题的提出 GIS技术在我省环保工作中已应用多年,现有多套基于不同坐标系的地理数据,如全省1:5万的北京54坐标系数据,主要城市1:1万的西安80坐标系数据,GPS采集的WGS84坐标系数据以及同是北京54坐标系但不同投影的遥感解译数据等,这些不同坐标系的数据给我们的使用带来了困难:如何将遥感解译数据和不同的地理数据转换到一起,GPS采集的经纬度数据如何正确加载到地图上,以前在北京54坐标系上使用的数据又如何转换到新的西安80坐标系上来?通过摸索,本人找到了解决问题的一些方法,现介绍如下,首先介绍一下相关的几个概念。 二、相关概念 由于GIS所描述是位于地球表面的空间信息,所以在表示时必须嵌入到一个空间参照系中,这个参照系统就是坐标系,它是根据椭球体等参数建立的。另外,为了能够将地图从球面转换到平面,还要进行投影。 1. 椭球体(Spheroid)、基准面(Datum)、坐标系(Coordinate System)及投影(Projection) 尽管地球是一个不规则的椭球,但为了将数据信息以科学的方法存放到椭球上,我们需要用一个可以量化计算的椭球体作为地球的模型。这样的椭球体用长半轴a(semimajor axis),短半轴b(semiminor axis),偏心率倒数1/f(Inverse flattening)来描述,这三个参数数学关系为:1/f=a/(a-b),实际中我们一般用长、短半轴二个参数来表示就可以了,根据需要人们定义了多种参考椭球体模型。然而有了这个椭球体还不够,还需要一个大地基准面将这个椭球定位,它的作用是来确定地球与椭球体之间的位置关系,由于每个国家或地区需要最大限度的贴合自己的那一部分不同,基准面也不同。 有了基于椭球体参数的基准面,再加上角度单位(Angular Unit)和本初子午线(Prime Meridian),就定义了地理坐标系(Geographic Coordinate System),图2清楚地表明了这一点。 但地理坐标系是用经纬度表示球面的位置,很多时候我们精确分析需要在平面上来进行,这就要将地图从三维地理坐标通过投影转换成二维平面坐标,这样的坐标系叫投影坐标系(Projection Coordinate System),它是在地理坐标系上加上投影转换参数(参见图4)。 由于从球面到平面的转换会引起距离、面积、形状、方向一个或多个空间属性的变形失真,没有一种投影转换能保持所有的空间属性不变。所以一些地图投影通过损失其它空间属性来使某一属性失真最小,而另一些地图投影则努力平衡全部空间属性的失真,现有数百种地图投影,它们各自适合于表示整个地球表面或某些区域的不同需求,如我国1:50万和更大比例尺地形图使用的是高斯-克吕格 (Gauss-Kruger) 投影,它没有角度变形,在长度和面积上变形也很小,通过分带投影后能保证很高的精度(参见图4),而遥感解译数据常采用阿尔勃斯(Albers Equal-Area Conic)投影,它是等面积割圆锥投影,可以保持面积不变(参见图5)。

相关文档
最新文档