c语言程序坐标反算,坐标正算反算公式讲解
一 方位角:
在高斯直角坐标系中,由坐标纵轴方向的北端起,顺时针量到直线间的夹角,称为该直线的坐标方位角,常简称方位角,用a表示。
1、第一象限的方位角
方位角计算公式:
.
方位角的计算器计算程序:Pol(XA-XO,YA-YO)
直线OA方位角度值赋予给计算器的字母J,0≤J<360。
直线段OA的距离值赋予给计算器的字母I,I>0
直线OA与直线AO的方位角关系:
1、 当直线OA的方位角≤180°时,其反方位角等于a+180°。
2、 当直线OA的方位角>180°时,其反方位角等于a-180°。
二 方位角的推算
(一)几个基本公式
1、坐标方位角的推算
注意:若计算出的方位角>360°,则减去360°;若为负值,则加上360°。
例题:方位角的推算
已知:α12=30°,各观测角β如图,求各边坐标方位角α23、α34、α45、α51。
解:α23=α12-β2+180°=30°-130°+180°=80°
α34=α23-β3+180°=80°-65°+180°=195°
α45=α34-β4+180°=195°-128°+180°=247°
α51=α45-β5+180°=247°-122°+180°=305°
α12=α51-β1+180°=305°-95°+180°=30°(检查)
三 坐标正算
一、 直线段的坐标计算
设起点O的坐标(XO,YO),直线OP的方位角为Fop,求A、C、E点的坐标
1、 设直线段OA长度为L,则A点坐标为
XA=XO+L×Cos(Fop)
YA=YO+L×Sin(Fop)
2、 设直线段OB长度为LOB,直线段BC长度为LBC,则C点坐标为
XB=XO+LOB×Cos(Fop)
YB=YO+LOB×Sin(Fop)
直线BC的方位角FBC=Fop+a
IF FBC>360°:Then FBC-360°→FBC:IfEnd
XC=XB+LBC×Cos(FBC)
YC=YB+LBC×Sin(FBC)
3、设直线段OD长度为LOD,直线段DE长度为LDE,则E点坐标为
XD=XO+LOD×Cos(Fop)
YD=YO+LOD×Sin(Fop)
直线DE的方位角FDE=Fop-a
IF FDE<0°:Then FDE+360°→FDE:IfEnd
XE=XD+LDE×Cos(FDE)
YE=YD+LDE×Sin(FDE)
一、 缓和曲线段的坐标计算
设完整缓和曲线起点O的坐标为O(XO,YO),方位角为F,曲线长度为LS,曲线上任一点的曲线长度为L,
当线路右转时直线CP的方位角Fcp=F+90°
IF Fcp>360°:Then Fcp-360°→Fcp:IfEnd
当线路左转时直线CP的方位角Fcp=F-90°
IF Fcp<0°:Then Fcp+360°→Fcp:IfEnd
XP=XO+Abs(xO) ×Cos(F)+Abs(yO) ×COS(FCP)
YP=YO+Abs(xO) ×Sin(F)+Abs(yO) ×Sin(FCP)
一、 圆曲线段的坐标计算
圆曲线的已知点数据为起点S的桩号Ks、走向方位角αs、起点S坐标为(Xo,Yo)、圆曲线半径为R与曲线长为L。设半径为R的圆曲线中线上任意点j的桩号为Kj,求Zj点的坐标?
解:
弦长sj的弦切角与弦长为
弦切角 θsj=(Lj/(2R))×(180°/π)=(90°×Lj)/( πr)
弦长Csj=2Rsin(θsj)
则 弦长sj的方位角为αsj=αs±θsj
圆曲线上任意j点的方位角为αj=αs±2θsj
求得圆曲线上任意点j的计算公式为
Xj=XO+Csj×Cos(αsj)
Yj=YO+Csj×Sin(αsj)
四 坐标反算
1、直线段坐标反算
反算原理
如图9所示,直线 se的点斜式为
y-yp=tanαs(x-xp) (公式1)
将起点S的坐标代入解得
yp= ys- tanαs(xs-xp) (公式2)
因直线jp垂直于直线sp,故p点中桩坐标因满足垂线jp的下列点斜式方程 yp-yj= -(xp-xj) / tanαs (公式3)
将公式2代入公式3得
ys- tanαs(xs-xp)- yj=-(xp-xj) / tanαs
tanαs(ys-yj)- tan2αsxs+ tan2αsxp=-xp+xj
简化后得
圆曲线段坐标反算原理
反算原理
如图10所示,设j点为圆曲线附近任意边桩点,坐标为j(X,Y),已知点S点坐标为(X0,Y0),则圆心点C的坐标为
Xc=X0+R×COS(αs±90°)
Yc=Y0+ R×sin(αs±90°)
再根据圆心点C与j点的坐标算出直线cj的方位角αcj与距离dcj,则j点的边距为dj=R-dcj,由圆心点坐标反算垂足点p的中桩坐标为
XP=XC+R×COS(αcj)
YP=YC+ R×sin(αcj)
再根据S点的坐标和P点的坐标求出弦长SP的距离
Csp=√((X0-XP)2+(Y0-YP)2)
再根据弦长SP的距离和反三函数的关系,求出弦切角θsp值(单位为度)。
c语言程序坐标反算,坐标正算反算公式讲解相关推荐
- 高斯投影正反算C语言程序代码,一个老师给的高斯投影正反算c++源码.doc
一个老师给的高斯投影正反算c源码 //高斯投影正.反算 //6度带宽?? 54年北京坐标系 //高斯投影由经纬度 Unit:DD 反算大地坐标 含带号,Unit:Metres void GaussPr ...
- 坐标反算c语言程序,道路坐标正反算无限个拐点计算器测量程序(新20070825)
<道路坐标正反算无限个拐点计算器测量程序(新20070825)>由会员分享,可在线阅读,更多相关<道路坐标正反算无限个拐点计算器测量程序(新20070825)(10页珍藏版)> ...
- 高斯正算C语言程序,一个老师给的高斯投影正、反算c++源码(最新整理)
<一个老师给的高斯投影正.反算c++源码(最新整理)>由会员分享,可在线阅读,更多相关<一个老师给的高斯投影正.反算c++源码(最新整理)(4页珍藏版)>请在人人文库网上搜索. ...
- 公路曲线及匝道多线路正、反算综合程序四(4.3修改版)
公路曲线及匝道多线路正.反算综合程序(修改版) 这里才是真正的坐标计算程序,上面那个ZDY-1是计算各个要素,可以作为校核之用.⑴有关资料 采用复化辛普森公式: X=XA+H / 6(co ...
- Java黑皮书课后题第4章:*4.7(顶点坐标)假设一个正五边形的中心位于(0,0),其中一个点位于0点位置。编写程序,提示用户输入正五边形外接圆的半径,显示p1到p5的5个坐标,保留两位小数
*4.7(顶点坐标)假设一个正五边形的中心位于(0,0),其中一个点位于0点位置.编写程序,提示用户输入正五边形外接圆的半径,显示p1到p5为5个坐标,保留两位小数 题目 题目概述 运行示例 破题 代 ...
- 黄金分割点c的坐标c语言,黄金分割法与进退法的C语言程序
<黄金分割法与进退法的C语言程序>由会员分享,可在线阅读,更多相关<黄金分割法与进退法的C语言程序(5页珍藏版)>请在人人文库网上搜索. 1.基本思想:对f(x)任选一个初始点 ...
- 卡西欧计算机算坐标步骤,卡西欧计算器坐标的正反算.doc
卡西欧计算器坐标的正反算 线路中边桩任意里程坐标正.反算改编程序(CASIO fx-4800)可以算任意斜交涵洞轴线的坐标,增加T为斜交角度,规定T为涵轴右侧方向与"线路前进方向切线&quo ...
- java数组输入一个实数_用java!!输入五个数,保存到一个数组中,然后将... C语言,编写一个程序,从键盘输入5个数,算出总和......
导航:网站首页 > 用java!!输入五个数,保存到一个数组中,然后将... C语言,编写一个程序,从键盘输入5个数,算出总和... 用java!!输入五个数,保存到一个数组中,然后将... C ...
- R语言ggplot2可视化设置轴坐标上的数值全部为整数实战:display only integer values on axis
R语言ggplot2可视化设置轴坐标上的数值全部为整数实战:display only integer values on axis 目录 R语言ggplot2可视化设置轴坐标上的数值全部为整数实战:d
- Java黑皮书课后题第3章:**3.28(几何:两个矩形)编写一个程序,提示用户输入两个矩形中心的x坐标和y坐标以及矩形的宽度和高度,然后判断第二个矩形是在第一个矩形内,还是和第一个矩形重叠
**3.28(几何:两个矩形)编写一个程序,提示用户输入两个矩形中心的x坐标和y坐标以及矩形的宽度和高度,然后判断第二个矩形是在第一个矩形内,还是和第一个矩形重叠 题目 题目概述 运行示例 破题 代码 ...
最新文章
- Bootstrp--一个导航面板切换的实用例子
- 【LeetCode】002 Add Two Numbers
- ZAB协议选主过程详解
- java 输入人名_Java 读取控制台输入
- Java设计模式(九)责任链模式 命令模式
- crontab 每天凌晨12点定时器_每天摆摊到凌晨5点,94岁煎饼奶奶火了,一句话惊醒无数中学生!...
- struts2.0.14 web.xml,struts.xml配置
- 设计模式 (五) 原型模式
- 苹果暗黑模式_DNF手游来了!时间已定;苹果商店首次加入暗黑模式;以上为本期内容...
- hdu2586How far away ?
- python的hello world
- Spherical harmonics 和 cubemap 的关系
- 技术职称论文查重用什么论文查重软件?
- Java操作word指定位置插入数据
- 11个好玩有趣的网站,一打开就停不下来
- 我们为什么需要信息增益比,而不是信息增益?
- Unity中使用ProtoBuf-保姆式教程
- 杭州地区IT公司招聘分析与求职建议
- JDBC学习笔记-B站动力节点
- 辽宁师范大学本科毕业论文答辩PPT模板
热门文章
- c语言工程中建头文件,在cfree5中建x立多文件项目的方法.doc
- LabVIEW编程LabVIEW开发以编程方式将前面板移动到所需位置
- 实际波动率与隐含波动率的计算 python
- 通软终端安全管理系统V6 卸载脚本
- 【洛谷刷题笔记】P4093 [HEOI2016/TJOI2016] 序列
- Android实现推送PushService通知Notification
- 让Excel窗口保持在所有窗口前面
- 马云请不动郭盛华的原因?原来背后还有更神秘的人物
- get请求中文乱码处理方法
- sfp寄存器_查看光模块信息 - E600 V200R011C10 配置指南-设备管理 - 华为