matlab 3D绘图详解

版权宣布:本文是视频博客作者的新颖的文字。,不是博主批准,不得认为转载。。 https://blog.csdn.net/shenziheng1/article/details/51012938


  1、三维弧线: plot3()

     →plot3(X1,Y1,Z1,...)

    →plot3(X1,Y1,Z1,LineSpec,...)

    →plot3(...,''PropertyName'',PropertyValue,...)

    →h = plot3(...)

    plot3( 用法与地基 )近亲关系,再演一点钟。 Z 打扮。引用:

>> t= [ 0:*PI]
>> x=2*t; 
>> y=sin(t); 
>> z=cos(t);
>> plot3(x,y,z,博
>> hold on
>> plot3(x,y,z,R,线宽度,2);
 

      

    用plot3( 同时绘制多个三维弧线

当X,Y,Z是相同的人维度的二维打扮。,plot3( )将 X 、Y、Z 应和柱相结成,绘制多个三维弧线。

2、二维datum的复数网格: meshgrid( )

    [X,Y] = meshgrid(x,y)  用矢径 x 和 y 二维打扮x和y的产生物理反应,用于计算两个变量作用 f(x,y的值z) = f(X,Y)。二维打扮X,Y,Z可以用来绘制三维弧线。、三维网格图、三维脸小海图等。。 出口打扮 X 矢径正中鹄的行矢径力量的均等于矢径。 x ,出口打扮 Y 矢径正中鹄的列矢径力量的均等于矢径。 y 。[X,Y] = meshgrid(x)  相当于,Y] = meshgrid(x,x)。 

    使具有某种结构:

x =  -4:0.5:4;
y = ( 4: )'';

X = repmat(x,巨大(y),1);
Y = repmat(y,1,巨大(x)

3、三维网格图 mesh( ) / meshc( ) / meshz( )

网格(X),Y,Z):按打扮绘制 X,Y,Z 脸决定的网格图

        X,Y,Z 都是二维打扮。,它们不可避免的具有相同的人的级数。。X,Y 它也可以是矢径。,但 Z 不可避免的是二维打扮。, [m,n] = 级数(Z),这必然是令人满意的。:巨大(x) = n 且 巨大(y) = m。

网格(Z): 相当于X = 1:n ,Y = 1:m,在内部地 [m,n] = 级数(Z) 

    →mesh(...,C):二维打扮C决定网格色,省略C相当于 C=Z

    →mesh(...,''PropertyName'',PropertyValue,...):设置属性值

    →mesh(axes_handles,...) :定轴作图

    →h = mesh(...):送还勒缰绳使停步

    引用:

>>  x =  -4:0.2:4;
>>  [X,Y] = meshgrid(x);
>>  Z = 无(Sqt(x.^ 2+y.^ 2))
>>  h = 网格(X),Y,Z);
>>  c1 = 收到(h),''FaceColor'');
 

   

 默许位置下,每个方形区域都用留出空白处填满。,因而C1的值 [1,1,1]

    hidden off命令是使每个方形区域不填满无论什么色,是空的,你可以注意到后头的台词。。依据,C2的值是 none

meshc(X,Y,Z)

呼叫办法 mesh 相同的人,在 mesh 夸大轮廓的依据

    引用:

    →meshz(X,Y,Z)

呼叫办法 mesh 相同的人,在 mesh 盾开拓的分界线

4、三维脸图: surf( ) / surfc( )

    矩阵求法 X,Y,Z 决定脸图,决定因素蕴涵 mesh

冲浪(Z) :相当于X = 1:n ,Y = 1:m,在内部地 [m,n] = 级数(Z)

冲浪(Z),C) :二维打扮C决定网格色,省略C相当于 C=Z

冲浪(X),Y,Z) :按打扮绘制 X,Y,Z 脸弧线决定

冲浪(X),Y,Z,C) :

    →surf(...,''PropertyName'',PropertyValue) :设置属性值

    →surf(axes_handles,...):定轴作图

    →h = surf(...) :送还勒缰绳使停步

    引用:

    →surfc(X,Y,Z)

    呼叫办法 surf 相同的人,在 surf 夸大轮廓的依据

    mesh( ) / surf( 少许普通的的属性

属性定义

意思

取值

EdgeColor

格网线色

{ColorSpec} | none | flat | interp

FaceColor

方形网格填满色

ColorSpec | none | {flat} | interp | texturemap

LineStyle

格网线型

{-} | -- | : | -. | none

LineWidth

栅格线宽度

 

Marker

拉环外观

none | + | o | * | . | x | s | d | p | h …..

MarkerEdgeColor

拉环开拓的色

none | {auto} | flat | ColorSpec

MarkerFaceColor

填满拉环点的色

{none} | auto | flat | ColorSpec

MarkerSize

拉环级数

size in points

MeshStyle

网格典型

{both} | row | column

    例:mesh() / surf( )属性设置

>> x =  -10:0.5:10 ;
>> [X,Y] = meshgrid(x);
>> r = 平方(x.^ 2+y.^ 2) EPS
>> Z = sin(r)./r;
>> h = 网格(X),Y,Z,''EdgeColor'',黑色
>> 集中(h),''FaceColor'',''r'');
>> 集中(h),线宽度,2);

 
>> x =  -10:0.5:10 ;
>> [X,Y] = meshgrid(x);
>> r = 平方(x.^ 2+y.^ 2) EPS
>> Z = sin(r)./r;
>> 冲浪(X),Y,Z,''EdgeColor'',没人
 

   

5、应用冲浪 绘制经用的三维脸小海图

    网格()/SURF()三维脸绘制办法:

(1)率先,依据X,Y,打扮决定网格点

(2)网格点在完全同样的向线上衔接到网格上。

(3)在完全同样的列中由格网线衔接的网格点。

(4)用色打扮C决定格网线(面)的色。

应用冲浪 绘制方形立体

拉理念:

将四顶峰划分为2行和2列。,把应和的被归入完全同样的类别放进X,Y,Z衣服可以绘制。。同样地,对 2n 边形,可将 2n顶峰划分 N列2行 "或" N行2列 "举行处置。对凹龟裂状,这么大的的处置能够是反对的的。。

    引用

 

>> clc;
>> clear all;
>> close all;
>> A = [1;0;2];
>> B = [3;0;3];
>> C = [1;0;0];
>> D = [3;0;0];

>> P = [A,B;C,D];
 
>> X = P([1,4],:);
>> Y = P([2,5],:);
>> Z = P([3,6],:);
>> h = 冲浪(X),Y,Z);
>> 集中(h),''FaceColor'',''b'');
>> 轴(0),4,-1,1,0,4]);
 

   

应用冲浪 绘制正方形立体

拉理念:

        设想一下,有两点。,但它们完整适合。,依据有四顶峰。,可分为2行2列。,把应和的被归入完全同样的类别放进X,Y,Z衣服可以绘制。。选择正常的的顶峰,这种思惟可以应用于恣意龟裂状。。

    例:画一点钟矩形的曲面图(总普通的六点面)


>> L = 地产(1)
>> W = 地产(1)
>> H = 地产(1)
>> A = 地产(3),1);
>> B = A + [L;0;0];
>> C = B + [0;W;0];
>> D = A + [0;W;0];
>> r1 = repmat(A,1,5);
>> r2 = [A,B,C,D,a]
>> r3 = r2 + repmat([0;0;H],1,5);
>> r4 = repmat(r3(:,1),1,5);
>> P= [R1;R2;R3;R4]
>> X = P(1:3:end,:);
>> Y = P(2:3:end,:);
>> Z = P(3:3:end,:);
>> 冲浪(X),Y,Z,''FaceColor'',''b'',''EdgeColor'',没人
>> axis vis3d
>> hold on
>> x = X(2:3,:);   % x,y,Z用来画线框。
>> y = Y(2:3,:);
>> z = Z(2:3,:);
>> plot3(x,y,z,''r'',线宽度,3);
>> plot3(x'',y'',z'',''r'',线宽度,3);
 

   

应用冲浪 一致于XOy立体绘制必须使用的龟裂状立体

绘制特别图形

>> z1 = 0   脚步立体
>> z2 = 2 ;  顶面位的立体。
>> M = 20 ; % 求救信号数
>> N = 20; % 经络数
>> t = linspace(0,2*pi,N);
>> s = linspace(0,2*pi, M)'';
>> r = (2 + 十恶不赦(S)
>> h = linspace(z1,z2, M)'';
>> X = r*cos(t);
>> Y = r*sin(t); 
>> Z = H*(胶料)
>> 冲浪(X),Y,Z);

 
>> z1 = 0   脚步立体
>> z2 = 2 ;  顶面位的立体。
>> M = 20 ; % 求救信号数
>> N = 20; % 经络数
>> t = linspace(0,2*pi,N);
>> s = linspace(0,2*pi, M)'';
>> r = (2 + 十恶不赦(S)
>> h = linspace(z1,z2, M)'';
>> [T,R] = meshgrid(t,r);
>> [T,H] = meshgrid(t,h);
>> X = R.*cos(T);
>> Y = R.*sin(T);
>> Z = H;
>> 冲浪(X),Y,Z);

 
>> z1 = 0   脚步立体
>> z2 = 2 ;  顶面位的立体。
>> M = 20 ; % 求救信号数
>> N = 20; % 经络数
>> t = linspace(0,2*pi,N);
>> s = linspace(0,2*pi, M)'';
>> r = (2 + 科斯科斯岛(S)
>> h = linspace(z1,z2, M)'';
>> X = r*cos(t);
>> Y = r*sin(t); 
>> Z = H*(胶料)
>> 冲浪(X),Y,Z);
 
 

>> z1 = 0   脚步立体
>> z2 = 2 ;  顶面位的立体。
>> M = 20 ; % 求救信号数
>> N = 20; % 经络数
>> t = linspace(0,2*pi,N);
>> s = linspace(0,2*pi, M)'';
>> r 罪(S)/(S EPS)
>> h = linspace(z1,z2, M)'';
>> X = r*cos(t);
>> Y = r*sin(t); 
>> Z = H*(胶料)
>> 冲浪(X),Y,Z);
 
>> r = 2;    %球半径
>> r = 2;    %球半径
>> N = 30;  求救信号数
>> phi = 0:2*pi/M:2*pi ;
>> theta = linspace(0,pi,N)'';
>> X = R*SiN(θ)*-CoS(φ)
>> Y = R*SiN(θ)**无(φ) 
>> Z = R*COS(θ)*(胶料(φ))
>> 冲浪(X),Y,Z);
>> axis square;
 
>> r = 2;
>> theta = linspace(0,pi,20);
>> phi = linspace(0,2*pi,21);
>> [T,网眼网格(θ),φ)
>> X = R*SIN(t)**CoS(p)
>> Y = R*SIN(t)**SiN(p)
>> Z = r.*cos(T);
>> 冲浪(X),Y,Z);
>> axis square;
 

   

Matlab规定气缸拉深功用

    →[X,Y,=环形柱 送还半径为1。、环形柱脸的高音调的为1的x,y-,Z轴被归入完全同样的类别值,环形柱的围长为在完全同样的间隔上有20个点。。

    →[X,Y,=环形柱(r) 送还R的半径、高音调的为1的X。,y-,Z轴被归入完全同样的类别值,环形柱的围长为在完全同样的间隔上有20个点。。

    →[X,Y,=环形柱(r,n) 送还R的半径、高音调的为1的X。,y-,Z轴被归入完全同样的类别值,环形柱的围长为具有相同的人的N间隔。

    →cylinder(...) 画一点钟环形柱。

    →sphere  三维直角被归入完全同样的类别系正中鹄的单元球。单位形成球体有20×20边。。

    形成球体(n) 绘制流传的被归入完全同样的类别系。 n*n 个面的球体

    →[X,Y,Z] = 形成球体(n)

送还Cartesian coordina正中鹄的三维被归入完全同样的类别打扮。没绘制命令。,仅送还矩阵。用户可以应用他们的在生活中得到享受。   令冲浪(X),Y,Z)或网格(X),Y,z)绘制单位形成球体的形成球体或立即的应用形成球体(n)绘制

MATLAB规定椭球椭球体绘制作用

    →[x,y,z] = 椭球体,yc,zc, a,b,c,n)

送还基址图datum的复数,x,y,Z是(n 1)x(n 1)的二维打扮。

    →[x,y,z] = 椭球体,yc,zc,a,b,c)

送还基址图datum的复数,n = 20

    →ellipsoid(axes_handle,在约定轴上画椭球。

    →ellipsoid(...)   图样椭球

>> [x, y, z] = 椭球体(0),0,0,3,2,1,30);
>> 冲浪(X), y, z);
>> axis equal