深度探讨透视投影坐标系.

合集下载

测绘技术中的坐标系和投影方式介绍

测绘技术中的坐标系和投影方式介绍

测绘技术中的坐标系和投影方式介绍测绘技术是现代科技的一个重要分支,它涉及到地理空间信息的获取、处理和分析。

而在测绘技术中,坐标系和投影方式是非常重要的概念,它们决定了地理位置的表示和测量的精度。

本文将以深入浅出的方式介绍坐标系和投影方式在测绘技术中的应用。

一、坐标系坐标系是用来表示地点或位置的一种数学概念。

在地球上,利用经纬度坐标系可以描述地球上的各个点的位置。

经度表示东西方向的位置,纬度则表示南北方向的位置。

经度的起点称为本初子午线,通常选取零经度经过英国伦敦的本初子午线。

而纬度的基准线则是赤道。

在坐标系中,经纬度通常以度为单位表示,东经和北纬分别用正值表示,西经和南纬则用负值表示。

这种坐标系在大地测量、地图制作、卫星定位等领域广泛使用,是最基本的测绘坐标系。

除了经纬度坐标系外,还有许多其他坐标系,在不同的应用领域中得到广泛应用。

如笛卡尔坐标系、高程坐标系、地心坐标系等。

这些坐标系根据不同的测绘需求和应用目的而定,为地理空间信息提供了更精确和便捷的表示方式。

二、投影方式在地理空间信息的表达中,一个非常关键的问题是将地球表面上的三维空间映射为平面,这就是投影方式的作用。

由于地球表面是一个椭球体,而平面是一个二维空间,所以无法完美地将地球表面的所有特征映射到平面上。

因此,选择合适的投影方式就显得非常重要。

常见的投影方式包括等角、等积和等距投影等。

等角投影保持地球上两点间的角度关系,适用于海图和飞行导航等领域;等积投影则保持地球上面积的比例,适用于土地管理和资源评价等领域;而等距投影则保持地球上两点间的距离比例,适用于城市规划和测绘制图等领域。

此外,还有许多常用的投影方式,如墨卡托投影、极射投影、兰伯特投影等。

每一种投影方式都有其适用的范围和局限性,根据测绘需求和应用背景的不同,选择合适的投影方式可以使得测绘结果更准确和可用。

三、测绘技术中的应用测绘技术在现代社会中具有广泛的应用,涉及各个领域。

坐标系和投影方式作为测绘技术的重要组成部分,也在种种测绘应用中发挥着重要作用。

测绘技术中的坐标系与投影方式

测绘技术中的坐标系与投影方式

测绘技术中的坐标系与投影方式在测绘技术领域中,坐标系与投影方式是两个重要的概念。

它们在地理信息系统(GIS)、地图制作、航空航天等领域中发挥着重要的作用。

本文将针对这两个概念展开深入探讨。

一、坐标系坐标系是地球表面上点的位置表示方法。

它是通过确定一个基准点、确定基准面和确定坐标轴来定义的。

常见的坐标系有地心坐标系(ECEF)、地心地固坐标系(ENU)和大地坐标系(LLH)。

地心坐标系是以地球中心为原点建立的坐标系,通常用于全球定位系统(GPS)中。

地心地固坐标系是以地球上某一固定点为原点,建立的坐标系,通常用于航天飞行器定位。

而大地坐标系则是以地球形状变化较小的球体为基准面建立的坐标系,通常用于地图制作和地理信息系统中。

在测绘技术中,选择合适的坐标系非常重要。

不同的坐标系适用于不同的应用领域。

例如,在地图制作中,大地坐标系常用于表示地理位置,可以将经度和纬度作为地点的坐标。

而在GPS定位中,地心坐标系和地心地固坐标系则更为常用。

因此,根据具体的需求和应用场景,选择合适的坐标系至关重要。

二、投影方式投影方式是将地球表面上的点在二维平面上显示的一种方式。

由于地球是一个三维球体,将其展示在一个平面上是不可避免的问题。

常用的投影方式有等角圆锥投影、等间隔柱状投影和等距杯状投影等。

等角圆锥投影是将地球表面展示在一个圆锥上,再将圆锥展开为一个平面。

这种投影方式在地图制作中广泛应用,因为它能够保持角度的一致性,使地图上的方向保持准确。

等间隔柱状投影则是将地球表面展示在一个柱体上,并将柱体展开为一个平面。

它主要用于大规模的地理测量和军事目的。

等距杯状投影则是将地球表面展示在一个杯状体上,并将杯状体展开为一个平面。

它主要用于航空航天领域,能够有效地保持距离的一致性。

每种投影方式都有其适用的范围和缺点。

选择合适的投影方式取决于地图制作的目的和要求。

在实际应用中,通常会根据地图的使用场景和使用者的需求,进行合理的选择。

测绘技术中的坐标系统与投影方法解析

测绘技术中的坐标系统与投影方法解析

测绘技术中的坐标系统与投影方法解析在现代测绘技术中,坐标系统和投影方法是非常重要的概念与工具。

它们为地理空间数据的存储、分析和表达提供了基础,并且在各个领域都有广泛的应用。

在本文中,我们将深入探讨测绘技术中的坐标系统与投影方法,剖析其原理和应用。

一、坐标系统坐标系统是用来描述地球上的点在地图上位置的一种方式。

地球是一个三维空间,而地图则是二维的平面,在将地球上的现象映射到地图上时,需要通过坐标系统来进行映射和转换。

常见的坐标系统有经纬度坐标系统和平面坐标系统。

经纬度坐标系统采用经度和纬度两个参数来确定地球上的点的位置。

经度是指位于东经0度到180度之间的线,纬度则是指位于北纬0度到90度之间的线。

经纬度坐标系统非常直观,易于理解和运用,被广泛应用于航海、航空等领域。

然而,由于地球不是一个完美的球体,经纬度坐标系统在大范围上会存在一些误差。

平面坐标系统是将地球表面划分为一系列平面,然后用X轴和Y轴来描述地球上的点的位置。

平面坐标系统具有较高的精度和准确性,适用于小范围地理空间数据的处理和分析。

在平面坐标系统中,常用的包括UTM(通用横轴墨卡托投影)和高斯-克吕格投影等。

二、投影方法投影方法是将三维的地球表面映射到二维的地图上的一种技术。

由于地球是一个球体,而地图是一个平面,二者之间的映射会引入一定的形变,投影方法的目标就是最小化这些形变。

常见的投影方法有圆柱投影、锥形投影和平面投影等。

圆柱投影是通过将一个圆柱体包裹在地球上,再将圆柱体展开成一个平面来进行映射。

这种投影方法的形变是从地球的赤道到两极逐渐增大的。

典型的圆柱投影包括墨卡托投影和笛卡尔投影等。

锥形投影是通过将一个锥体覆盖在地球上,并将锥面展开成一个平面来进行映射。

这种投影方法的形变主要发生在覆盖锥体的纬度范围内,而离中心纬线越远,形变越大。

典型的锥形投影包括兰勃托投影和极点方位等。

平面投影是将地球表面投影到一个平面上,形变主要在地球表面上。

投影坐标系的详细介绍

投影坐标系的详细介绍

投影坐标系的详细介绍投影坐标系是地理空间信息系统中常用的一种坐标系统,它将地球表面的地理坐标映射到一个二维平面上,便于进行地图制作、测量和分析等操作。

投影坐标系的选择对地图质量和数据分析结果具有重要影响,因此对投影坐标系进行详细的介绍具有重要意义。

首先,投影坐标系的基本原理是将三维的地理坐标转换为二维的平面坐标。

由于地球是一个近似地球椭球体,而地图是在平面上展示地球表面,因此必须进行一定的数学转换。

投影坐标系通过一种数学模型将地球上的点按照一定规则映射到平面上,使得地球表面上的线段、面积和角度等地理特征在平面上能够得到合理、准确的表示。

投影坐标系有很多种类,常见的包括等面积投影、等距投影、等角投影等。

等面积投影保持地球表面上的面积比例关系,适用于需要准确测量面积的地图制作;等距投影保持地球表面上的距离比例关系,适用于需要准确测量距离的地图制作;等角投影保持地球表面上的角度关系,适用于需要准确测量角度的地图制作。

此外,还有一些特殊的投影坐标系,如墨卡托投影、兰勃托投影、极射投影等,它们在特定应用领域具有优势。

投影坐标系不仅仅是一个数学转换模型,还需要考虑到使用的地图范围、地图形状、地图形变以及地图使用目的等因素。

在选择投影坐标系时,需要权衡不同因素之间的取舍,以达到最优的地图效果。

例如,选择投影坐标系时需要考虑地图的纬度范围,选择全球性的坐标系还是局部性的坐标系;还需要考虑地图形状,选择圆形、椭圆形还是其他形状;同时还需要考虑地图形变,平行线是否保持平行、面积是否保持一致等问题;最后还要考虑地图使用目的,是制作导航地图、气象图、行政区划图还是其他类型的地图。

投影坐标系选择的准则主要包括地图形变、图形一致、适用范围、计算复杂度等因素。

地图形变是指由于地球表面三维形状与二维平面的转换而引起的失真现象。

不同的投影坐标系对应不同的形变性质,因此需要根据地图使用需要选择合适的坐标系。

图形一致是指地图中的地理特征在平面上的表示与实际地表特征的一致性。

08--透视投影

08--透视投影

H-基面,承载物体的平面,一般看作投影H面
K-画面,绘制透视的投影面,一般将画面垂直基面
OX-基线,画面与基面的交线 S-视点,投影中心 s-站点,视点S在基面的正投影 Ss-视高,视点S与s间的距离 s′-主点,视点S在画面上的正投影 Ss′-主视线,也是视距 hh-视平线,过主点所作的水平线 SA-视线 A0-透视,视线与画面的交点
太大
适中
偏小
前楚地看到物体的视角范围约为
200-600,而以300-400为佳。
视点位置:对于产品,视点的位置应能使产 品正面和侧面的比例符合实际的长度比,且能 最大限度的反映产品造型特征;对于室内整体 透视,视点的位置宜在画面宽度中间1/3范围 内,特别不应在中央,把图形一分为二。
第一种方法是先确定站点,然后再确定画面。 第二种方法是先确定画面,然后再确定站点。
视距:视距大,透视图形大,水平线的透视 方向平缓;视距愈小,透视图形也愈小,透视 方向愈陡。视距的大小映根据产品的形态特征 以及视角(通常应小于600)综合考虑。
只有视距D等于画面宽度B的1.5~2.0倍时, 视角为28°~37°,符合人的视觉要求。
视高:视高一般取相当于人站立眼睛的高度, 级1.5~1.7米。对于高度较小的产品,视高应 相应降低。表现室内时,视高一般可取1.5~ 1.7米,当要强调天花或突出其宏伟高大时,可 取较低的视高,相反,重在表现地面或家具陈 设布置时,常选用较高的视高。
当视高高于形体高度时,能够看到大范围 的景观的透视图称为鸟瞰图。
4、画面平行线的透视P307 图15-7
1)一切与画面平行的直线没有灭点。其 透视的特征:
画面平行线的透视与直线本身平行; 两条平行的画面平行线的透视仍相互平行; 画面平行线上各段长度之比,等于这些线段 透视长度之比。

关于坐标系和投影的相关知识探讨

关于坐标系和投影的相关知识探讨

关于坐标系和投影的相关知识探讨坐标系和投影是地理学和地理信息系统(GIS)中的基础概念。

坐标系是用于定位地球上任意点位置的一种方案,而投影则是将地球的曲面表达在平面上的方法。

本文将探讨坐标系和投影的相关知识,包括定义、分类、应用以及优缺点等。

首先,坐标系是地理空间数据基准的一部分,用于描述地球上一些点的位置。

常见的坐标系包括地心坐标系、大地坐标系和平面坐标系等。

其中,地心坐标系以地球的中心作为起点,以地球的表面为参照进行定位。

大地坐标系则以地球表面上的一个点作为起点,以地球的形状和大小为参照进行定位。

平面坐标系是将地球表面投影到平面上的一种方法,常用于地图制作和空间分析中。

投影是将地球的曲面表达在平面上的一种方法。

由于地球是一个近似于椭球体的三维对象,将其表达在平面上时会出现形变。

根据存储项目,地图投影可以分为正形投影和等面积投影。

正形投影是指将地球上各点间的角度关系保持不变的投影方法,可以保持形状的相对准确。

等面积投影则是指将地球上的面积比例保持不变的投影方法,可以保持面积的相对准确。

常见的投影方法包括墨卡托投影、正轴等积圆柱投影和兰勃托投影等。

在GIS应用中,坐标系和投影的选择是非常重要的。

不同的应用需要不同的坐标系和投影方案来满足精度和准确性的要求。

例如,在地图制作中,通常使用平面坐标系和等面积投影来保持地图上各个地区的相对面积准确。

而在空间分析中,通常使用大地坐标系和正形投影来保持地图上各个地区的角度关系准确。

尽管各个坐标系和投影方法都有自己的优点和局限性,但基于特定的应用需求选择合适的坐标系和投影方法是非常重要的。

此外,随着技术的进步和研究的不断深入,也涌现出了一些新的坐标系和投影方法,以更好地满足各种不同应用的需求。

总之,坐标系和投影是地理学和GIS中的基础概念,对于地球定位和地图制作非常重要。

通过理解和应用合适的坐标系和投影方法,可以更准确地表达地球的空间信息,从而支持各种地理空间应用和决策。

透视投影的原理和实现

透视投影的原理和实现

透视投影的原理和实现透视投影的原理和实现摘要:透视投影是3D渲染的基本概念,也是3D程序设计的基础。

掌握透视投影的原理对于深⼊理解其他3D渲染管线具有重要作⽤。

本⽂详细介绍了透视投影的原理和算法实现,包括透视投影的标准模型、⼀般模型和屏幕坐标变换等,并通过VC实现了⼀个演⽰程序。

1 概述在计算机三维图像中,投影可以看作是⼀种将三维坐标变换为⼆维坐标的⽅法,常⽤到的有正交投影和透视投影。

正交投影多⽤于三维健模,透视投影则由于和⼈的视觉系统相似,多⽤于在⼆维平⾯中对三维世界的呈现。

透视投影(Perspective Projection)是为了获得接近真实三维物体的视觉效果⽽在⼆维的纸或者画布平⾯上绘图或者渲染的⼀种⽅法,也称为透视图[1]。

它具有消失感、距离感、相同⼤⼩的形体呈现出有规律的变化等⼀系列的透视特性,能逼真地反映形体的空间形象。

透视投影通常⽤于动画、视觉仿真以及其它许多具有真实性反映的⽅⾯。

2 透视投影的原理基本的透视投影模型由视点E和视平⾯P两部分构成(要求 E不在平⾯P上)。

视点可以认为是观察者的位置,也是观察三维世界的⾓度。

视平⾯就是渲染三维对象透视图的⼆维平⾯。

如图1所⽰。

对于世界中的任⼀点X,构造⼀条起点为E并经过X点的射线R,R与平⾯P的交点Xp即是X点的透视投影结果。

三维世界的物体可以看作是由点集合 { Xi} 构成的,这样依次构造起点为E,并经过点Xi的射线Ri,这些射线与视平⾯P的交点集合便是三维世界在当前视点的透视图,如图2所⽰。

图1 透视投影的基本模型图2 透视图成像原理基本透视投影模型对视点E的位置和视平⾯P的⼤⼩都没有限制,只要视点不在视平⾯上即可。

P⽆限⼤只适⽤于理论分析,实际情况总是限定P为⼀定⼤⼩的矩形平⾯,透视结果位于P之外的透视结果将被裁减。

可以想象视平⾯为透明的玻璃窗,视点为玻璃窗前的观察者,观察者透过玻璃窗看到的外部世界,便等同于外部世界在玻璃窗上的透视投影(总感觉不是很恰当,但想不出更好的⽐喻了)。

三维图像投影变换——透视投影

三维图像投影变换——透视投影

三维图像投影变换——透视投影⼆、投影变换1、平⾯⼏何投影投影变换就是把三维物体投射到投影⾯上得到⼆维平⾯图形。

【计算机绘图是产⽣三维物体的⼆维图象,但屏幕上绘制图形的时候,必须在三维坐标系下考虑画法。

】常⽤的投影法有两⼤类两种投影法的本质区别在于【透视投影】的投影中⼼到投影⾯之间的距离是【有限的】,⽽【平⾏投影】的投影中⼼到投影⾯之间的距离是【⽆限的】。

(1)中⼼(透视)投影透视投影是3D渲染的基本概念,也是3D程序设计的基础。

其中的[p,q,r]能产⽣透视变换的效果1、透视基本原理因为⼀条直线段是由两点确定,多边形平⾯由围城该多边形的各顶点和边框线段确定,⽽任何⽴体也可以看成是由它的顶点和各棱边所构成的⼀个框体。

也就是说,可以通过求出这些【顶点的透视投影】⽽获得空间【任意⽴体的透视投影】。

三维世界的物体可以看作是由点集{X i}构成的,这样依次构造起点为E,并经过点X i的射线R i,这些射线与投影⾯P的交点集合便是三维世界在当前视点的透视图。

投影线均通过投影中⼼,在投影中⼼【相对】投影⾯【确定的】情况下,空间的⼀个点在投影⾯上只存在【唯⼀⼀个】投影。

2、⼀点透视先假设q≠0,p=r=0。

然后对点(x,y,z)进⾏变换图70对其结果进⾏齐次化处理得:A、当y=0时,有说明处于y=0平⾯内的点,经过变换以后没有发⽣变化B、当y→∞时,有说明当y→∞时,所有点的变换结果都集中到了y轴上的1/q处,即所有平⾏于y轴的直线将延伸相较于(0,1/q,0),该点称为【灭点】,⽽像这样形成⼀个灭点的透视变换称为【⼀点透视】。

同理可知,当p≠0,q=r=0时,则将在x轴上的1/p处产⽣⼀个灭点,坐标为(1/p,0,0),在这种情况下,所有平⾏于x轴的直线将延伸交于该点。

同理,当r≠0,q=p=0时,则将在z轴上的1/r处产⽣⼀个灭点,其坐标为(0,0,1/r),这种情况下,所有平⾏于z轴的直线将延伸交于该点。

测绘技术中的地理坐标系与投影坐标系解析

测绘技术中的地理坐标系与投影坐标系解析

测绘技术中的地理坐标系与投影坐标系解析地理坐标系和投影坐标系是测绘技术中常用的两种坐标系表示方法。

地理坐标系是以地球为基准,通过经度和纬度来确定点的位置;而投影坐标系是将地球表面平面化后的坐标系。

在实际测绘工作中,理解地理坐标系和投影坐标系的特点和原理是十分重要的。

地理坐标系是以地球为中心的坐标系。

经度和纬度是地理坐标系的基本要素。

经度是指位于东西方向上的角度,以本初子午线为基准,范围从0度到180度,东经为正值,西经为负值;纬度是指位于北南方向上的角度,以赤道为基准,范围从0度到90度,北纬为正值,南纬为负值。

地理坐标系是一种球坐标系,可以直观地表示地球上各个点之间的位置关系。

但是由于地球是一个近乎球体,所以不同位置的经线和纬线长度不同,这给实际测绘带来了困难。

为了解决地球表面平面化的问题,人们提出了投影坐标系。

投影坐标系是将地球表面投影到平面上的一种方法。

常见的投影坐标系有等距圆柱投影、等距圆锥投影和等面积投影等。

等距圆柱投影是将地球的经纬度网格投影到一个圆柱体上,再展开到平面上;等距圆锥投影是将地球的经纬度网格投影到一个圆锥体上,再展开到平面上;等面积投影是保持地球各区域面积比例的投影方式。

这些投影坐标系可以将地理坐标系中的经度和纬度转换为平面坐标系中的x和y坐标,方便测绘工作的进行。

通过地理坐标系和投影坐标系的转换,测绘工作者可以方便地进行地图的制作和测量。

在实际测绘过程中,常常需要利用地理坐标系下的已知点或者控制点,通过测距、测角等方法确定其他未知点的位置。

而投影坐标系则可以方便地进行地图的绘制和计算。

除了地图制作和测量之外,地理坐标系和投影坐标系在导航、导航系统等领域也有广泛的应用。

如今,人们通过卫星定位系统(GPS)可以轻松确定自己的地理坐标,从而在地图上准确定位。

而导航系统则通过将地理坐标系与投影坐标系相结合,实现了车辆、船只等的定位和导航功能。

总结起来,在测绘技术中,地理坐标系和投影坐标系是两种重要的坐标系表示方法,各有其特点和应用场景。

CAD绘图中的透视投影原理与应用

CAD绘图中的透视投影原理与应用

CAD绘图中的透视投影原理与应用CAD(Computer-Aided Design)是计算机辅助设计的缩写,是一种通过计算机系统进行设计和绘图的工具。

在CAD软件中,透视投影是一种常用的绘图技术,它能够以逼真的方式呈现三维物体的立体感。

在本文中,我们将探讨CAD绘图中的透视投影原理与应用。

透视投影是一种模拟人眼观察的投影方式,可以在平面上绘制出具有深度和立体感的图形。

它基于透视原理,通过模拟物体离观察者的距离和观察角度来产生真实的立体效果。

透视投影实质上是将三维空间中的物体映射到二维平面上。

在CAD软件中使用透视投影可以使设计师更加准确和直观地理解设计。

例如,在建筑设计中,透视投影可以帮助设计师预测建筑物在现实世界中的外观。

通过绘制透视图,设计师可以更好地评估建筑物的比例、尺寸和空间感。

在CAD软件中实现透视投影的方法有多种。

一种常用的方法是使用相机视角。

设计师可以在CAD软件中设置相机的位置和角度,以模拟透视效果。

通过移动相机位置和调整观察角度,设计师可以从不同的角度观察和绘制三维模型。

另一种方法是使用透视投影工具。

CAD软件通常提供了一些专门用于透视投影的工具和功能,设计师可以使用这些工具轻松地创建透视图。

通过指定观察点和观察角度,软件会自动计算出相应的透视效果。

与透视投影相关的一个重要概念是消失点。

消失点是在透视图中,平行线在远离观察者的方向上似乎汇聚在一点。

CAD软件通常会自动计算出消失点,并将其用于绘制透视图。

设计师可以利用消失点来判断平行线的方向和长度。

通过合理地运用消失点,设计师可以更好地表现物体的透视效果,并使其更加真实。

除了用于设计呈现,透视投影在CAD软件中还具有其他应用。

例如,在建筑设计中,透视投影可以用于制作虚拟漫游和可视化效果。

通过使用透视投影方式,设计师可以在CAD软件中创建一个可以模拟真实场景的环境,以便用户可以更好地理解和体验设计。

透视投影在产品设计中也有广泛的应用。

测绘技术中常见的坐标系与投影系统解析

测绘技术中常见的坐标系与投影系统解析

测绘技术中常见的坐标系与投影系统解析一、引言在测绘技术中,坐标系和投影系统是非常重要的概念和工具。

它们为地理信息的采集、储存和分析提供了基础。

本文将解析测绘技术中常见的坐标系和投影系统,探讨其原理、应用和特点。

二、坐标系坐标系是用来描述一个物体或者地理数据在地球表面上位置的一种系统。

常见的坐标系有经纬度坐标系、平面直角坐标系和高程坐标系。

1. 经纬度坐标系经纬度是地球上任意位置的地理坐标。

经度表示东西方向的位置,纬度表示南北方向的位置。

经纬度坐标系是基于地球的自转和赤道的划分,它可以描述全球范围内的位置。

经纬度坐标系在地图制作和导航定位中广泛使用。

2. 平面直角坐标系平面直角坐标系也称为笛卡尔坐标系,它是以某一地点为原点,选取两条相互垂直的轴线作为坐标轴的直角坐标系。

平面直角坐标系适用于局部区域的测绘和工程测量,比如城市的地图制作和房屋建设等。

3. 高程坐标系高程坐标系用于描述地球表面上的高度信息。

它通常与平面直角坐标系结合使用,构成三维的空间坐标系。

高程坐标系在建筑工程、地质勘探和地形分析等领域有广泛的应用。

三、投影系统投影系统是将地球的曲面投影到平面上的数学模型。

因为地球是一个球体,而平面是一个二维的表面,所以需要一种方法将球面上的地理信息转换到平面上,以便于测绘和分析。

1. 地理坐标投影地理坐标投影是将地理坐标系统按照一定的数学关系投影到平面上的投影方法。

常见的地理坐标投影有等经纬度投影、等距离投影和等面积投影等。

地理坐标投影适用于大范围的地理信息分析,如区域规划、气候分析和资源调查等。

2. 内容相关性现实世界中的任何事物都是相互联系的,坐标系和投影系统也不例外。

坐标系和投影系统的选择需要根据具体应用环境和需求来确定。

在地球表面的广阔区域内进行测绘和分析时,应使用地理坐标系和相应的地理坐标投影。

而在局部区域内进行工程测量和建设时,应选择平面直角坐标系和适当的投影系统。

四、坐标系和投影系统的误差和应用坐标系和投影系统在实际应用中存在一定的误差。

三维坐标系与投影解析

三维坐标系与投影解析

三维坐标系与投影解析在几何学中,三维坐标系是用来表示三维空间中的点和图形的工具。

它由三个坐标轴(x、y、z)组成,每个坐标轴上都有正负方向。

通过坐标轴上的数值,我们可以精确地描述点在三维空间中的位置。

三维坐标系可以帮助我们解决许多与空间相关的问题。

例如,在三维坐标系中,我们可以表示一个立方体,球体或者任何其他三维图形。

通过在坐标系中绘制线段、平面和曲线,我们可以更好地理解和分析空间中的几何特征。

投影解析是一种方法,用于将三维空间中的图形投影到一个或多个二维平面上。

在投影解析中,我们通过计算每个三维点在投影平面上的坐标,来表示三维图形在二维平面上的形状和位置。

常用的投影解析方法有平行投影和透视投影。

平行投影是指将三维图形的每个点沿着平行于某个方向的直线投影到一个平面上。

这种投影方法常用于工程制图和计算机图形学中。

平行投影可以使图形保持等比例和直线保持平行,但通常会导致图形失去深度和透视感。

透视投影是指将三维图形的每个点投影到一个视点上,并延长直线到投影平面上。

透视投影模拟了人眼观察物体时的效果,可以使图形具有更真实的逼近感和立体感。

透视投影广泛应用于绘画、建筑设计和影视制作等领域。

除了常用的平行投影和透视投影,还有一些其他的投影解析方法,如轴测投影和斜轴测投影。

轴测投影将三维图形的每个点沿着轴线投影到一个或多个平行于坐标轴的平面上,常用于制图和设计。

斜轴测投影通过调整轴线的角度,可以使图形具有更立体的效果。

总结起来,三维坐标系和投影解析是几何学中重要的工具和方法。

它们可以帮助我们准确地描述和分析空间中的图形,提供更好的理解和可视化效果。

通过学习和应用这些知识,我们可以更深入地探索和研究三维空间的属性和特征。

无论是在科学研究、工程设计还是艺术创作中,三维坐标系和投影解析都具有重要的应用价值。

透视投影的原理范文

透视投影的原理范文

透视投影的原理范文
透视投影是一种用于在平面上绘制出三维物体的方法。

它通过模拟人眼观察物体时的视觉效果,使二维图像能够呈现出立体感。

视点是观察者在观察物体时的位置。

在透视投影中,我们通常假设视点位于无限远处的一个点,这样可以确保物体投影的比例保持不变。

视线是从视点延伸出来的一条直线,它连接视点和物体上的点。

视线贯穿物体,决定了物体在投影平面上的位置。

投影平面是一个垂直于视线的平面,它是观察者和物体之间的分隔界面。

投影平面上的点被用来构建物体的投影。

投影点是物体上的点在投影平面上的映射。

投影点位于视线与投影平面的交点上,它的位置取决于物体的位置、视点和投影平面的相对位置。

第一步是确定视点和投影平面的位置。

观察者通常位于投影平面的正前方,而投影平面可以位于观察者的任意位置。

第二步是确定物体在投影平面上的位置。

可以通过选择物体上的一些点,并将它们沿着视线延伸到投影平面上来确定物体在投影平面上的投影点。

第三步是连接投影点,绘制出物体在投影平面上的轮廓。

通过连接相邻的投影点,可以绘制出物体的轮廓线。

第四步是绘制物体的内部细节。

通过在投影平面上的轮廓线上添加适当的细节,可以增加物体的立体感。

总之,透视投影的原理是通过模拟人眼观察物体时的视觉效果,将三维物体绘制在平面上,使二维图像具有立体感。

它基于视点、视线、投影
平面和投影点的概念,并通过确定视点和投影平面的位置,绘制出物体在投影平面上的轮廓和细节。

透视投影的原理可以通过几何学和数学方法来解释和计算。

深度探讨透视投坐标系

深度探讨透视投坐标系

深度探讨透视投坐标系————————————————————————————————作者:————————————————————————————————日期:3d图形程序,就一定会做坐标变换。

而谈到坐标变换,就不得不提起投影变换,因为它是所有变换中最不容易弄懂的。

但有趣的是,各种关于透视变换的文档却依然是简之又简,甚至还有前后矛盾的地方。

看来如此这般光景,想要弄清楚它,非得自己动手不可了。

所以在下面的文章里,作者尝试推导一遍这个难缠的透视变换,然后把它套用到DX和PS2lib 的实例中去。

1.一般概念所谓透视投影变换,就是view 空间到project 空间的带透视性质的坐标变换步骤(这两个空间的定义可以参考其他文档和书籍)。

我们首先来考虑它应该具有那些变换性质。

很显然,它至少要保证我们在view空间中所有处于可视范围内的点通过变换之后,统统落在project空间的可视区域内。

好极了,我们就从这里着手——先来看看两个空间的可视区域。

由于是透视变换,view空间中的可见范围既是常说的视平截体(view frustum)。

如图,(图1)它就是由前后两个截面截成的这个棱台。

从view空间的x正半轴看过去是下图这个样子。

(图2)接下来是project空间的可视范围。

这个空间应当是处于你所见到的屏幕上。

实际上将屏幕表面视作project空间的xoy平面,再加一条垂直屏幕向里(或向外)的z轴(这取决于你的坐标系是左手系还是右手系),这样就构成了我们想要的坐标系。

好了,现在我们可以用视口(view port)的大小来描述这个可视范围了。

比如说全屏幕640*480的分辨率,原点在屏幕中心,那我们得到的可视区域为一个长方体,它如下图(a)所示。

(图3)但是,这样会带来一些设备相关性而分散我们的注意力,所以不妨先向DirectX文档学学,将project空间的可视范围定义为x∈[-1,1], y∈[-1,1], z∈[0,1]的一个立方体(上图b)。

透视投影的坐标转换与数学推导

透视投影的坐标转换与数学推导

透视投影的坐标转换与数学推导坐标转换管线在处理顶点数据时需要经过多个坐标系的转换。

1.通过model与view矩阵先将其变换到世界坐标系中,再将其变换到观察坐标系中。

从⽽⽅便后续处理。

2.经透射投影,将3D坐标映射到视平⾯,完成从3D到2D的变换,从⽽在后续可转换为在屏幕显⽰的2D坐标。

3.透射投影将顶点转换到了单位⽴⽅体中,变换到标准化设备坐标系。

4.⽽标准化设备坐标系中的物体常常会产⽣形变,为恢复物体原⽐例,将其进⾏视⼝变换,转换到最后显⽰的屏幕坐标系中。

以上为顶点在坐标转换中的⼤致流程,其中包含的很多细节部分会在下⾯结合透射投影进⾏详细分析。

逻辑分析图 1 图 2 图 3 图41.转换:我们输⼊在程序中的坐标都是3D,⽽最终显⽰在屏幕上的只能是2D。

所以可想⽽知,需要⼀个过程来将3D坐标映射到我们的2D视平⾯上。

只有这样我们才能通过显⽰器去观看。

2.观察:如上述图1,我们在观察⾯上所观察到的正是观察点E与物体实际坐标的连线在视平⾯P上的交点,其⽐例也可形成近⼤远⼩的现实感。

图2可直观的感受。

3.问题:根据学过的知识,显然这⼀交点可以很轻松的通过相似三⾓形来求得。

但问题是,我们需要获得多⼤范围内的物体?即限定观察空间。

不在观察空间内的物体⼜该怎样去处理?即裁剪。

4.观察空间:设定近平⾯,远平⾯,和观察⾓度,来得到⼀个视椎体(frustum)。

⽽我们也常常将近平⾯作为视平⾯。

如图3。

5.裁剪:裁剪掉视锥体以外的顶点,只保留以内的。

若直接对视锥体裁剪,因平⾯的倾斜也会导致计算量过⼤,所以采⽤将其映射到单位⽴⽅体中(CVV),此时都为垂直平⾯,并且在映射过程中,顶点与视锥体的关系不变,在视锥体外的仍然在视锥体外。

裁剪时只需判定⼀个坐标即可,⼤⼤减少了计算量。

如图4。

6.恢复:但是在映射到CVV的时候,顶点间的⽐例产⽣了变化,物体常常产⽣形变,所以在映射到屏幕坐标系时,必须对其进⾏⽐例恢复。

采⽤的⽅法是:将近平⾯(即视平⾯)的宽⾼⽐例⼀开始就调整为与视⼝宽⾼⽐相同。

投影坐标系

投影坐标系

投影坐标系在地图学和空间科学中,投影坐标系是一种用来将三维地球表面的曲面投影到一个平面上的方法。

它是一种重要的工具,用于将地球上复杂的曲面转换成简单的二维平面,以便于显示、分析和测量地理信息数据。

投影坐标系通常用来绘制地图,并在地理信息系统(GIS)中广泛应用。

背景地球是一个三维椭球体,但在实际应用中,人们往往需要将地球表面的地理数据表示在二维平面上,以便于我们理解和利用。

然而,由于地球是一个曲面,无法完美展开到平面上,因此就需要投影坐标系来进行转换。

常见的投影方法圆柱投影圆柱投影是最简单的一种投影方法,它将地球表面投影到一个圆柱体上,然后再展开到一个平面上。

这种投影方法对赤道附近的地区变形较小,但是在极地区域会出现明显的形变。

锥形投影锥形投影是将地球表面投影到一个圆锥体上,然后再展开到一个平面上。

与圆柱投影相比,锥形投影在中纬度地区有更好的性能,但是在赤道和极地区域同样会产生形变。

平面投影平面投影将地球表面投影到一个平面上,通常是通过一个点来完成投影。

平面投影在某一点附近形变较小,但是离这一点越远,形变就会越明显。

应用投影坐标系在地图制作、卫星导航、气象预报、城市规划等领域都有广泛的应用。

例如,我们常见的世界地图就是使用投影坐标系绘制的,通过不同的投影方法,可以呈现出不同地区的地理信息。

在日常生活中,我们也会经常接触到使用投影坐标系的产品,比如手机导航软件、在线地图服务等。

这些产品通过将地图信息转换成平面坐标系,使得我们能够更方便地获取地理位置信息。

总结投影坐标系是地图制作和空间科学中重要的工具,它通过将地球表面投影到平面上,使得我们能够更方便地表示、分析和利用地理信息数据。

不同的投影方法有不同的适用范围和性能特点,根据具体的需求选择合适的投影方法非常重要。

通过对投影坐标系的深入理解,我们可以更好地理解地球表面的形状和地理信息数据的空间关系。

在未来,随着技术的不断发展,投影坐标系的研究和应用将更加广泛和深入,为地图制作、导航定位等领域带来更多的创新和发展机会。

正交投影与透视投影的性质分析

正交投影与透视投影的性质分析

正交投影与透视投影的性质分析正交投影与透视投影是我们在日常生活中常常接触到的两种投影方式。

它们在绘画、建筑设计、计算机图形学等领域中起着重要的作用。

本文将分析正交投影与透视投影的性质,探讨它们在不同领域中的应用。

首先,我们来了解一下正交投影。

正交投影是一种保持物体形状和大小不变的投影方式。

在正交投影中,光线垂直于投影平面,物体与投影平面之间的夹角为90度。

由于光线的直线传播特性,物体在投影平面上呈现出等比例缩小的效果。

正交投影常用于工程制图、平面设计等领域。

正交投影具有以下几个性质。

首先,正交投影保持了物体的形状和大小,因此可以准确地表达物体的尺寸和比例关系。

这使得正交投影在建筑设计、机械制图等领域中得到广泛应用。

其次,正交投影的投影线是平行的,这使得投影结果更加清晰和易于理解。

此外,正交投影还具有投影线长度相等的特点,这有助于准确测量和计算。

接下来,我们来探讨透视投影。

透视投影是一种模拟人眼视觉效果的投影方式。

在透视投影中,光线从物体上的某一点射向观察者的眼睛。

由于光线的折射和散射,物体在投影平面上呈现出大小和形状的变化。

透视投影常用于绘画、摄影等艺术领域。

透视投影具有以下几个性质。

首先,透视投影能够真实地模拟物体在空间中的位置和距离关系。

这使得透视投影在绘画中能够呈现出立体感和逼真的效果。

其次,透视投影的投影结果呈现出近大远小的效果,这与人眼的视觉感知相符合。

此外,透视投影还能够通过调整视点的位置和角度来改变投影效果,增加艺术创造性。

正交投影和透视投影在不同领域中有着各自的应用。

在建筑设计中,正交投影常用于制作平面图和立面图,以准确表达建筑物的尺寸和比例关系。

而透视投影则常用于制作透视图,以展示建筑物的立体感和空间布局。

在绘画领域,正交投影和透视投影也各有用武之地。

正交投影常用于绘制技术图,以准确表达物体的形状和结构。

而透视投影则常用于绘制逼真的景物和人物,以营造出立体感和深度感。

在计算机图形学中,正交投影和透视投影被广泛应用于三维建模和渲染。

透视投影矩阵深入原理剖析(转载)

透视投影矩阵深入原理剖析(转载)

透视投影矩阵深入原理剖析(转载)透视投影是3D固定流水线的重要组成部分,是将相机空间中的点从视锥体(frustum)变换到规则观察体(Canonical View Volume)中,待裁剪完毕后进行透视除法的行为。

在算法中它是通过透视矩阵乘法和透视除法两步完成的。

透视投影变换是令很多刚刚进入3D图形领域的开发人员感到迷惑乃至神秘的一个图形技术。

其中的理解困难在于步骤繁琐,对一些基础知识过分依赖,一旦对它们中的任何地方感到陌生,立刻导致理解停止不前。

没错,主流的3D APIs如OpenGL、D3D的确把具体的透视投影细节封装起来,比如gluPerspective(…)就可以根据输入生成一个透视投影矩阵。

而且在大多数情况下不需要了解具体的内幕算法也可以完成任务。

但是你不觉得,如果想要成为一个职业的图形程序员或游戏开发者,就应该真正降伏透视投影这个家伙么?我们先从必需的基础知识着手,一步一步深入下去(这些知识在很多地方可以单独找到,但我从来没有在同一个地方全部找到,但是你现在找到了J)。

我们首先介绍两个必须掌握的知识。

有了它们,我们才不至于在理解透视投影变换的过程中迷失方向(这里会使用到向量几何、矩阵的部分知识,如果你对此不是很熟悉,可以参考《向量几何在游戏编程中的使用》系列文章)。

齐次坐标表示透视投影变换是在齐次坐标下进行的,而齐次坐标本身就是一个令人迷惑的概念,这里我们先把它理解清楚。

根据《向量几何在游戏编程中的使用6》中关于基的概念。

对于一个向量v以及基oabc,可以找到一组坐标(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. 地理坐标系统(Geographic Coordinate System,GCS)地理坐标系统使用经度和纬度来表示地球上的位置,通常基于一个椭球体模型。

常见的地理坐标系统有WGS84(世界大地测量系统)和北京54坐标系等。

2. 投影坐标系统(Projected Coordinate System,PCS)投影坐标系统是在地理坐标系统的基础上,通过投影方法将地球表面投影到平面上。

常见的投影坐标系统有UTM(通用横轴墨卡托投影)和高斯-克吕格投影等。

3. 局部坐标系统(Local Coordinate System)局部坐标系统是在地理坐标系统或投影坐标系统的基础上,通过局部大地测量来建立的坐标系统。

常见的局部坐标系统有城市坐标系统和工程坐标系统等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3d图形程序,就一定会做坐标变换。

而谈到坐标变换,就不得不提起投影变换,因为它是所有变换中最不容易弄懂的。

但有趣的是,各种关于透视变换的文档却依然是简之又简,甚至还有前后矛盾的地方。

看来如此这般光景,想要弄清楚它,非得自己动手不可了。

所以在下面的文章里,作者尝试推导一遍这个难缠的透视变换,然后把它套用到DX和PS2lib 的实例中去。

1.一般概念所谓透视投影变换,就是view 空间到project 空间的带透视性质的坐标变换步骤(这两个空间的定义可以参考其他文档和书籍)。

我们首先来考虑它应该具有那些变换性质。

很显然,它至少要保证我们在view空间中所有处于可视范围内的点通过变换之后,统统落在project空间的可视区域内。

好极了,我们就从这里着手——先来看看两个空间的可视区域。

由于是透视变换,view空间中的可见范围既是常说的视平截体(view frustum)。

如图,(图1)它就是由前后两个截面截成的这个棱台。

从view空间的x正半轴看过去是下图这个样子。

(图2)接下来是project空间的可视范围。

这个空间应当是处于你所见到的屏幕上。

实际上将屏幕表面视作project空间的xoy平面,再加一条垂直屏幕向里(或向外)的z轴(这取决于你的坐标系是左手系还是右手系),这样就构成了我们想要的坐标系。

好了,现在我们可以用视口(view port)的大小来描述这个可视范围了。

比如说全屏幕640*480的分辨率,原点在屏幕中心,那我们得到的可视区域为一个长方体,它如下图(a)所示。

(图3)但是,这样会带来一些设备相关性而分散我们的注意力,所以不妨先向DirectX文档学学,将project空间的可视范围定义为x∈[-1,1], y∈[-1,1], z∈[0,1]的一个立方体(上图b)。

这实际上可看作一个中间坐标系,从这个坐标系到上面我们由视口得出的坐标系,只需要对三个轴向做一些放缩和平移操作即可。

另外,这个project坐标系对clip操作来说,也是比较方便的。

2.推导过程先从project空间的x正半轴看看我们的变换目标。

(图4)这个区域的上下边界为y’=±1, 而图2中的上下边界为y = ±z * tan(fov/2),要实现图2到图4的变换,我们有y’= y * cot(fov/2) / z。

这下完了,这是一个非线性变换,怎么用矩阵计算来完成呢?还好我们有w这个分量。

注意到我们在做投影变换之前所进行的两次坐标变换——world变换和view变换,他们只是一系列旋转平移和缩放变换的叠加。

仔细观察这些变换矩阵,你会发现它们其实不会影响向量的w分量。

换句话说,只要不是故意,一个w分量等于1的向量,再来到投影变换之前他的w分量仍旧等于1。

好的,接下来我们让w’= w*z, 新的w就记录下了view空间中的z值。

同时在y分量上我们退而求其次,只要做到y’= y * cot(fov/2)。

那么,在做完线性变换之后,我们再用向量的y除以w,就得到了我们想要的最终的y值。

x分量的变换可以如法炮制,只是fov要换一换。

事实上,很多用以生成投影变换矩阵的函数都使用了aspect这个参数。

这个参数给出了视平截体截面的纵横比(这个比值应与view port的纵横比相等,否则变换结果会失真)。

如果我们按照惯例,定义aspect = size of X / size of Y。

那么我们就可以继续使用同一个fov而给出x分量的变换规则:x’= x * cot(fov/2) / aspect。

现在只剩下z分量了。

我们所渴望的变换应将z = Znear 变换到z = 0,将z = Zfar变换到z = 1。

这个很简单,但是等等,x, y最后还要除以w,你z怎能例外。

既然也要除,那么z = Zfar 就不能映射到z = 1了。

唔,先映射到z = Zfar试试。

于是,有z’= Zfar*(z-Znear)/(Zfar –Znear)。

接下来,看看z’/z的性质。

令f(z) = z’/z = Zfar*(z-Znear)/(z*(Zfar –Znear))。

则f’(z) = Zfar * Znear / ( z^2 * (Zfar –Znear )), 显而易见f’(z) > 0。

所以除了z = 0是一个奇点,函数f(z)是一个单调增的函数。

因此,当Znear≤z≤Zfar时,f(Znear)≤f(z)≤f(Zfar),即0≤f(z)≤1。

至此,我们可以给出投影变换的表达式了。

x’= x*cot(fov/2)/aspecty’= y*cot(fov/2)z’= z*Zfar / ( Zfar –Znear ) –Zfar*Znear / ( Zfar –Znear )w’= z以矩阵表示,则得到变换矩阵如下,cot(fov/2)/aspect 0 0 00 cot(fov/2) 0 00 0 Zfar/(Zfar-Znear) 10 0 -Zfar*Znear/(Zfar-Znear) 0。

做完线性变换之后,再进行所谓的“归一化”,即用w分量去除结果向量。

现在我们考虑一下这个变换对全view空间的点的作用。

首先是x和y分量,明了地,当z>0时,一切都如我们所愿;当z<0时,x和y的符号在变换前后发生了变化,从图象上来说,view 空间中处于camera后面的图形经过变换之后上下颠倒,左右交换;当z= 0 时,我们得到的结果是无穷大。

这个结果在实际中是没有意义的,以后我们得想办法弄掉它。

再来看z,仍旧拿我们上面定义的f(z)函数来看,我们已经知道当z≥Zfar时,f(z)≥1;同时当z→+∞,f(z)→Zfar/(Zfar-Znear);当z→+0时,f(z)→-∞; z→-0时,f(z)→+∞; z→∞时,f(z)→Zfar/(Zfar-Znear).由此我们画出f(z)的图像。

(图5)由此图可以看出当z≤0时,如果我们仍旧使用f(z)进行绘制会产生错误。

所以我们会想需要clip 操作——只要这个三角形有任意一个顶点经过变换后z值落在[Zfar/(Zfar-Znear), +∞]区间中,我们就毫不怜悯地抛弃她——因为无论如何,这个结果是错的。

那么万一有三角形在view空间内横跨了Znear到0的范围,按我们想应该是画不出来了。

但是回想一下我们所看见过的DirectX 程序,似乎从未看到过这种情况。

有点奇怪,但是不得不先放放,稍后再说。

3.到DirectX中求证在DirectX中拿一个用fov生成投影矩阵的函数来看。

D3DXMATRIX* D3DXMatrixPerspectiveFovLH( D3DXMATRIX* pOut, FLOAT fovy, FLOAT Aspect,FLOAT zn, FLOAT zf)这个函数恰好使用了我们刚才推导所使用的几个参数,经过一些数据的代入计算之后,我们就会发现它所产生的矩阵就是我们计算出来的。

看来,DirectX的思路和我们是一致的。

好的,一个问题解决了,但一个新的问题接着产生——DirectX是怎么做clip的?我不知道,而且看样子现在也知道不了,只能期待牛人相助或者是碰到一本好书了。

4.研究ps2lib的投影变换其实投影变换都是一回事,但是PS2lib的函数怎么有点不一样呢?仔细看看,原来我们的思路是先做“归一化”,然后再做view port的放缩和平移,而PS2不是这样——它把“归一化”放在最后。

接下来,我们就按这个顺序试试。

先看缩放操作,把它和除z交换顺序很方便,直接换便是了。

于是我们记view port 的宽度为Vw,高度为Vh, Z缓存的最大值为Zmax, 最小值为Zmin则有x’= x * cot(fov/2)/aspect*(Vw/2)y’= y * cot(fov/2)*(Vh/2)z’= Zfar(z-Znear)/(Zfar-Znear) * (Zmax-Zmin);w’= z再看平移部分,既然是要平移后再除,则必须平移原来的z倍,于是我们又记view port中心坐标为(Cx, Cy),就有x’’= x’+ z * Cxy’’= y’+ z * Cyz’’= z’+ z * Zminw’’= w好的,我们看看cot(fov/2)等于什么,从图2看,实际上它就是D/(Vh/2),那么cot(fov/2)/aspect实际上就是D/(Vw/2)。

但是,ps2在这上面耍了个小花招,它在view空间中的view port和project空间的view port可以不相等。

最明显的一点是,它在view空间中的view port的高度为480,但实际上它的输出的y向分辨率只有224。

也就是说,ps2想要输出纵横比等于电视机的图像,就必须在y向上再加一个缩放。

这个缩放在我们的变换中体现在哪呢?就在y’= D/(Vh/2)* (Vhscr/2)中,注意到两个Vh不相等(project空间中的Vh记成Vhscr),两个值一运算就得到x’= D*(224/480) = 0.466667D。

这个0.4666667就是ps2lib函数参数ay的由来。

同理,我们亦可得知ax一般应取值为1。

那么,实际上ps2lib函数的scrz,ax, ay三个参数的作用等同于DirectX的象形函数的fov和aspect,在确定的规则下,他们可以相互转换,得到性质完全相同的透视变换。

至于这个规则,这里就不给出了。

转回正题,有了上面的讨论,我们就可以展开我们的变换表达式如下,x’’= x * scrz * ax + z * Cxy’’= x * scrz * ay + z * Cyz’’= z * (Zfar*Zmax–Znear*Zmin)/(Zfar –Znear)–Zfar*Znear*(Zmax-Zmin)/(Zfar-Znear)w’’= zz分量好像还有点不一样,注意到一般ps2程序在z buffer的操作为greater&equal,而DirectX 的操作为less&equal,就是说,z方向得做些变动——得把z=Znear映射到z’’= Zmax,z=Zfar映射到z’’=Zmin。

说变就变,我们马上有z’= Zfar(z-Znear)/(Zfar-Znear)*(Zmin-Zmax)z’’= z’+Zmax再次展开,得到z’’= z * (Zfar*Zmin–Znear*Zmax)/(Zfar –Znear )+ Zfar*Znear*(Zmax-Zmin)/(Zfar-Znear)好了,用矩阵把这个变换写出来,scrz*ax 0 0 00 scrz*ay 0 0Cx Cy (Zfar*Zmin–Znear*Zmax)/(Zfar –Znear ) 10 0 Zfar*Znear*(Zmax-Zmin)/(Zfar-Znear) 0,这下就完全一样了。

相关文档
最新文档