MATLAB三维绘图(五)高级三维绘图

您所在的位置:网站首页 matlab三维图的绘制 MATLAB三维绘图(五)高级三维绘图

MATLAB三维绘图(五)高级三维绘图

2023-04-14 16:13| 来源: 网络整理| 查看: 265

MATLAB三维绘图(五)高级三维绘图

1、colorbar查看三维绘图中的内建颜色表,示例:

%% 画三维图 clear; clc; close all; [x, y] = meshgrid(-3:.2:3,-3:.2:3); % 生成网格 z = x.^2 + x.*y + y.^2; % z的表达式 subplot(1,2,1); surf( x, y, z); % 画三维图 box on; set(gca,'FontSize', 16,'xLim',[-4 4],'yLim',[-4 4]); % 设置字体颜色和坐标 zlabel('z'); xlabel('x'); ylabel('y'); subplot(1,2,2); imagesc(z); % 获取在z轴上的颜色深度表 colorbar; % 显示颜色条 axis square; % 坐标相等 xlabel('x'); ylabel('y');

效果显示: 在这里插入图片描述 2、使用colormap设置指定的颜色表,示例:

%% 使用colormap函数指定使用的颜色表 clear; clc; close all; x=-10:0.1:10; %绘图数据 y=-10:0.1:10; [X,Y]=meshgrid(x,y); z=X.^2+Y.^2; figure; %图形窗口 surf(x,y,z); %三维图的绘制函数 colormap('cool'); %设置颜色 shading interp; axis square; %坐标轴设置 xlabel('x'); %图形标注 ylabel('y'); zlabel('z');

效果显示: 在这里插入图片描述 3、使用view函数设定观察三维图形的视角,示例:

%% 使用view设定不同的视角去看图形 clear; clc; close all; sphere(50); % 画球 shading flat; % 显示风格 material shiny; axis vis3d off; % axes画板 set(gcf,'Color',[1 1 1]); % 设置figure板为白色 view(-45,20); % 设置固定角度去看图

效果显示: 在这里插入图片描述 4、使用light函数增加光照,示例:

%% 增加光照 clear; clc; close all; sphere(50); % 画球 shading flat; % 显示风格 light('Position',[1 3 2]); % 光照的位置 light('Position',[-3 -1 3]); material shiny; axis vis3d off; % axes画板 set(gcf,'Color',[1 1 1]); % 设置figure板为白色

效果显示: 在这里插入图片描述 5、获取light函数句柄设置使用光照的颜色,示例:

%% 获取光照句柄显示不同的光照的效果 clear; clc; close all; [X, Y, Z] = sphere(64); % 画球,并且获取坐标值 h = surf(X, Y, Z); axis square vis3d off; % 坐标尺度相同,并且不显示axes画板 reds = zeros(256, 3); % 创建一个256*3的零矩阵 reds(:, 1) = (0:256.-1)/255; colormap(reds); % 显示颜色 shading interp; lighting phong; % 设置光照 set(h, 'AmbientStrength', 0.75, 'DiffuseStrength', 0.5); L1 = light('Position', [-1, -1, -1]); % 获取光照的位置句柄 set(L1, 'Position', [-1, -1, 1]); % 补光 set(L1, 'Color', 'g'); % 补绿光

效果显示: 在这里插入图片描述 6、显示光的效果,示例:

%% 显示光的效果 clear; clc; close all; v = [0 0 0; 1 0 0 ; 1 1 0; 0 1 0; 0.25 0.25 1; ... 0.75 0.25 1; 0.75 0.75 1; 0.25 0.75 1]; f = [1 2 3 4; 5 6 7 8; 1 2 6 5; 2 3 7 6; 3 4 8 7; 4 1 5 8]; subplot(1,2,1); patch('Vertices', v, 'Faces', f, ... 'FaceVertexCData', hsv(6), 'FaceColor', 'flat'); view(3); axis square tight; grid on; subplot(1,2,2); patch('Vertices', v, 'Faces', f, ... 'FaceVertexCData', hsv(8), 'FaceColor', 'interp'); view(3); axis square tight; grid on;

效果显示: 在这里插入图片描述 7、加载MATLAB提供的数据显示一个三维地图效果,示例:

%% 绘制地图 clear; clc; close all; load cape X=conv2(ones(9,9)/81,cumsum(cumsum(randn(100,100)),2)); surf(X,'EdgeColor','none','EdgeLighting','Phong',... 'FaceColor','interp'); colormap(map); caxis([-10,300]); grid off; axis off;

效果显示: 在这里插入图片描述

想了解更多绘图信息,请看下面博文: 三维: MATLAB三维绘图(四)绘制特殊的三维图 MATLAB三维绘图(三)绘制等值线图 MATLAB三维绘图(二)使用隐函数作三维图 MATLAB三维绘图(一)三维基础绘图 MATLAB三维绘图基础meshgrid函数的用法解析

二维: MATLAB二维绘图(四)其他特殊的二维绘图函数介绍及用法 MATLAB二维绘图(三)操作绘图句柄显示特定的效果 MATLAB二维绘图(二)向图中添加标题,坐标轴,图标和文字信息 MATLAB二维绘图(一)使用plot函数进行简单绘图 fill填充函数解析及用法示例



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3