matlab怎么绘制三维柱状图_基于MATLAB的三维网格绘制

MATLAB三维网格绘制

1.输入

基于MATLAB的三维网格绘制必备的输入有:

1)节点坐标信息;

2)网格信息。

基于以上两点再借助patch函数即可完成网格绘制,通过以下例子做具体说明。

2. 四面体网格绘制

考虑如下四面体:

matlab怎么绘制三维柱状图_基于MATLAB的三维网格绘制_第1张图片

1cc1d187e6a0b62ef856df0af50405f8.png

给出如下程序,注意patch函数的输入:

——————————————————————————————————

clc

clear

%%%输入%%%%

points=[0,1,0.5;

0,0,1;

-1,0,0;

1,0,0];%节点信息

mesh=[1,2,3,4];%网格信息

%%%绘图%%%%

for i=1:length(mesh(:,1))%循环每个网格

%四面体单元结点坐标

vertices_matrix = [points(mesh(i,:),1),points(mesh(i,:),2),points(mesh(i,:),3)];

%四面体单元结点顺序

faces_matrix=[1 2 3; 2 3 4;3 4 1;4 1 2];%给出每个面节点序号,顺时针或者逆时针排列

h=patch('vertices', vertices_matrix,'faces',faces_matrix,'facecolor','b');

view(3);hold on%绘图

end

axis equal

——————————————————————————————————

得到效果如下:

1cc1d187e6a0b62ef856df0af50405f8.png

matlab怎么绘制三维柱状图_基于MATLAB的三维网格绘制_第2张图片

1cc1d187e6a0b62ef856df0af50405f8.png

3. 六面体网格绘制

考虑如下六面体,注意patch函数的输入:

matlab怎么绘制三维柱状图_基于MATLAB的三维网格绘制_第3张图片

1cc1d187e6a0b62ef856df0af50405f8.png

给出如下程序:

——————————————————————————————————

clc

clear

%%%输入%%%%

points=[0,0,1;

1,0,1;

1,1,1;

0,1,1;

0,0,0;

1,0,0;

1,1,0;

0,1,0;];%节点信息

mesh=[1,2,3,4,5,6,7,8];%网格信息

for i=1:length(mesh(:,1))%绘图

%六面体单元结点坐标

vertices_matrix = [points(mesh(i,:),1),points(mesh(i,:),2),points(mesh(i,:),3)];

%六面体单元结点顺序

faces_matrix=[1 2 3 4;2 6 7 3;6 5 8 7;5 1 4 8; 4 3 7 8; 5 6 2 1];%给出每个面节点序号,顺时针或者逆时针排列

h=patch('vertices', vertices_matrix,'faces',faces_matrix,'facecolor','b');

view(3);hold on%绘图

end

axis equal

得到效果如下:

1cc1d187e6a0b62ef856df0af50405f8.png

matlab怎么绘制三维柱状图_基于MATLAB的三维网格绘制_第4张图片

4. 网格颜色的设置

如果你不喜欢这种蓝色,想看红色网格怎么办呢?很简单,只要把:

h=patch('vertices', vertices_matrix,'faces',faces_matrix,'facecolor','b');

中的'b'换为'r'。

得到效果如下:

matlab怎么绘制三维柱状图_基于MATLAB的三维网格绘制_第5张图片

1cc1d187e6a0b62ef856df0af50405f8.png

如果你还不满意,想要设置一个MATLAB颜色库里没有的颜色,比如灰色,咋办呢?也很简单,只要把上面的’b’换成RGB值:[0.5,0.5,0.5]得到效果如下:

matlab怎么绘制三维柱状图_基于MATLAB的三维网格绘制_第6张图片

1cc1d187e6a0b62ef856df0af50405f8.png

5. 网格透明的设置

如果你还想看清楚网格内部的线条,就需要进行网格透明设置,网格透明设置在patch函数后,加上下面一行:

alpha(0.2);

得到效果如下:

1cc1d187e6a0b62ef856df0af50405f8.png

matlab怎么绘制三维柱状图_基于MATLAB的三维网格绘制_第7张图片

“alpha(0.2)”中的数字范围在0—1之间,该数字越小,透明化程度越高。

大家有相关需求可以添加管理员微信号:CAE320,同时也欢迎大家关注“320科技工作室”的微信公众号,扫一扫二维码即可关注~~

matlab怎么绘制三维柱状图_基于MATLAB的三维网格绘制_第8张图片

你可能感兴趣的:(matlab怎么绘制三维柱状图,matlab设置rgb颜色)