www.gusucode.com > map 案例源码 matlab代码程序 > map/UsingOpacityAndTransparencyInGlobeDisplaysExample.m

    %% Using Opacity and Transparency in Globe Displays
% This example shows how to create an opaque surface over which you can
% display line and point data. This can be useful with Globe displays that
% depict 3-D objects. You can see into and through them as long as no
% opaque surfaces (e.g., patches or surfaces) obscure your view. This can
% be particularly disorienting for point and line data, because features on
% the back side of the world are reversed and can overlay features on the
% front side.
%%
% Create a figure, set up a Globe display, and draw a graticule in a light
% color, slightly raised from the surface. To ensure that the surface
% displays over the entire globe, set the Clipping property of the axes
% object to 'off'.
figure
ax = axesm('globe');
ax.Clipping = 'off';
gridm('GLineStyle','-','Gcolor',[.8 .7 .6],'Galtitude',.02)
%%
% Load and plot the coast data in black, and set up a 3-D perspective. Use
% the Rotate 3D tool on the figure's toolbar to rotate the view. Note how
% confusing the display is because of its transparency.
load coastlines
plot3m(coastlat,coastlon,.01,'k')
view(3)
axis off
zoom(2)
%%
% Make a uniform 1-by-1-degree grid and create a raster referencing object
% for it.
base = zeros(180,360);
baseR = georefcells([-90 90],[0 360],size(base));
%%
% Render the grid onto the globe, color it copper, light it from camera
% right, and make the surface reflect more light. The copper surface
% effectively hides all lines on the back side of the globe.
copperColor = [0.62 0.38 0.24];
geoshow(base,baseR,'FaceColor',copperColor)
camlight right
material([.8 .9 .4])