文章编号 :100926825 (2008) 1720362202
用 EXCEL 计算直线的坐标方位角
收稿日期 :2008202228
作者简介 :季中文 (19652 ) ,男 ,高级讲师 ,无锡商业职业技术学院 ,江苏 无锡 214153
季 中 文
摘 要 :为了解决运用计算器计算坐标方位角比较繁琐的问题 ,根据坐标方位角的计算步骤 ,介绍一种运用 EXCEL 中
的函数编程 ,快速求解直线坐标方位角的方法 ,从而为测量工作提供了方便。
关键词 :坐标方位角 ,象限角 , IF 函数
中图分类号 : TP391 文献标识码 :A
工程测量中常常需要根据直线上两点坐标求直线的坐标方
位角 ,得到放样数据。运用计算器计算直线坐标方位角比较繁
琐 ,文中介绍一种用 EXCEL 快速求解直线坐标方位角的方法。
1 坐标方位角和象限角的概念
从某点的坐标纵线北方向起 ,依顺时针方向到目标方向线间
的水平夹角 ,称为该直线的坐标方位角。
直线与坐标纵线方向所夹的锐角称为直线的象限角。
坐标方位角与象限角的关系见图 1。
2 坐标方位角的计算步骤
2. 1 计算直线的象限角 RAB
Δx = XB - XA ,Δy = YB - YA , RAB = tg - 1 │Δy/Δx │。
2. 2 计算直线的坐标方位角
先根据Δx ,Δy 的符号判定直线方位角所在的位置 ,再根据
坐标方位角和象限角的
数学
数学高考答题卡模板高考数学答题卡模板三年级数学混合运算测试卷数学作业设计案例新人教版八年级上数学教学计划
关系计算坐标方位角 ,具体见表 1。
表 1 利用数学关系计算坐标方位角
Δx Δy 直线位置 坐标方位角
> 0
= 0
< 0
> 0 第 Ⅰ象限 αAB = RAB
= 0 X 轴正向 αAB = 0
< 0 第 Ⅳ象限 αAB = 2π- RAB
> 0 Y 轴正向 αAB =π/ 2
= 0 同一点 αAB不存在
< 0 Y 轴负向 αAB = 3π/ 2
> 0 第 Ⅱ象限 αAB =π- RAB
= 0 X 轴负向 αAB =π
< 0 第 Ⅲ象限 αAB =π+ RAB
3 用 EXCEL 编辑工作表计算坐标方位角
3. 1 用 EXCEL 计算坐标方位角的表格
利用 EXCEL 编辑工作表计算坐标方位角 (见表 2) 。
3. 2 对表格的说明
最左边 1 列是行号 ,A 列 ,B 列是对 C 列的说明 ,C 列是输入、
计算和输出的数据。
表 2 利用 EXCEL 计算坐标方位角
A B C
1 已知 XA 43 543. 366
2 已知 YA 65 866. 979
3 已知 XB 43 563. 366
4 已知 YB 65 966. 979
5 Δx 20. 000
6 Δy 100. 000
7 │Δy/Δx │ 5. 000
8 象限角 RAB tg - 1 │Δy/Δx │ 1. 373
9 坐标方位角α 用弧度表示 1. 373 400 767
10 坐标方位角α 用度表示 78. 690 068
11 (°) 整度数 78
12 (′) 整分数 41
13 (″) 整秒数 24
14 坐标方位角α 用度分秒表示 78°41′24″
最上面 1 行是列号 ,第 1 行到第 4 行是输入的 A , B 两点坐
标 ,第 5 行到第 8 行计算象限角 ,第 9 行根据象限角求出用弧度
表示的坐标方位角 ,第 10 行到第 14 行将用弧度表示的坐标方位
角换算成用度、分、秒表示的坐标方位角 ,以便于使用。
3. 3 C 列各单元格的计算
C1 :输入 A 点 X坐标 XA
C2 :输入 A 点 Y坐标 YA
C3 :输入 B 点 X坐标 XB
C4 :输入 B 点 Y坐标 YB
C5 : = C3 - C1
C6 : = C4 - C2
C7 : = ABS(C6/ C5)
C8 : = A TAN (C7)
C9 : = IF(C5 = 0 , IF (C6 > 0 ,PI() / 2 , IF (C6 < 0 ,3 ×PI () / 2 ,″同
一点″) ) ,
IF(C5 > 0 ,IF(C6 > 0 ,C8 ,IF(C6 < 0 ,2 ×PI() - C8 ,0) ) ,
IF(C5 < 0 ,IF(C6 > 0 ,PI() - C8 ,PI() + C8) ) ) )
C10 : = DEGREES(C9)
C11 : = IN T(C10)
C12 : = IN T( (C10 - C11) ×60)
C13 : = ROUND ( ( (C10 - C11) ×60 - C12) ×60 ,0)
C14 : = CONCA TENA TE(C11 , $A $11 ,C12 , $A $12 ,C13 ,
$A $13)
4 工作表的使用方法
1)直接将两点坐标输入 C1 ,C2 ,C3 ,C4 ,在 C14 中 ,自动得到
坐标方位角 ;
·263·
第 34 卷 第 17 期
2 0 0 8 年 6 月 山 西 建 筑SHANXI ARCHITECTURE
Vol. 34 No. 17
J un. 2008
文章编号 :100926825 (2008) 1720363202
地形图剪切程序的研究
收稿日期 :2008203203
作者简介 :孟令红 (19752 ) ,男 ,助理工程师 ,贵州省交通
规划
污水管网监理规划下载职业规划大学生职业规划个人职业规划职业规划论文
勘察设计研究院 ,贵州 贵阳 550001
孟 令 红
摘 要 :为了对公路或铁路线路大幅带状地形图中的各种实体进行剪切操作 ,利用 ObjectARX 在 VC + + 平台上开发了
窗口剪切程序 ,同时完善了对子曲线进行取舍操作的算法 ,并对文字及块实体的处理方法作了简单介绍。
关键词 :实体剪切 ,地形图 ,程序 ,设计
中图分类号 : TP391 文献标识码 :A
在公路和铁路路线设计中 ,需要经常对大幅带状的地形图进
行任意形状边界的剪裁操作 ,将边界内实体提取出来成为另一幅
图。运用专业的大型软件进行此项操作较复杂 ,文中利用成熟、
高效的 AutoCAD 二次开发工具 ObjectARX 开发了一个窗口剪切
程序。该工具在 AutoCAD 中注册为外部函数命令 ,可直接在 Au2
toCAD 中调用 ,提高了工作效率。
1 基本思路
首先遍历地形图中所有的实体 ,并得到其 ID。然后根据提示
在屏幕上输入或选择多个点 ,生成一闭合的 AcDbPolyline 类对象
作为剪切边界。最后依据不同种类的实体对象进行不同方法的
剪切操作 :
1)对曲线的剪切操作的基本思路及步骤有 :
a. 求出剪切边界与被剪切曲线的交点并按各交点与曲线起
点的距离远近对交点排序 ;
b.将原曲线重画 (在排好序的各交点处断开) 形成一系列首
尾相连的子曲线 ;
c. 判断各子曲线的中点是否在闭合剪切边界内 ,若在边界
内 ,则将此段子曲线添加到当前数据库中 ;
d. 最后将原曲线从数据库中删除。
2)对填充则需构造一个有新的边界的填充实体 :
a.将剪切边界与原填充实体的最外层边界生成面域 AcD2
bRegion 类对象 ;
b. 利用面域的布尔运算求二者的面域交集作为新填充实体
对象的外层边界 ;
c. 依次将原填充实体的各内边界所生成的面域与剪切边界
生成的面域的交集添加到新填充实体中作为内层边界 ;
d. 按照原填充实体的属性对新填充实体进行填充 ;
e. 删除原填充实体。
下面分别介绍对各种实体的具体剪切过程。
2 剪切曲线实体
2. 1 普通曲线实体与剪切边界曲线的交点求法
对除了 AcDb3dPolyline 类对象外 ,常见的曲线实体包括直
线、圆、样条曲线、椭圆等 ,都可以将剪切边界所在平面生成一
Ac GePlane 平面后直接调用函数 AcDbEntity : : intersectWith ( ) 求
交点 ,即将被剪实体投影到剪切边界所在的平面上后求剪切边界
与投影实体的交点 ,再将交点返回原被剪曲线上 ,最后得到的交
点即是被剪实体上的点 ,这些操作的实现都由函数 intersectWith
()自动完成。
2. 2 AcDb3dPolyline 类曲线与剪切边界曲线的交点求法
对 AcDb3dPolyline 类曲线 ,需先将被剪曲线投影到剪切边界
所在平面 ,再调用 intersectWith ( ) 函数求出剪切边界与投影体的
交点。利用投影体上某点的 Param 值 (由 get ParamAt Point ( ) 得
到)与原被剪曲线上对应点的 Param 值相等的原理 ,可以将求得
的交点返回到原被剪曲线上去。简略代码如下 :
Ac GePlane plane ;/ / 定义剪切边界所在平面
AcDbCurve 3 projCurve ;/ / 定义被剪曲线在剪切边界所在平
面上的投影曲线
p3dPolyline - > getProjectedCurve (plane ,normal ,projCurve) ;/ / 得
到投影曲线 ,normal 为投影平面的法向量
projCurve - > intersectWith (pPolyline ,AcDb : : kOnBothOperands ,
ptArr ,0 ,0) ;/ / ptArr 为求得的投影曲线与剪切边界曲线的交点数
组 ,p Polyline 为剪切边界曲线
/ / 将交点返回到原三维多义线上 ,temptArr [ i ]即为最终得到
的原三维多义线上的点
2)也可将 C 列复制到其他列 ,再将坐标输入到相应的单元
格 ,得到坐标方位角 ;
3)为使界面整洁 ,可隐藏 5 行~8 行 ,10 行~13 行。
5 结语
从表 1 可以看出 ,直线的坐标方位角有 9 种可能的情况 ,其
判断和输出比较繁琐。文中编程的最大技巧在于用一个多重的
IF 函数来计算输出 ,因而直线的坐标方位角计算非常简便。
Calculating the coordinate azimuth of straight l ine by using EXCEL
JI Zhong2wen
Abstract : To solve the problems that it is superfluous and complicated of calculating the coordinate azimuth of straight line by using calculator
and according to the calculating process of coordinate azimuth , it introduces the method of using the function program of EXCEL solve the co2
ordinate azimuth of straight line , and this supplies convince to detection.
Key words : coordinate azimuth , quadrant angle , IF function
·363·
第 34 卷 第 17 期
2 0 0 8 年 6 月 山 西 建 筑SHANXI ARCHITECTURE
Vol. 34 No. 17
J un. 2008