透视投影模型

透视投影模型
透视投影模型

摄像机透视投影模型

一. 定义

在计算机视觉中,利用所拍摄的图像来计算出三维空间中被测物体几何参数。图像是空间物体通过成像系统在像平面上的反映,即空间物体在像平面上的投影。图像上每一个像素点的灰度反映了空间物体表面某点的反射光的强度,而该点在图像上的位置则与空间物体表面对应点的几何位置有关。这些位置的相互关系,由摄像机成像系统的几何投影模型所决定。计算机视觉研究中,三维空间中的物体到像平面的投影关系即为成像模型,理想的投影成像模型是光学中的中心投影,也称为针孔模型。

针孔模型假设物体表面的反射光都经过一个针孔而投影到像平面上,即满足光的直线传播条件。

针孔模型主要有光心(投影中心)、成像面和光轴组成。

二. 成像原理

1 ) . 透镜成像原理图

一般地由于n>>f ,于是 m ≈f 这时可以将透镜成像模型近似地用小孔模型代替

n

m f 111

+=f =O B 为透镜的焦距

m =O C 为像距 n =A O 为物距

2 ) . 小孔成像模型

3 ) . 中心透视投影模型

c

c u z x f

x -=c

c u z y f

y -=写成齐次坐标形式

??

???

?

????????????

????--=??????????101

00000001c

c c u u c z y x f f y x z 写成齐次坐标形式

为c c u z x f

x =c

c u z y f

y =??

???

?

????????????

????=??????????101

00000001c

c c u u

c z y x f f y x z

三. 光学成像过程

1 ) . 坐标系

1、世界坐标系:

2、摄像机坐标系:

3、图像坐标系: 2 ) . 线性摄像机成像

这是忽略畸变的线性成像模型

w

w w Z Y X ,,c c c Z Y X ,,[]v u ,[]

y x ,

3 ) . 图像数字化

O 1 在 u , v 中

的坐标为(u 0,v 0),

像素在轴上的物

理尺寸为d x ,d y .

θ

θsin cot 00dy y v v dx

y dx

x u u d

d d +

=-+=写

成齐次坐标形式为????

?

??????????????

?-=??????????110

0sin /0cot 100d

d v u u

y x v f u f f v u θθ其中 dy

f dx

f v u 1,1=

=

高斯投影坐标正反算VB程序

高斯投影坐标正反算 V B程序 文件编码(GHTU-UITID-GGBKT-POIU-WUUI-8968)

高斯投影坐标正反算 学院: 班级: 学号: 姓名: 课程名称: 指导老师:

实验目的: 1.了解高斯投影坐标正反算的基本思想; 2.学会编写高斯正反算程序,加深了解。 实验原理: 高斯投影正算公式中应满足的三个条件: 1. 中央子午线投影后为直线; 2. 中央子午线投影后长度不变; 3. 投影具有正形性质,即正形投影条件。 高斯投影反算公式中应满足的三个条件: 1. x坐标轴投影成中央子午线,是投影的对称轴; 2. x轴上的长度投影保持不变; 3. 正形投影条件,即高斯面上的角度投影到椭球面上后角度没有 变形,仍然相等。 操作工具: 计算机中的 代码: Dim a As Double, b As Double, x As Double, y As Double, y_#

Dim l_ As Double, b_ As Double, a0#, a2#, a4#, a6#, a8#, m2#, m4#, m6#, m8#, m0#, l0#, e#, e1# Dim deg1 As Double, min1 As Double, sec1 As Double, deg2 As Double, min2 As Double, sec2 As Double Private Sub Command1_Click() Dim x_ As Double, t#, eta#, N#, W#, k1#, k2#, ik1%, ik2%, dh% deg1 = Val min1 = Val sec1 = Val deg2 = Val min2 = Val sec2 = Val l_ = (deg1 * 3600 + min1 * 60 + sec1) / 206265 b_ = (deg2 * 3600 + min2 * 60 + sec2) / 206265 dh = Val k1 = ((l_ * 180 / + 3) / 6) k2 = (l_ * 180 / / 3) ik1 = Round(k1, 0) ik2 = Round(k2, 0) If dh = 6 Then l0 = 6 * ik1 - 3 Else

高斯投影正反算公式 新

高斯投影坐标正反算 一、相关概念 大地坐标系由大地基准面和地图投影确定,由地图投影到特定椭圆柱面后在南北两极剪开展开而成,是对地球表面的逼近,各国或地区有各自的大地基准面,我国目前主要采用的基准面为:基准面,为GPS基准面,17届国际大地测量协会上推荐,椭圆柱长半轴a=6378137m,短半轴b=; 2.西安80坐标系,1975年国际大地测量协会上推荐,椭圆柱长半轴a=6378140m,短半轴b=; 3.北京54坐标系,参照前苏联克拉索夫斯基椭球体建立,椭圆柱长半轴a=6378245m, 短半轴b=; 通常所说的高斯投影有三种,即投影后: a)角度不变(正角投影),投影后经线和纬线仍然垂直; b)长度不变; c)面积不变; 大地坐标一般采用高斯正角投影,即在地球球心放一点光源,地图投影到过与中央经线相切的椭圆柱面上而成;可分带投影,按中央经线经度值分带,有每6度一带或每3度一带两种(起始带中央经线经度为均为3度,即:6度带1带位置0-6度,3度带1带位置度),即所谓的高斯-克吕格投影。

图表11高斯投影和分带 地球某点经度(L)为过该点和地球自转轴的半圆与子午线所在半圆夹角,东半球为东经,西半球为西经;地球某点纬度(B)为所在水平面法线与赤道圆面的线面角。 正算是已知大地坐标(L,B),求解高斯平面坐标(X,Y),为确保Y值为正,Y增加500公里;反算则是由高斯平面坐标(X,Y)求解大地坐标(L,B)。 二、计算模型: 地球椭球面由椭圆绕地球自转轴旋转180度而成。 图表 1 椭圆 椭圆长半轴a,椭圆短半轴b, 椭圆方程:

(1) 图表2椭球面 椭球面方程: y2 a2+ x2 b2 + z2 a2 =1 /*************************************** 与网上充斥的将函数关系先展开为泰勒级数,再依据投影规则确定各参数不同,本文直接依据空间立体三角函数关系得出结果。 *****/ (一)正算 由图表1,

solidworks二维转三维

二维转三维 传统的机械绘图,是想象出零部件的立体形状,然后对立体模型从各个方向上投影,生成各投影面上的二维视图,加以标注尺寸等注释,生成基本的二维的图纸。如下图。 二维的图纸 但是二维图纸的缺点也是明显的,就是略复杂点的就显得不直观,需要人为的正确想象。如果有三维的数模展现,并且能旋转、缩放,就更加直观易懂了。 现在有了三维CAD软件SolidWorks的辅助,实现2D—3D转换,生成一般的三维数模是比较简单的事。对于从AutoCAD到三维软件过渡的设计者来说,SolidWorks的这个功能容易上手,可以帮助你轻松完成从AutoCAD到三维CAD软件的跨越。 从2D-3D的跨越可谓是传统机械绘图的逆向过程(类似图1,但是由投影视图生成立体模型)。输入的2D草图可以是AutoCAD的DWG格式图纸,也可是SolidWorks工程图,或者是SolidWorks的草图。 本文讨论如何从AutoCAD的图纸输入到SolidWorks中实现2D—3D的转换。 原理:很多三维CAD/CAM软件的立体模型的建立,是直接或间接的以草绘(或者称草图)为基础的,这点尤以PRO/E为甚。而三维软件的草绘(草图),与AutoCAD等的二维绘图大同小异(不过不同的就是前者有了参数化的技术)。 在SolidWorks中,就是将AutoCAD的图纸输入,转化为SolidWorks的草图,从而建立三维数模。 基本转换流程: 1.在SolidWorks中,打开AutoCAD格式的文件准备输入。 2.将*DWG,DXF文件输入成SolidWorks的草图。 3.将草图中的各个视图转为前视、上视等。草图会折叠到合适的视角。 4.对齐草图。 5.拉伸基体特征。 6.切除或拉伸其它特征。 在这个转换过程中,主要用2D到3D工具栏,便于将2D图转换到3D 数模。

投影转换公式

常用地图投影转换公式 青岛海洋地质研究所 戴勤奋 (Email: qddqinfen@cgs.gov.cn)   最近几乎天天都有Email跟我要这样、那样的坐标系转换或投影转换公式,或问我编的投影程序公式是哪来的,有没有专门介绍投影公式的书等等,让我越来越觉得有必要就此方面写点东西,一来我自己总结一下,二来对那些我没有回Email的同行也有个交代,因为那些公式实在太难敲了。我在“海洋地质制图常用地图投影系列小程序”( http://www.gissky.net)中用的公式来自我原来的积累,同时参考了POSC(http://www.posc.org ,国际石油技术软件开放公司)的文献“Coordinate Conversions and Transformation including Formulas”,该文献由EPSG(http://www.epsg.org ,欧洲石油勘探组)编写,比较全面地介绍了各种地图投影与坐标系的转换方法及计算公式,而且最新更新到了2004年,是我目前看到的最全面、最新的相关文档了,只不过是英文的,我正在打算将它们翻成中文,到时与大家共享。  投影计算公式往往表达方式不止一种,有时很难分辨谁对谁错,我只把“墨卡托投影”、“高斯-克吕格投影”、“UTM投影”、“兰勃特等角投影”(1:100万地形图规范中称作正轴等角圆锥投影,GB/T 14512-93)的正反转换公式列出,因为我基本能保证这些公式的正确性。 “海洋地质制图常用地图投影系列小程序”( http://www.gissky.net)已升级,原下载者请注意下载更新版本。    1. 约定    本文中所列的转换公式都基于椭球体  a -- 椭球体长半轴  b -- 椭球体短半轴  f -- 扁率 ()/a b a ?  e -- 第一偏心率 e = e’ -- 第二偏心率 'e =N -- 卯酉圈曲率半径 2 N =R -- 子午圈曲率半径 2223/2(1)(1sin ) a e R e B ?=?? B -- 纬度,L -- 经度,单位弧度(RAD)   N X -- 纵直角坐标, E Y -- 横直角坐标,单位米(M)

高斯投影正反算

class Gauss { #region 高斯投影正反算 ///

/// 从大地坐标到平面坐标的高斯正算 /// /// 默认的是使用假定坐标的六度带投影 /// /// 大地纬度 /// 大地经度 /// 平面纵轴 /// 平面横轴 /// 参考椭球长半轴 /// 参考椭球扁率倒数 public static void BL_xy(double B, double L, out double x, out double y, double a, double f) { BL_xy(B, L, out x, out y, a, f, 6, true); } /// /// 从大地坐标到平面坐标的高斯正算 /// /// 默认的是使用假定坐标 /// /// 大地纬度 /// 大地经度 /// 平面纵轴 /// 平面横轴 /// 参考椭球长半轴 /// 参考椭球扁率倒数 /// 投影分带的带宽 public static void BL_xy(double B, double L, out double x, out double y, double a, double f, int beltWidth) { BL_xy(B, L, out x, out y, a, f, beltWidth, true); } /// /// 从大地坐标到平面坐标的高斯正算 /// /// 默认的是六度带投影 /// /// 大地纬度 /// 大地经度 /// 平面纵轴

投影计算公式

投影计算公式往往表达方式不止一种,有时很难分辨谁对谁错,我只把“墨卡托投影”、“高斯-克吕格投影”、“UTM投影”、“兰勃特等角投影” (1:100万地形图规范中称作正轴等角圆锥投影,GB/T 14512-93)的正反转换公式列出,因为我基本能保证这些公式的正确性。 “海洋地质制图常用地图投影系列小程序已升级,原下载者请注意下载更新版本。 1.约定 本文中所列的转换公式都基于椭球体 a -- 椭球体长半轴 b -- 椭球体短半轴 f -- 扁率 e -- 第一偏心率 e’ -- 第二偏心率 N -- 卯酉圈曲率半径 R -- 子午圈曲率半径 B -- 纬度,L -- 经度,单位弧度(RAD) -- 纵直角坐标, -- 横直角坐标,单位米(M) 2.椭球体参数 我国常用的3个椭球体参数如下(源自“全球定位系统测量规范 GB/T 18314-2001”):

需要说明的是,在“海洋地质制图常用地图投影系列小程序”中,程序界面上的所谓“北京1954“西安1980”及“WGS 84”在实际计算中只涉及了相应的椭球体参数。 3.墨卡托(Mercator)投影 3.1 墨卡托投影简介 墨卡托(Mercator)投影,是一种"等角正切圆柱投影”,荷兰地图学家墨卡托(Gerhardus Mercator 1512-1594)在1569年拟定, 假设地球被围在一中空的圆柱里,其标准纬线与圆柱相切接触,然后再假想地球中心有一盏灯,把球面上的图形投影到圆柱体上,再把圆柱体展开,这就是一幅选定标准纬线上的“墨卡托投影”绘制出的地图。 墨卡托投影没有角度变形,由每一点向各方向的长度比相等,它的经纬线都是平行直线,且相交成直角,经线间隔相等,纬线间隔从标准纬线向两极逐渐增大。墨卡托投影的地图上长度和面积变形明显,但标准纬线无变形,从标准纬线向两极变形逐渐增大,但因为它具有各个方向均等扩大的特性,保持了方向和相互位置关系的正确。 在地图上保持方向和角度的正确是墨卡托投影的优点,墨卡托投影地图常用作航海图和航空图,如果循着墨卡托投影图上两点间的直线航行,方向不变可以一直到达目的地,因此它对船舰在航行中定位、确定航向都具有有利条件,给航海者带来很大方便。 “海底地形图编绘规范”(GB/T 17834-1999,海军航保部起草)中规定1:25万及更小比例尺的海图采用墨卡托投影,其中基本比例尺海底地形图(1:5万,

高斯投影正反算编程(可编辑修改word版)

高斯投影正反算编程一.高斯投影正反算基本公式(1)高斯正算基本公式 (2)高斯反算基本公式

以上主要通过大地测量学基础课程得到,这不进行详细的推导,只是列出基本公式指导编程的进行。 二.编程的基本方法和流程图 (1)编程的基本方法 高斯投影正反算基本上运用了所有的编程基本语句,本文中是利用C++语言进行基本的设计。高斯正算中对椭球参数和带宽的选择主要运用了选择语句。而高斯反算中除了选择语句的应用,在利用迭代算法求底点纬度还应用了循环语句。编程中还应特别注意相关的度分秒和弧度之间的相互转换,这是极其重要的。 (2)相关流程图 1)正算

选择带宽 3/6 度带 计算带号 输入大地坐标 B ,L 和经差 L0 6 度带 3 度带 选择椭球参数 计算带号 计算弧长 计算平面坐标 x,y 打印 x,y 开始 计算平面坐标 x,y 计算弧长 打印 x,y

开始 输入自然值坐标x,y 和经差L0 选择椭球参数 利用迭代算法 求解底点纬度 利用公式计算B 和L 打印B 和L 2)反算

三.编程的相关代码(1)正算 # include "stdio.h" # include "stdlib.h" # include "math.h" # include "assert.h" #define pi (4*atan(1.0)) int i; struct jin { double B; double L; double L0; }; struct jin g[100]; main(int argc, double *argv[]) { FILE *r=fopen("a.txt","r"); assert(r!=NULL); FILE *w=fopen("b.txt","w"); assert(r!=NULL); int i=0;

高斯投影计算的实用公式

§8.4高斯投影计算的实用公式 1子午线弧长计算公式 改写并扩充(7-65)(7-64)两式 )8sin()6sin()4sin()2sin(86420B a B a B a B a B a X ++++= )16384 17640512525646043)(1(21864222e e e e e a a +++--= )16384 88205122106415)(1(4186424e e e e a a ++-= )16384 252051235)(1(618626e e e a a +--= )16384 315)(1(81828e e a a -= 2正算公式(8-67)(8-81) 00/cos ρBl p = 2/)12/)30/))58(61())49(5((1(22222222p p p t t t Nt X x -++++-++=ηηp p p t t t N y )6/)20/)14)5818(5()1((1(22222222ηηη+--+++-+= )3/)5/)2())23(1((1(sin 22222 00p p t Bl r -++++=ηη 式中: B t tan = 22)cos (B e '=η 221η+=V V c N /= 0000L L l -= 21a/e c -= 3 底点纬度公式 00Xq B = (单位:弧度) ))) sin (sin (sin )(2sin(028*********B q q B q B q B B B f ++++=(单位:弧度) 式中: )16384110255123506445431)(1(864220e e e e e a a ++++-=

转换公式

1.约定 本文中所列的转换公式都基于椭球体 a -- 椭球体长半轴 b -- 椭球体短半轴 f -- 扁率 e -- 第一偏心率 e’ -- 第二偏心率 N -- 卯酉圈曲率半径 R -- 子午圈曲率半径 B -- 纬度,L -- 经度,单位弧度(RAD) -- 纵直角坐标, -- 横直角坐标,单位米(M) 2.椭球体参数 我国常用的3个椭球体参数如下(源自“全球定位系统测量规范GB/T 18314-2001”): 需要说明的是,在“海洋地质制图常用地图投影系列小程序”中,程序界面上的所谓“北京19 54“西安1980”及“WGS 84”在实际计算中只涉及了相应的椭球体参数。

3.墨卡托(Mercator)投影 3.1 墨卡托投影简介 墨卡托(Mercator)投影,是一种"等角正切圆柱投影”,荷兰地图学家墨卡托(Gerhardus Mer cator 1512-1594)在1569年拟定, 假设地球被围在一中空的圆柱里,其标准纬线与圆柱相切接触,然后再假想地球中心有一盏灯,把球面上的图形投影到圆柱体上,再把圆柱体展开,这就是一幅选定标准纬线上的“墨卡托投影”绘制出的地图。 墨卡托投影没有角度变形,由每一点向各方向的长度比相等,它的经纬线都是平行直线,且相交成直角,经线间隔相等,纬线间隔从标准纬线向两极逐渐增大。墨卡托投影的地图上长度和面积变形明显,但标准纬线无变形,从标准纬线向两极变形逐渐增大,但因为它具有各个方向均等扩大的特性,保持了方向和相互位置关系的正确。 在地图上保持方向和角度的正确是墨卡托投影的优点,墨卡托投影地图常用作航海图和航空图,如果循着墨卡托投影图上两点间的直线航行,方向不变可以一直到达目的地,因此它对船舰在航行中定位、确定航向都具有有利条件,给航海者带来很大方便。 “海底地形图编绘规范”(GB/T 17834-1999,海军航保部起草)中规定1:25万及更小比例尺的海图采用墨卡托投影,其中基本比例尺海底地形图(1:5万,1:25万,1:100万)采用统一基准纬线30°,非基本比例尺图以制图区域中纬为基准纬线。基准纬线取至整度或整分。 3.2 墨卡托投影坐标系 取零子午线或自定义原点经线(L0)与赤道交点的投影为原点,零子午线或自定义原点经线的投影为纵坐标X轴,赤道的投影为横坐标Y轴,构成墨卡托平面直角坐标系。 3.3 墨卡托投影正反解公式 墨卡托投影正解公式:(B,L)→(X,Y),标准纬度B0,原点纬度0,原点经度L0 墨卡托投影反解公式:(X,Y) →(B,L),标准纬度B0,原点纬度0,原点经度L0

高斯投影坐标正反算VB程序

高斯投影坐标正反算 学院: 班级: 学号: 姓名: 课程名称: 指导老师:

实验目的: 1.了解高斯投影坐标正反算的基本思想; 2.学会编写高斯正反算程序,加深了解。 实验原理: 高斯投影正算公式中应满足的三个条件: 1. 中央子午线投影后为直线; 2. 中央子午线投影后长度不变; 3. 投影具有正形性质,即正形投影条件。 高斯投影反算公式中应满足的三个条件: 1. x坐标轴投影成中央子午线,是投影的对称轴; 2. x轴上的长度投影保持不变; 3. 正形投影条件,即高斯面上的角度投影到椭球面上后角度没 有变形,仍然相等。 操作工具: 计算机中的VB6.0 代码: Dim a As Double, b As Double, x As Double, y As Double, y_# Dim l_ As Double, b_ As Double, a0#, a2#, a4#, a6#, a8#, m2#, m4#,

m6#, m8#, m0#, l0#, e#, e1# Dim deg1 As Double, min1 As Double, sec1 As Double, deg2 As Double, min2 As Double, sec2 As Double Private Sub Command1_Click() Dim x_ As Double, t#, eta#, N#, W#, k1#, k2#, ik1%, ik2%, dh% deg1 = Val(Text1.Text) min1 = Val(Text2.Text) sec1 = Val(Text3.Text) deg2 = Val(Text4.Text) min2 = Val(Text5.Text) sec2 = Val(Text6.Text) l_ = (deg1 * 3600 + min1 * 60 + sec1) / 206265 b_ = (deg2 * 3600 + min2 * 60 + sec2) / 206265 dh = Val(Text9.Text) k1 = ((l_ * 180 / 3.14159 + 3) / 6) k2 = (l_ * 180 / 3.14159 / 3) ik1 = Round(k1, 0) ik2 = Round(k2, 0) If dh = 6 Then l0 = 6 * ik1 - 3 Else If dh = 3 Then

地理坐标到投影坐标转化方法理论

地理坐标系统和投影变换基础知识 一、理论知识和背景介绍 GIS处理的是空间信息,而所有对空间信息的量算都是基于某个坐标系统的,因此GIS中坐标系统的定义是GIS系统的基础,正确理解GIS中的坐标系统就变得尤为重要。坐标系统又可分为两大类:地理坐标系统、投影坐标系统。本文就对坐标系和投影及其在ArcGIS桌面产品中的应用做一些简单的论述。 GIS中的坐标系定义由基准面和地图投影两组参数确定,而基准面的定义则由特定椭球体及其对应的转换参数确定,因此欲正确定义GIS系统坐标系,首先必须弄清地球椭球体(Ellipsoid)、大地基准面(Datum)及地图投影(Projection)三者的基本概念及它们之间的关系。 1、地球椭球体(Ellipsoid) 众所周知我们的地球表面是一个凸凹不平的表面,而对于地球测量而言,地表是一个无法用数学公式表达的曲面,这样的曲面不能作为测量和制图的基准面。假想一个扁率极小的椭圆,绕大地球体短轴旋转所形成的规则椭球体称之为地球椭球体。地球椭球体表面是一个规则的数学表面,可以用数学公式表达,所以在测量和制图中就用它替代地球的自然表面。因此就有了地球椭球体的概念。 地球椭球体有长半径和短半径之分,长半径(a)即赤道半径,短半径(b)即极半径。f =(a-b)/a为椭球体的扁率,表示椭球体的扁平程度。由此可见,地球椭球体的形状和大小取决于a、b、f 。因此,a、b、f被称为地球椭球体的三要素。 ArcGIS(ArcInfo)桌面软件中提供了30种地球椭球体模型;常见的地球椭球体数据见下表:

对地球椭球体而言,其围绕旋转的轴叫地轴。地轴的北端称为地球的北极,南端称为南极;过地心与地轴垂直的平面与椭球面的交线是一个圆,这就是地球的赤道;过英国格林威治天文台旧址和地轴的平面与椭球面的交线称为本初子午线。以地球的北极、南极、赤道和本初子午线等作为基本要素,即可构成地球椭球面的地理坐标系统(A geo graphic coordinate system (GCS) uses a three dimensional spherical surface to define locations on the earth. A GCS includes an angular unit of measure, a prime meridian, and a datum (based on a spheroid).)。可以看出地理坐标系统是球面坐标系统,以经度/维度(通常以十进制度或度分秒(DMS)的形式)来表示地面点位的位置。 地理坐标系统以本初子午线为基准(向东,向西各分了1800)之东为东经其值为正,之西为西经其值为负;以赤道为基准(向南、向北各分了900)之北为北纬其值为正,之南为南纬其值为负。 地表任意位置的坐标值可由图1表达: 图1 地理坐标系统

AutoCAD中三维实体转换为二维投影图的方法

AutoCAD中三维实体转换为二维投影图的方法 唐月撵 辽宁工程技术大学机械工程学院辽宁阜新(123000) E-mail:tangyuenian2008@https://www.360docs.net/doc/0213921752.html, 摘要:进行三维造型设计、用二维平面投影图来表达空间三维实体形状是工程图学课程的任务。介绍了在AutoCAD软件中进行三维实体造型的过程,在布局空间进行视口设置,利用建立的三维实体模型生成二维投影,在模型空间中进行图形编辑处理,得到二维平面投影图或剖视图的方法。 关键词:工程图学;AutoCAD;三维实体;二维投影图;块 1. 引言 2004年5月年教育部工程图学教学指导委员会推出了最新版的《普通高等院校工程图学课程教学基本要求》,新《教学基本要求》的突出变化是进一步加强对学生计算机绘图能力的培养,首次把三维图形设计能力的培养作为课程任务突显出来。现代工程设计既需要二维图示,也需要三维图示,应用计算机软件可以将两种图样有机地结合起来,进而提高形体的图示表达能力[1]。 随着现代计算机技术和计算机绘图技术的发展,大型三维绘图软件(如UG、 Pro/ENGINEER、AutoCAD等)的出现,三维设计完全成为可能。AutoCAD是应用最广泛的软件之一[2]。本文介绍了在 AutoCAD中绘制与处理三维实体模型,利用建立的三维实体模型转换为二维投影图的方法。 2. 在AutoCAD中绘制三维实体图 图1 形体的三维剖视图 如图1:从该形体的三维剖视图可以看出,此形体左右对称,前后不对称,由底板、肋板、圆柱筒等组成。在AutoCAD软件中绘制该形体的三维实体图主要步骤简要如下:(1)在AutoCAD软件中,调入需要使用的如“绘图”、“修改”、“实体”等工具条。视图选 择俯视图,绘制底板水平投影的外框,定义为面域,通过拉升命令(单击图标)拉升成为柱体,通过拉升命令创建U型槽柱体,选择左视图,创建左右对称两长方体,其长度超 过底板的长度,通过布尔差集运算(图标为)形成底板。 (2)视图选择俯视图投影方向(图标为),在命令行输入cylinder命令或单击图

高斯投影坐标正算公式

高斯投影坐标正算公式 高斯投影坐标正反算公式 2.2.2. 1高斯投影坐标正算公式: B, x,y 高斯投影必须满足以下三个条件: ⑴中央子午线投影后为直线;⑵中央子午线投影后长度不变;⑶投影具有正形性质,即正形投影条件。 由第一条件知中央子午线东西两侧的投影必然对称于中央子午线,即 式中,x为的偶函数,y为的奇函数;,即, 如展开为的级数,收敛。 (2-10) 式中是待定系数,它们都是纬度B的函数。 由第三个条件知: 分别对和q求偏导数并代入上式 (2-11) 上两式两边相等,其必要充分条件是同次幂前的系数应相等,即

(2-12) (2-12)是一种递推公式,只要确定了就可依次确定其余各系数。 由第二条件知:位于中央子午线上的点,投影后的纵坐标x应等于投影前从赤道量至该点的子午线弧长X,即(2-10)式第一式中,当时有: (2-13) 顾及(对于中央子午线) 得: (2-14,15) (2-16) 依次求得并代入(2-10)式,得到高斯投影正算公式

(2-17) 2.2.2. 2高斯投影坐标反算公式 x,y B, 投影方程: (2-18) 高斯投影坐标反算公式推导要复杂些。 ⑴由x求底点纬度(垂足纬度),对应的有底点处的等量纬度,求x,y与 的关系式,仿照式有, 由于y和椭球半径相比较小(1/16.37),可将展开为y的幂级数;又由于是对称投影,q必是y的偶函数,必是y的奇函数。 (2-19) 是待定系数,它们都是x的函数. 由第三条件知: ,

, (2-20) (2-19)式分别对x和y求偏导数并代入上式 上式相等必要充分条件,是同次幂y前的系数相等, 第二条件,当y=0时,点在中央子午线上,即x=X,对应的点称为底点,其纬度为底点纬度,也就是x=X时的子午线弧长所对应的纬度,设所对应的等量纬度为。也就是在底点展开为y的幂级数。 由(2-19)1式 依次求得其它各系数 (2-21) (2-21)1 ………… 将代入(2-19)1式得

高斯投影坐标正反算编程报告

高斯投影坐标正反算编程报告 1. 编程思想 进行高斯投影坐标正反算的编程需要牵涉到大量的公式,为了使程序条理更清楚,各块的数据复用性更强,这里采取了结构化的编程思想。 程序由四大块组成。 GeodesyHomework.cpp 文件用于存放main()函数,是整个程序的入口。通过结构化的编程尽力使main()函数变得简单。 MyFunction.h 和MyFunction.cpp 用于存放计算过程中进行角度弧度换算时所要用到的一些自定的转换函数。 Zhengsuan.h 和Zhengsuan.cpp 用于存放Zhengsuan 类,在Zhengsuan 类中声明了高斯投影坐标正算所要用到的所有变量,在类的构造函数中进行成员变量的初始化及正算计算。通过get 函数获得相应的正算结果。 Fansuan.h 和Fansuan.cpp 用于存放Fansuan 类,类似于Zhengsuan 类,Fansuan 类中声明了高斯投影坐标反算所要用到的所有变量,在类的构造函数中进行成员变量的初始化及反算计算。通过get 函数获得相应的反算结果。 2. 计算模型 高斯投影正算公式 6 4256 4 42234 22)5861(cos sin 720)495(cos 24cos sin 2l t t B B N l t B simB N l B B N X x ''+-''+ ''++-''+''?''+=ρηηρρ5 2224255 3 2233 )5814185(cos 120)1(cos 6cos l t t t B N l t B N l B N y ''-++-''+ ''+-''+''?''=ηηρηρρ 高斯投影反算公式 () () ()( ) 2 22425 52 23 36 4254 222232 8624285cos 12021cos 6cos 459061720935242f f f f f f f f f f f f f f f f f f f f f f f f f f f f f t t t B N y t B N y B N y l y t t y N M t y t t N M t y N M t B B ηηηηη+++++++-=++- -+++ -= 3. 程序框图

常用地图投影转换公式

常用地图投影转换公式 作者:青岛海洋地质研究所戴勤奋  投影计算公式往往表达方式不止一种,有时很难分辨谁对谁错,我只把“墨卡托投影”、“高斯-克吕格投影”、“UTM投影”、“兰勃特等角投影”(1:100万地形图规范中称作正轴等角圆锥投影,GB/T 14512-93)的正反转换公式列出,因为我基本能保证这些公式的正确性。1.约定 本文中所列的转换公式都基于椭球体 a -- 椭球体长半轴 b -- 椭球体短半轴 f -- 扁率 e -- 第一偏心率 e’ -- 第二偏心率 N -- 卯酉圈曲率半径 R -- 子午圈曲率半径 B -- 纬度,L -- 经度,单位弧度(RAD) -- 纵直角坐标, -- 横直角坐标,单位米(M) 2.椭球体参数 我国常用的3个椭球体参数如下(源自“全球定位系统测量规范 GB/T

界面上的所谓“北京1954“西安1980”及“WGS 84”在实际计算中只涉及了相应的椭球体参数。 3.墨卡托(Mercator)投影 3.1 墨卡托投影简介 墨卡托(Mercator)投影,是一种"等角正切圆柱投影”,荷兰地图学家墨卡托(Gerhardus Mercator 1512-1594)在1569年拟定, 假设地球被围在一中空的圆柱里,其标准纬线与圆柱相切接触,然后再假想地球中心有一盏灯,把球面上的图形投影到圆柱体上,再把圆柱体展开,这就是一幅选定标准纬线上的“墨卡托投影”绘制出的地图。 墨卡托投影没有角度变形,由每一点向各方向的长度比相等,它的经纬线都是平行直线,且相交成直角,经线间隔相等,纬线间隔从标准纬线向两极逐渐增大。墨卡托投影的地图上长度和面积变形明显,但标准纬线无变形,从标准纬线向两极变形逐渐增大,但因为它具有各个方向均等扩大的特性,保持了方向和相互位置关系的正确。 在地图上保持方向和角度的正确是墨卡托投影的优点,墨卡托投影地图常用作航海图和航空图,如果循着墨卡托投影图上两点间的直线航行,方向不变可以一直到达目的地,因此它对船舰在航行中定位、确定航向都具有有利条件,给航海者带来很大方便。 “海底地形图编绘规范”(GB/T 17834-1999,海军航保部起草)中规定1:25万及更小比例尺的海图采用墨卡托投影,其中基本比例尺海底地形图(1:5万,1:25万,1:100万)采用统一基准纬线30°,非基本比例尺图以制图区域中纬为基准纬线。基准纬线取至整度或整分。 3.2 墨卡托投影坐标系 取零子午线或自定义原点经线(L0)与赤道交点的投影为原点,零子午线或自定义原点经线的投影为纵坐标X轴,赤道的投影为横坐标Y轴,构成墨卡托平面直角坐标系。 3.3 墨卡托投影正反解公式 墨卡托投影正解公式:(B,L)→(X,Y),标准纬度B0,原点纬度 0,原点经度L0

常用地图投影公式

常用地图投影公式 1.约定 本文中所列的转换公式都基于椭球体 a -- 椭球体长半轴 b -- 椭球体短半轴 f -- 扁率 e -- 第一偏心率 e’-- 第二偏心率 N -- 卯酉圈曲率半径 R -- 子午圈曲率半径 B -- 纬度,L -- 经度,单位弧度(RAD) -- 纵直角坐标, -- 横直角坐标,单位米(M) 2.椭球体参数 我国常用的3个椭球体参数如下(源自“全球定位系统测量规范GB/T 18314-2001”): 椭球体长半轴a(米)短半轴b(米) Krassovsky (北京54采用)6378245 6356863.0188 IAG 75(西安80采用)6378140 6356755.2882

WGS 84 6378137 6356752.3142 需要说明的是,在“海洋地质制图常用地图投影系列小程序”中,程序界面上的所谓“北京1954“西安1980”及“WGS 84”在实际计算中只涉及了相应的椭球体参数。 3.墨卡托(Mercator)投影 3.1 墨卡托投影简介 墨卡托(Mercator)投影,是一种"等角正切圆柱投影”,荷兰地图学家墨卡托(Gerhardus Mercator 1512-1594)在1569年拟定, 假设地球被围在一中空的圆柱里,其标准纬线与圆柱相切接触,然后再假想地球中心有一盏灯,把球面上的图形投影到圆柱体上,再把圆柱体展开,这就是一幅选定标准纬线上的“墨卡托投影”绘制出的地图。 墨卡托投影没有角度变形,由每一点向各方向的长度比相等,它的经纬线都是平行直线,且相交成直角,经线间隔相等,纬线间隔从标准纬线向两极逐渐增大。墨卡托投影的地图上长度和面积变形明显,但标准纬线无变形,从标准纬线向两极变形逐渐增大,但因为它具有各个方向均等扩大的特性,保持了方向和相互位置关系的正确。 在地图上保持方向和角度的正确是墨卡托投影的优点,墨卡托投影地图常用作航海图和航空图,如果循着墨卡托投影图上两点间的直线航行,方向不变可以一直到达目的地,因此它对船舰在航行中定位、确

工程制图与识图习题库

一、填空题 1.A2的图纸幅面尺寸为____________mm。 2.图样中的单点长画线在较小图形中绘制有困难时,可用____________代替。 3.长仿宋体7号字的字高为____________mm。 4.比例宜写在图名的____________,字的基准线应取平。 5.实际尺寸为240mm的线段,用1∶50绘图时,图样上的线段长度为____________mm。 6.半径、直径、____________、____________的尺寸起止符号,一般用箭头表示。 7.绘图时不论选用多大的比例,所标注的尺寸数字均为图形的____________。 8.建筑施工图包括总平面图、_________、_________、______和___________。 9.相对标高的零点在____________。 11.定位轴线竖直方向从____________的顺序编写,用____________表示。 12.建筑施工图中的平面图通常以____________命名。 13.一楼梯段有10个台阶,踏面宽度为260mm,踏步高度为150mm,标出楼梯平面详图中该楼梯段的尺寸____________。 14.在工程图中,中心线、轴线要用______________表示。 15.三个投影视图的排放尺度关系应保持“长对正,高平齐,______________” 16.当用剖切平面剖切物体时,只画出物体与剖切平面相交部分的图形称为______________。 17.建筑施工图中,除标高以外,其余尺寸单位为______________。 18.在房屋结构图中,代号QL表示______________。 19.建筑平面图上标注的三道尺寸中,中间一道尺寸应注______________尺寸。 20.标高投影的基准面为______________。 21.点的X坐标反映了该点离开______投影面的距离。 22.结构施工图中,构件代号TL表示______。 23.某直线的V面投影反映实长,该直线为______。 24.在建筑平面图中,横向定位轴线用阿拉伯数字并按______顺序编号。 25.在建筑平面图中,窗用代号______表示。 26.楼层建筑平面图,实际上是经过门窗洞口的水平______图。

AutoCAD中由三维模型自动生成二维工程图的研究

AutoCAD中由三维模型自动生成二维工程图的研究3 何兵1,2,车林仙1,2 (1.重庆大学机械工程学院,重庆 400044;2.泸州职业技术学院机电工程系,四川泸州 646005) 摘要:基于AutoCAD的二次开发工具VBA语言,给出了AutoCAD中由三维模型自动生成二维工程图(即二维投影图和轴测图)的方法和程序。该方法简单易行,改变了手动操作的繁琐与困难,提高了绘图效率,具有工程应用价值。 关键词:AutoCAD;三维模型;二维工程图;VBA 中图分类号:TP302.4;TP391.72 文献标识码:A 文章编号:1001-2354(2005)09-0010-03 当前,基于特征技术的三维实体造型软件很多,功能强大, 优势明显,如U G2Ⅱ,Pro/Engineer,I2DEAS,SolidWork等。然而,在现阶段,三维实体造型还不能完全取代二维工程图(即二维投影图和轴测图),因为在表达非几何信息(如尺寸、公差、工艺信息等)及合乎工程技术人员的传统习惯方面,二维工程图仍然具有优越性和普遍性。 AutoCAD是目前国内外应用最广泛的PC2CAD软件,它不但具有强大的二维绘图功能,而且还能方便地进行三维实体造型。在AutoCAD中,若先进行三维实体造型,再由该三维模型生成二维投影图,则可以充分发挥三维实体和二维投影图各自的优势,并提高绘图效率。特别是绘制复杂机件的二维工程图时,此方法具有明显优点。文献[1~3]对AutoCAD中由三维模型生成二维工程图的方法进行了深入研究,给出了操作步骤,但其过程较繁琐,在用Solprof,Soldraw,Solview命令时需在模型空间和图纸空间反复切换,技巧性很强,每生成一个图形均需重复这些操作,耗时耗力,且不易被普通用户掌握。有鉴于此,文中改进了文献[1~3]中由三维模型生成二维工程图的方法,并将由三维模型生成二维工程图的过程,编制为VBA (Visual Basic for Application)程序并定义为宏,这样便可一劳永逸,而其后续操作步骤非常简单。先用Lweight设置一个缺省线宽,运行此程序则自动生成二维工程图,然后添加中心线、标注尺寸,即可得到符合国家标准的工程图,大大提高了绘图效率。 1 编程环境 VBA是AutoCAD的内嵌开发工具,与VB类似,采用面向对象技术,具有强大的窗体创建功能,简单实用[4]。因此,选用VBA为二次开发工具。创建VBA工程的方法为:打开Au2 toCAD的菜单“Tools|Macro|Visual Basic Editor”,在“Visu2 al Basic Editor”中创建工程。 2 由三维模型自动生成二维 工程图的方法2.1 用AddPViewport方法在图纸空间创建视口 AutoCAD的三维实体造型环境为模型空间(Model Space),而输出二维图形的环境为图纸空间(Paper Space)[1~4]。由画法几何知,在空间自6个方向观察三维模型,即可得到6个基本视图(二维投影图)。欲同时观察模型的几个方向,则需用Vports命令在模型空间或图纸空间创建多视口,并在不同视口中设置观察方向,从而得到相应的视图。在VBA中,可用AddPViewport方法在图纸空间创建视口,其语法格式如下:’从模型空间切换到图纸空间 ThisDrawing.ActiveSpace=acPaperSpace ThisDrawing.MSpace=False ’定义ProjectViewPort为图纸空间的视口 Dim ProjectViewPort As AcadPViewport ’定义CenPoint数组表示的点为视口中心 Dim CenPoint(0To2)As Double ’Widt h和Height分别为视口的宽和高 Set ProjectViewPort=ThisDrawing.PaperSpace.AddPViewport (CenPoint,Widt h,Height) 2.2 用Direction属性设置观察(投影)方向 在VBA中,可用Direction属性为创建的视口设置观察(投影)方向,其语法格式如下: ’定义ViewDirect数组表示的点为视点,主、俯、左视图的视点可设为(0,-1,0),(0,0,1),(-1,0,0) ’轴测图的视点则根据需要而设置 Dim ViewDirect(0to2)As Double ProjectViewPort.Direction=ViewDirect ’将当前视口设置为活动窗口 ProjectViewPort.Display acOn 2.3 用Solprof命令生成三维模型的轮廓(即二维投影图) 由于VBA没有提供生成三维模型轮廓的函数,因此采用直接调用AutoCAD中Solprof命令的方法,来生成三维模型的轮廓(即二维投影图)。使用该命令时,采用输入“All”来实现全部选中对象,并连续4次输入“Yes”(或直接回车[1])来确认。调用AutoCAD中Solprof命令的格式如下: ’切换到模型空间 第22卷第9期2005年9月 机 械 设 计 J OU RNAL OF MACHIN E DESIGN Vol.22 No.9 Sep. 2005 3收稿日期:2005-01-07;修订日期:2005-04-04 基金项目:中国职业技术教育协会科研规划项目(520123);泸州职业技术学院科研基金资助项目(03B01) 作者简介:何兵(1972-),男,四川泸州人,讲师,重庆大学机械学院在职硕士生,研究方向:机械CAD/CA E及机电控制。

相关文档
最新文档