精华内容
下载资源
问答
  • Matlab画圆柱程序,已知三维空间中的两点(圆柱中轴的点),可以绘制圆柱的函数,转载的别人的。
  • 使用Matlab绘制三维圆柱体和球体

    万次阅读 2019-03-15 20:45:57
    例1,绘制一个圆柱体的三维图像,要求圆柱体底面圆心在坐标原点,底面半径为3,高度为2,颜色为红色。 [x,y,z]=cylinder(3); %调用cylinder函数‘()’内半径为3. 运行此命令后系统自动为x,y,z填充了数据 z(2,:)=2;...

    使用Cylinder功能函数绘制圆柱体侧面

    在matlab中自带了绘制圆柱体的功能函数cylinder,其用法如下:
    例1,绘制一个圆柱体的三维图像,要求圆柱体底面圆心在坐标原点,底面半径为3,高度为2,颜色为红色。

    [x,y,z]=cylinder(3);  %调用cylinder函数‘()’内半径为3. 运行此命令后系统自动为x,y,z填充了数据
    z(2,:)=2;      %设置矩阵Z的第二行数值全为2,即设置圆柱体高度
    subplot(1,2,1);            %绘制子图像(1,2,1)代表一行两列的第一个图像
    surf(x,y,z,'FaceColor',[1,0,0]);       %使用surf功能将x,y,z的数据导入。FaceColor即设置圆柱体颜色,红色色号为[1,0,0]
    daspect([1 1 1])                  %设置x,y,z坐标间距等长。
    view(30,30)                     %设置图像显示角度
    hold on                                %停止图像刷新
    

    上述代码的结果如下
    在这里插入图片描述

    从图中可看出,我们还缺少顶盖和底盖。可用如下代码实现:

    theta = linspace(0,2*pi,40)       %将一个圆周分为40份
    X=3*cos(theta);                    %将cos值赋予x
    Y=3*sin(theta);                     %将sin赋予Y
    Z=ones(size(X))+1;                 %设置Z与X长度想等
    fill3(X,Y,Z,[1,0,0]);                  %使用Fill3功能函数,填充XYZ所围成的区域,这个是顶盖
    fill3(X,Y,Z-2,[1,0,0]);              %底盖
    

    运行结果如下:
    在这里插入图片描述

    这样就可得到一个封闭完整的圆柱体。 下面再来绘制一个球体。
    例2.绘制一个中心在(8,-2,2),半径为4的蓝色球体。

    [x1 y1 z1]=sphere;       %将球体数据写入三矩阵中
    a=[8 -2 2  4];                  %设置参数
    subplot(1,2,2);                  %绘制子图像2
    s1=surf(x1*a(1,4)+a(1,1),y1*a(1,4)+a(1,2),z1*a(1,4)+a(1,3),'FaceColor',[0,0,1]);
                             %将已配置好的数据用surf函数绘制成三位图像
    daspect([1 1 1])         %设置坐标轴长度等长
    view(30,10)               %设置舒服的观看角度
    

    结果:
    在这里插入图片描述

    将上述代码写到一个脚本中即可完整的绘制出一个封闭的红色圆柱体和一个封闭的蓝色球体。这篇文章只要参考mathwork英文网站上的surf教学,笔者使用的是matlab2018b,希望能够帮助刚刚入门matlab的伙伴快乐的学习matlab。

    展开全文
  • MATLAB画三维球体、半球体、圆柱、山峰等图像,源代码,可直接运行
  • matlab在二维平面和三维空间中绘制圆形 二维平面绘制圆形 方法1: x = 10;y = 10;%圆心 r = 5; %半径 rectangle('Position',[x-r,y-r,2*r,2*r],'Curvature',[1,1],... 'FaceColor',[0.5 0.5 0.5],'EdgeColor',[0.5 ...

    matlab在二维平面和三维空间中绘制圆形

    二维平面绘制圆形

    方法1:

    x = 10;y = 10;%圆心
    r = 5; %半径
    rectangle('Position',[x-r,y-r,2*r,2*r],'Curvature',[1,1],...
    	'FaceColor',[0.5 0.5 0.5],'EdgeColor',[0.5 0.5 0.5],'linewidth',1,'LineStyle','-')
    axis([0 100 0 100])
    axis square
    set(gca,'XTick',0:10:100);
    set(gca,'YTick',0:10:100);
    

    方法1的结果

    方法2:

    x = 30;  % 圆心
    y = 40; % 圆心
    r = 15; 半径
    theta=0:0.01:2*pi ; % 圆滑性设置
    Circle1=x+r*cos(theta);
    Circle2=y+r*sin(theta);
    plot(Circle1,Circle2,'Color','k','linewidth',1);
    axis([0 100 0 100])
    axis square
    set(gca,'XTick',0:10:100);
    set(gca,'YTick',0:10:100);
    

    方法2的结果

    三维空间绘制圆形

    h = 5; % 高度
    r = 20;  %半径
    pos = [20,70]; % 圆心位置
    t=0:0.001:(2*pi);  % 圆滑性设置
    t=[t,0];
    plot3(pos(1)+r*sin(t),pos(2)+r*cos(t), h*ones(size(t)))
    axis([0 100 0 100])
    axis square
    set(gca,'XTick',0:10:100);
    set(gca,'YTick',0:10:100);
    
    展开全文
  • 文章目录一、引言二、绘制三维空间曲线三、绘制三维空间曲面1. 基本概念2. 示例(1)3. 示例(2)4. 等高线的曲面图5. 被光照射带阴影的曲面6. 图形修饰方法四、绘制等高线 一、引言 一图胜前言,本篇文章的目的就是...
    展开全文
  • matlab绘制三维图实例

    2012-03-03 15:16:32
    十几个matlab绘制三维图的实例,详细的代码以及注解,含有运行以后的figure,图像
  • 主要用MATLAB直接建立了一个三维的圆柱体模型结构,用于图像处理的仿真
  • MATLAB绘制三维偏振光动画

    千次阅读 2020-01-24 15:28:09
    MATLAB绘制三维偏振光动画基础代码功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants...

    MATLAB:绘制三维偏振光动画

    基础

    偏振光波包括线偏振、圆偏振、椭圆偏振几个方向,其中线偏振的电场公式为:
    E ⃗ 1 = e ⃗ 1 E 1 e i ( k ⃗ ⋅ r ⃗ − w t ) \vec E_1=\vec e_1E_1e^{i(\vec k\cdot \vec r-wt)} E 1=e 1E1ei(k r wt)

    两个线偏振可以合成圆偏振和椭圆偏振,其区别在于相位和幅度。
    将公式做变形处理,取实部:
    E ⃗ 1 = e ⃗ 1 E 10 c o s ( k ⃗ ⋅ r ⃗ − w t + φ 1 ) \vec E_1=\vec e_1E_{10}cos(\vec k\cdot \vec r-wt+\varphi_1) E 1=e 1E10cos(k r wt+φ1)
    E ⃗ 2 = e ⃗ 2 E 20 c o s ( k ⃗ ⋅ r ⃗ − w t + φ 2 ) \vec E_2=\vec e_2E_{20}cos(\vec k\cdot \vec r-wt+\varphi_2) E 2=e 2E20cos(k r wt+φ2)

    代码

    
    u0 = 4*pi*1e-7;            %自由空间中的磁导率
    e0 = 1e-9/(36*pi);         %自由空间中的电介质常数
    f = 3*1e8;                 %电磁波的频率,单位Hz
    w = 2*pi*f;
    k = w*(u0*e0)^0.5;         %计算波数
    pha=pi/2;                  %相位差
    z=0:0.01:5;                %假设传播方向沿+z正方向
    i=1;
    fmat=moviein(10000);       %建立一个10000帧的动画
    
    for t=0:0.05:2
    Ex=cos(2*pi*t-k*z);        %计算x方向上t时刻,z平面的电场振幅
    Ey=cos(2*pi*t-k*z+pha);    %计算y方向上t时刻,z平面的电场振幅,
    
    h=figure;set(h,'Visible','off');%设置不弹窗,避免和movie重复了
    
    plot3(Ex,Ey,z);            %3维图
    xlabel('Ex')               %x,y,z坐标名
    ylabel('Ey')          
            zlabel('Z')            
            title('圆极化波传播','fontsize',14)   
    %图像命名
    
    hold on 
    grid on                   %格点
    hold on
    quiver3(0,0,0,Ex(1),Ey(1),z(1));   %矢量箭头
    hold off
    fmat(:,i)=getframe;      %抓取图像放入fmat
    i=i+1;     
    end
    
    h=figure(1);
    set(h,'Visible','on');
    movie(fmat,1,7);         %将fmat以每秒7帧的速度播放一遍
    

    此处建立的是动画,有许多不足的地方,例如:

    fmat=moviein(10000);       %建立一个10000帧的动画

    提前开辟一个足够大的空间不如一边生成图片一边开辟

    所以稍加改动重新设计了一个生成gif的程序

    u0 = 4*pi*1e-7;            %自由空间中的磁导率
    e0 = 1e-9/(36*pi);         %自由空间中的电介质常数
    f = 3*1e8;                 %电磁波的频率,单位Hz
    w = 2*pi*f;
    k = w*(u0*e0)^0.5;         %计算波数
    pha=1.2;                  %相位差
    
    z=0:0.01:5;                %假设传播方向沿+z正方向
    %i=1;
    pic_num=1;                 %帧数
    for t=0:0.05:5
        Ex=cos(2*pi*t-k*z);     %计算x方向上t时刻,z平面的电场振幅
        Ey=2*cos(2*pi*t-k*z+pha); %计算y方向上t时刻,z平面的电场振幅,
      
        plot3(Ex,Ey,z);         %3维图
        xlabel('Ex')            %x,y,z坐标名
        ylabel('Ey')          
        zlabel('Z')            
        title('圆极化波传播','fontsize',14)    %图像命名
        hold on 
        grid on                %格点
        hold on
        quiver3(0,0,0,Ex(1),Ey(1),z(1));    %矢量箭头
        hold off
        F=getframe;            %抓取当前图像
        I=frame2im(F); 
        [I,map]=rgb2ind(I,256);%因gif不支持三维数据,所以应调用 rgb2ind,将rgb图像转为关联256种色彩的索引图像
        if t==0
            imwrite(I,map,'test.gif','gif'); %创建一个.gif文件,将索引图像数组和其关联的颜色图写入
        else     
            imwrite(I,map,'test.gif','gif','WriteMode','append','DelayTime',0.01);%将多个图像并入第一个,帧间加入0.01s的延时
        end
        pic_num=pic_num+1;
    end

    pic_num是gif的帧数,每保存一次图片pic_num+1

    展开全文
  • matlab计算三维偏振态

    2018-11-26 15:39:38
    matlab计算光场中某一点的偏振光的三维偏振态并标记
  • MATLAB画三维球体函数

    千次阅读 2020-12-13 18:00:24
    MATLAB画球各函数区别 共四种方法 [u,v,w] = sphere(56); subplot(2,2,1) plot3(u,v,w); title('plot()') subplot(2,2,2) surf(u,v,w) title('surf') subplot(2,2,3) surfl(u,v,w) title('surfl') subplot(2,2,4...
  • 三维空间中,以点为圆心、以向量为法向量、半径为 r 的(见下图), 它的参数方程为:其中,与分别对应单位向量与,它们既垂直于,又互相垂直;随着从0变化到,通过参数方程可以得到上每一个点的坐标。与是满足...
  • 绘制3圆圈 空间圆绘制说明 上图所示是球坐标系下的点(r,θ,ϕ)(r,\theta,\phi)(r,θ,ϕ),球坐标系与对应的空间直角坐标系上某一点(x,y,z)(x,y,z)(x,y,z)之间可通过下式建立联系: x=rsin(θ)cos(ϕ)y=rsin(θ)...
  • matlab画误差椭圆代码人脑结构协方差网络的可靠性和可比性。 支持在Matlab代码中发表在NeuroImage()上的论文“人脑结构协方差网络的可靠性和可比性”。 再现分析 此代码库的目的是使我们的分析透明且可重复。 ...
  • 不废话上图 [r,t]=meshgrid(0:0.1:2,0:0.02:2*pi); x=r.*cos(t); y=r.*sin(t); z=x.^2+y.^2; mesh(x,y,z) ...其实在数学上使用了一个的参数方程来实现绘制区域为圆形的效果在这个区域上面是一个碗状图形
  • 1 MATLAB 大作业 用MATLAB 对椭圆偏振光矢量末端的三维轨迹进行仿真 要求: Ex=cos(wt+a1 Ey=cos(wt+a2 t 取一个半周期左右 m=a1-a1 做出m=0, pi/2, -pi/2, pi/4, -pi/4 时的轨迹图;区别分左/右旋;并与理论作对比,对...
  • 本文是科学计算与MATLAB语言的专题四的第5小节总结笔记,并结合了自己一点的理解,看完本文,可以轻松利用MATLAB相关函数,出漂亮的三维曲面。 1 平面网格数据的生成 在画三维曲面之前,需要将三维曲面对应的平面...
  • 基于matlab偏振光/两相交流电模拟,可以导出gif; 1. 模拟不同频率平面偏振光的合成; 2. 模拟不同相位平面偏振光的合成; 3. 模拟不同幅值平面偏振光的合成; 4. 导出gif
  • Matlab在任意两点之间绘制三维圆柱

    千次阅读 2019-06-07 21:11:52
    此函数可能存在一些不足,请多多指教! function plotcylinder(u1,u2,color_a,r) L=norm(u1-u2); ROD=u2-u1; [X,Y,Z]=cylinder(r,100); x1=X*0;y1=Y*0;z1=Z*0; Z=L*Z-L/2; ROD_midpoint=(u1+u2)/2...y=ROD_midpoint(...
  • Matlab画三维图笔记

    万次阅读 多人点赞 2015-06-09 23:02:10
    plot3 基本的三维曲线图绘制 plot3(x,y,z),x,y,z均为相同长度的向量,会得到三个向量相同下标构成的的三维坐标(xi,yi,zi)(i=1~n)连的曲线 plot3(X,Y,Z),X,Y,Z均为相同大小的矩阵,均为m*n的矩阵时,plot3命令将绘得m...
  • 写论文,从二维变三维空间,对三维工作空间分析,希望创建漂亮的工作空间示意图。二维区域着色已经在之前博文提到过了:Matlab不规则区域渐变色填充及注意事项。这里主要讲三维曲面着色。 方法 实现绘制曲面的函数有...
  • matlab三维柱状图

    千次阅读 2021-04-05 21:20:09
    t1=[0.382,1.494; 1.009 ,3.721; 0.716 , 1.999]; bar3(t1,0.6) set(gca,'XTickLabel',{'with sat(a\Deltax) ','without sat(a\Deltax)'},'FontSize',25) set(gca,'YTickLabel',{'Z','Y','X'},'FontSize',25) ...
  • % 对于超出域的部分进行赋予空值。 i=Z; Z(i)=NaN; %然后对这个筛选完的Z求sqrt Z=sqrt(Z); subplot(1,2,1); mesh(X,Y,Z); % 在第一个子窗口中z=sqrt(1-x.^2-y.^2)的网格曲面。 subplot(1,2,2); surf(X,Y,Z); % ...
  • MATLAB图形绘制--三维图像

    千次阅读 2020-04-03 21:58:34
    MATLAB 科研绘图---三维图像
  • matlab显示三维点并按照顺序绘制: test1 = load('test.asc'); pcshow(test1); scatter3(test1(:,1),test1(:,2),test1(:,3),'filled','MarkerFaceColor',[1 0 0]); x = test1(:,1); y = test1(:,2); z = test1(:,3...
  • 我在完成作业时需要绘制如下图形: 其中涉及到三维图形中向量的绘制,向量大小的推算,坐标原点的推算,三维中两点连线的绘制以及如何将向量归一化的问题。 一个一个来解答: 向量大小的推算 如何将向量归一化 三维...
  • 红色为月均值。蓝线代表每年的月序列。 主要命令通过plot3实现,在侧面图的时候,仍采用plot3命令,但是年份轴要取一个恒定值(2019)。代码有时间再整理。 【1】添加置信区间
  • matlab 上三点圆弧的程序,输入个点坐标即可。
  • 画图主要是用极坐标,我们使用复数的函数来。 clc;%清空上次的 %draw_Bessel%这个东西 a=4;%圆形半径% %定义角向和径向的步长和范围 fai=[-4:0.1:4]; r=[0:0.02:a]; %将fai和r组合起来并生成复平面 [R,T] = ...
  • 圆形阵列的方向图matlab程序,加注释,可以修改相关参数
  • Matlab绘图-详细,全面(二维&三维等)

    万次阅读 多人点赞 2018-09-28 15:12:47
    强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。此外,Matlab还提供了直接对图形句柄进行...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,538
精华内容 1,815
关键字:

matlab画三维圆

matlab 订阅