
楼主的意思是:已知上的一条曲线,如何获取该曲线上点的坐标(x,y)。
下面有段程序,是本人读曲线坐标所写,看看对楼主是否有帮助:
clc
clear all
im1 = imread('runx2jpg'); %楼主在此替换成自己的
im = rgb2gray(im1);
im = im(end:-1:1,:);
%imshow(im)
[m,n]=size(im);
cordx=[];
cordy=[];
for i=1:m
for j=1:n
if im(i,j)<100 %这个参数100可以在 0~255 之间随意改变,值越小越精确
cordx=[cordx i];
cordy=[cordy j];
end
end
end
x=[];y=[];%得到的坐标
l=2;%此处参数可调
for k=1:l:length(cordx)
x=[x cordx(k)];
y=[y cordy(k)];
end
[xx ind]= sort(y);
yy = x(ind);
plot(xx,yy,'+')
xxx = unique(xx);
yyy = zeros(size(xxx));
for k = 1:length(xxx)
indxx = xx==xxx(k);
n = sum(indxx);
yyy(k) = sum(indxxyy)/n;
end
figure
plot(xxx,yyy,'+')
runx2 = [xxx' yyy'];
你好,在工程测量中计算坐标并非一件难事!
坐标计算分为,直线坐标、缓和曲线坐标、圆曲线坐标、还有卵形曲线坐标等(卵形曲线属于两端半径不一致的情况下做产生的),坐标又分为,中桩坐标,边桩坐标(边桩坐标分为,正交和斜交计算)。
如何根据图纸计算坐标?
1、首先查看平面图,上面会提供曲线要素(如:交点里程、交点坐标、曲线半径、缓和曲线长、曲线转角、计算方位角)等。
2、根据提供的曲线要素输入相应的程序数据库中,或者手动计算的公式中,然后输入里程偏距等即可进行计算。
计算坐标的软件和工具,程序等很多,也可以自己通过Excel或VBA或VB编写程序进行针对性计算。
如:最近网上流行的“曲线坐标计算程序 VBA 48”可以计算缓和曲线、圆曲线、直线、桥墩坐标等,还可以进行附合导线、无定向导线、水准平差等,你可以在搜索一下。
希望我的回答对你有所帮助!
1 在手机上找到测量员软件并打开,打开后界面下面一排显示的有参数、程序、工具、服务。
2 打开后点击右上角3个挨着的小点,就会出现新建项目。
3 点击新建项目,就会d出一个界面,在界面里面选择交点法,线路名字就是你要给你输入的交点法取个名,桩号前缀不填的话默认为K(就是K12+666这种样式的,如果需要换的话就在桩号前缀里输入需要的前缀),下面还有个高程设计线位置,这个我们不用动它。然后点击保存,这样我们线路就新建好了。
4 保存好了以后上面会显示你新建线路的名字,如果新建线路大于等于两个以上,点击上面的线路名字就可以更换线路了,点击屏幕下方的参数。
5 点击屏幕下面的参数后,屏幕会显示线路参数、平曲线、断链、竖曲线等,我们在这点击平曲线,并点击“+”号,在这里面我们就可以输入起始点的里程和坐标了,输入完起始点在输入交点,交点里需要输入交点桩号、坐标、入缓和曲线和出缓和曲线的长度,最后输入终点,这样我们就输入完成了。
卡西欧5800计算器坐标的正反算程序(曲线),程序在计算器中约占2900字节,具体程序写法如下:
主程序 坐标正反算
程序名称:ZBZFS
Lb1 A↙
30→Dim Z :"0=ZS,1=FS"Z ↙
If Z=0:Then Goto B:IfEnd↙ (Z=0进入里程点坐标正算)
If Z=1:Then Prog"FSLCZ "↙ (Z=1进入反算里程边桩)
Lb1 B ↙
Prog”ZBZS” ↙
子程序反算里程桩 名称:FSLCZ
Lb1 1↙
"XK="X:"YK="Y↙(输入任意测点的X、Y坐标)
“K=”K ↙(试算里程,任意输入标段内里程点即可,也可以输入大致的估算里程加快速度)
Lb1 2↙
Prog"SJK ":T-90 →W:W<0=>360+W→W:Abs((Y-Z[19])Cos(W)-(X-Z[18])Sin(W))→S↙
If S<00001:Then Goto 4:Else Goto 3:Ifend↙
Lb1 3↙
K+S→K: Prog"SJK":T-90 →W:W<0=>360+W→W:Abs((Y-Z[19])Cos W-(X-Z[18])Sin (W)→Q↙
If Q<00001 :Then Q→S: Goto 4:Else if Q<S: Then K+Q→K: Goto 2 :Else if Q>S :Then K-Q→K:Goto 2:Ifend:Ifend:Ifend↙
Lb1 4↙
Pol (X-Z[18],Y-Z[19]:
"DP(-Z+Y)=":I◢(偏距)
"K=":K+S→K◢(里程)
Goto 1↙
子程序坐标正算 名称:ZBZS
Lb1 0 ↙
“XHS="G(后视点X):"YHS="L(后视点Y):"XZJ="M(置镜点X):"YZJ="N(置镜点Y):Pol(G-M,L-N):"DH=":I(后视距)◢J<0=>J+360→J:"FH=":JDMS◢(后视方位角)
Lb1 1↙
“K=”K :(输入所需计算里程)Prog"SJK "↙
XI : Z[18]↙
YI: Z[19] ↙
Pol(Z[18]-M,Z[19]-N): J<0=>J+360→J↙
“PJ=”P↙ (输入桩与线路夹角)
“PD=”D↙ (输入桩距中线的距离)
Z[18]+DCos(T+P) →Z[20] ↙
Z[19]+DSin(T+P) →Z[21] ↙
“X=”: Z[20] ◢ (放样坐标X)
“Y=”: Z[21] ◢ (放样坐标Y)
Pol(Z[20]-M,Z[21]-N):"D=":I◢(放样距)J<0=>J+360→J:"F=":JDMS◢(放样方位角)
Goto 1↙
子程序数据库 名称:SJK
if K<本段曲线终点里程 And K≥上段曲线终点里程 :Then 本段曲线终点里程→Z[1] : 上段曲线终点里程(第一段曲线输起点的里程)→Z[2] :1→O (注:左偏曲线输入-1→O,右偏曲线输入1→O): 半径→R : 曲线偏角→A:第一缓和曲线→Z[6] : 第二缓和曲线→Z[7] : 交点 X→B :交点 Y→C : 小里程向交点方位角→E : 交点向大里程方位角→F : Prog”JSPB”:Return: Ifend↙
if…………Prog”JSPB”:Return:Ifend(曲线段分段输入)↙
补充直线段输入如下 (只需输线路的最后一段直线数据)
if K<本段直线终点里程 And K≥本段直线起点里程:Then 本段直线终点里程→Z[3]:终点X→Z[16]:终点Y→Z[17]:方位角→E: Z[16]+ (K- Z[3])Cos(E)→Z[18]:Z[17]+ (K- Z[3])Sin(E)→Z[19] : Return:Ifend↙
子程序计算判别 名称:JSPB
Lb1 2 ↙(曲线要素计算)
Z[6]/2- Z[6]^3/(240R^2)+ Z[6]^5/(34560R^4) →Z[8] ↙ (M1)
Z[7]/2- Z[7]^3/(240R^2)+ Z[7]^5/(34560R^4) →Z[9] ↙ (M2)
Z[6]^2/(24R)- Z[6]^4/(2688R^3) →Z[10] ↙ (P1)
Z[7]^2/(24R)- Z[7]^4/(2688R^3) →Z[11] ↙ (P2)
πAR/180+05( Z[6]+ Z[7])→Z[25] ↙ (曲线总长)
90 Z[6]/(Rπ) →Z[14] ↙ (第一缓和曲线总偏角)
90 Z[7]/(Rπ) →Z[15] ↙(第二缓和曲线总偏角,可以省略)
Z[8]+(R+Z[10])Tan(A/2)-(Z[10]-Z[11] )/Sin( A)→Z[12]↙ (切线T1)
Z[9]+(R+Z[11])Tan(A/2)+(Z[10]-Z[11] )/Sin (A)→Z[13]↙ (切线T2)
B+ Z[12]Cos (E+180)→ Z[16] ↙ (ZH点X)
C+ Z[12]Sin(E+180)→ Z[17] ↙ (ZH点Y)
Z[1]- Z[25]→Z[3] ↙ (ZH点里程)
Z[3]+ Z[6]→Z[4] ↙ (HY点里程)
Z[1]- Z[7]→Z[5] ↙ (YH点里程)
Goto 3 ↙
LB1 3 ↙(判断里程点与曲线关系)
if K≤Z[3] And K> Z[2] : Then Goto 4 : Ifend ↙
if K≤Z[4] And K> Z[3] : Then Goto 5 : Ifend ↙
if K≤Z[5] And K> Z[4] : Then Goto 6 : Ifend ↙
if K≤Z[1] And K> Z[5] : Then Goto 7 : Ifend ↙
Lb1 4 ↙(里程小于直缓点直线独立坐标)
K- Z[3] →Z[23] : 0→Z[24] : E→T : Goto 8↙
Lb1 5 ↙(第一缓和曲线独立坐标)
K- Z[3] →H ↙
H-H^5/(40R^2 Z[6]^2)+H^9/(3456R^4 Z[6]^4) →Z[23] ↙
H^3/(6R Z[6])-H^7/(336R^3 Z[6]^3) →Z[24] ↙
90H^2/( Rπ Z[6]) →T ↙
if O>0 :Then T +E→T : Eles E-T →T : T<0=>360+T→T : Ifend ↙
Goto 8 ↙
Lb1 6 ↙(圆曲线独立坐标)
K- Z[4] →H ↙
H180/( Rπ)+ Z[14]→T ↙
RSin(T)+ Z[8]→Z[23] ↙
R(1-Cos(T))+ Z[10]→Z[24] ↙
if O>0 :Then T +E→T : Eles E-T →T : T<0=>360+T→T : Ifend ↙
Goto 8 ↙
Lb1 7 ↙(第二缓和曲线独立坐标)
Z[1] -K →H ↙
H-H^5/(40R^2 Z[7]^2)+H^9/(3456R^4 Z[7]^4) →U↙
H^3/(6R Z[7])-H^7/(336R^3 Z[7]^3) →V ↙
90H^2/( Rπ Z[7]) →T ↙
Z[13]Cos(A)+ Z[12]-UCos(A)-VSin(A)→Z[23] ↙
Z[13]Sin(A)-USin(A)+VCos(A)→Z[24] ↙
if O>0 :Then F-T→T : T<0=>360+T→T : Else F+T →T : Ifend ↙
Goto 8 ↙
Lb1 8
if O<0 : Then - Z[24]→Z[24] : Ifend ↙
Z[16]+Z[23]Cos(E) -Z[24]Sin(E)→Z[18] ↙
Z[17]+Z[23]Sin(E)+Z[24]Cos(E)→Z[19] ↙
Return↙
圆曲线中边桩坐标计算公式:
L=F-H;
注:L---所求点曲线长;F---所求点里程;H---圆曲线起点(ZY点桩号里程)
X=XZY+2×R×SIN(L÷2R)×COS{α±(L÷2R)}+S×COS{α±(L÷R)+M};
Y =YZY+2×R×SIN(L÷2R)×SIN{α±(L÷2R)}+S×SIN{α±(L÷R)+M}
注:
α---线路方位角;
M---所求边桩与路线的夹角;
S---所求边桩至中桩的距离;
"±"---曲线左偏取“-”右偏取“+”;
当S=0时为中桩坐标。
经高速公路施工一线使用效果很好。
记住在公式中加入Excel的Radians()函数将度转为弧度即可轻松方便地使用,
从ZY点坐标准确快速推算地计算出整条圆曲线。
注意要分清左偏右偏两种情况。 圆曲线中边桩坐标计算公式:
L=F-H;
注:L---所求点曲线长;F---所求点里程;H---圆曲线起点(ZY点桩号里程)
X=XZY+2×R×SIN(L÷2R)×COS{α±(L÷2R)}+S×COS{α±(L÷R)+M};
Y =YZY+2×R×SIN(L÷2R)×SIN{α±(L÷2R)}+S×SIN{α±(L÷R)+M}
注:
α---线路方位角;
M---所求边桩与路线的夹角;
S---所求边桩至中桩的距离;
"±"---曲线左偏取“-”右偏取“+”;
当S=0时为中桩坐标。
经高速公路施工一线使用效果很好。
记住在公式中加入Excel的Radians()函数将度转为弧度即可轻松方便地使用,
从ZY点坐标准确快速推算地计算出整条圆曲线。
注意要分清左偏右偏两种情况。
以上就是关于如何根据matlab拟合的曲线读出图像中点的坐标值全部的内容,包括:如何根据matlab拟合的曲线读出图像中点的坐标值、工程测量中根据图纸如何进行坐标计算、测量员中平曲线中(圆曲线坐标法)怎么输入等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)