生成小圆
小圆是平面与球面相交形成的圆,例如地球球面投影上的纬线。您可以使用 scircle2 函数,以中心点和周长上的一点为参数,生成一个小圆。您可以使用 scircle1 函数,根据中心点和半径的弧长生成一个小圆。
在此示例中,请使用 scircle2 函数绘制一个包围挪威、瑞典和芬兰的小圆,然后使用 scircle1 函数绘制一个完全相同的小圆。
首先,指定中心点和周长上某一点的坐标。使用 scircle2 函数求出构成该小圆的 100 个点的坐标。
centerLat = 62;
centerLon = 20;
perimeterLat = 72;
perimeterLon = 19;
[lat2,lon2] = scircle2(centerLat,centerLon, ...
perimeterLat,perimeterLon);计算中心点与周长上某一点之间的弧长(单位:度)。使用 scircle1 函数求出该小圆的坐标。
[arclen,~] = distance(centerLat,centerLon, ...
perimeterLat,perimeterLon);
[lat1,lon1] = scircle1(centerLat,centerLon,arclen);确认这些小圆在公差范围内是否完全一致。
dLat = abs(lat1-lat2); dLon = abs(lon1-lon2); all(dLat < 1e-12)
ans = logical
1
all(dLon < 1e-12)
ans = logical
1
在地理球体的表面上标出中心点、周长点和小圆。使用 campos 函数更改视图。
uif = uifigure; g = geoglobe(uif,Terrain="none"); hold(g,"on") geoplot3(g,centerLat,centerLon,0,"ro",LineWidth=2) geoplot3(g,perimeterLat,perimeterLon,0,"ro",LineWidth=2) geoplot3(g,lat1,lon1,0,"r",LineWidth=2) campos(g,40,-18,10000000)
