matlab中patch函数详解
标签:
杂谈 |
http://hi.baidu.com/���³���/blog/item/1d5ab8140a087b07b8127bff
patch函数是matlab中用来给某个区域填充颜色的函数,直接翻译patch就是补丁的意思,看来还真是名副其实啊,下面详细解答一下它的用法吧。
1、 2维情况如下:x、y代表点区域坐标,patch(x, y, [r g b]);
显示如下图:
2、下面是利用patch绘制3维图像,主要有两种格式:一种先给出所有点的x y z坐标,再填充色彩,如下例:
clear
x=[ 0 1 1 0 0 0;
y=[ 0 0 1 1 0 0;
z=[ 0 0 0 0 0 1;
figure(1);
patch(x,y,z,'r');
% 此种patch函数格式,按照面来填充。每个面按点来叙述的. X坐标面是按照列实现,
% 每个面按照逆时针旋转记录,最后一个面要格外注意记录方式。
view(3)
axis([-3 3 -3 3 -3 3]);
xlabel('x /km');
ylabel('y /km');
zlabel('z /km');
grid on;
box
on;
3、另一种是,给出每个点的x y z坐标后,在把每个面用点号表示后,在绘制填充颜色。如下例子:
%
% Learning how to use patch
%
clear
v1=[ 0 0 0;
figure(2);
c=hsv(1);
c1(1,:)=[1 0 0]; %第一个红色
c1(2,:)=[0 1 0]; %2绿色
c1(3,:)=[1 1 0]; %3
c1(4,:)=[1 0 1]; %
c1(5,:)=[1 1 1]; %
c1(6,:)=[0 0 1]; %蓝色
%
%
patch('Vertices',v1,'Faces',f1,...
axis([-3 3 -3 3 -3 3]);
title('patch function show');
xlabel('x /km');
ylabel('y /km');
zlabel('z /km');
grid on;
box
on;

加载中…