MATLAB绘制长方体[patch]

  • 1. 效果展示
  • 2. 代码汇总
  • 3. 函数调用
  • 4. patch函数
  • 5 多多点赞交流

1. 效果展示

例1. 绘制一个原点在(5,10,15),尺寸XYZ为(2,3,4)的长方体:

通过调整坐标轴,可以做出比例适当的图片,如下:

2. 代码汇总

function PlotCuboid(originPoint,cuboidSize)
%% 函数功能: 绘制长方体
% 输入:
%       originPoint:长方体的原点,行向量,如[0,0,0];
%       cuboidSize:长方体的长宽高,行向量,如[10,20,30];
% 输出:长方体图形%% 根据原点和尺寸,计算长方体的8个的顶点
vertexIndex=[0 0 0;0 0 1;0 1 0;0 1 1;1 0 0;1 0 1;1 1 0;1 1 1];
vertex=originPoint+vertexIndex.*cuboidSize;%% 定义6个平面分别对应的顶点
facet=[1 2 4 3;1 2 6 5;1 3 7 5;2 4 8 6;3 4 8 7;5 6 8 7];%% 定义8个顶点的颜色,绘制的平面颜色根据顶点的颜色进行插补
color=[1;2;3;4;5;6;7;8];%% 绘制并展示图像
% patch 对图像进行绘制。
% view(3) 将图像放到三维空间中展示。
% 其余的是设置背景等等
patch('Vertices',vertex,'Faces',facet,'FaceVertexCData',color,'FaceColor','interp','FaceAlpha',0.5);
view(3);
xlabel('X');
ylabel('Y');
zlabel('Z');
title('Cuboid');
fig=gcf;
fig.Color=[1 1 1];
fig.Name='cuboid';
fig.NumberTitle='off';

文件自行取用:PlotCuboid.m
提取码:24bg

前面的注释比较清楚,还需要讲一下patch函数。

3. 函数调用

调用方法很简单,第一个参数是长方体的原点,第二个参数是长宽高,输入命令:

PlotCuboid([5,10,15],[2,3,4])

回车运行即可得到例1中的结果。

4. patch函数

patch函数有多种调用形式,我们只谈用到的。

格式如下:

patch('Vertices',V,'Faces',F,Name,Value);

Vertices指示后面的参数是用到的顶点,即V中存储的是顶点。在本文中,V就是vertex,例1中的Vertex:

可以看到,对应空间中的8个顶点。

Faces指示后面的参数是需要绘制的面,面由顶点组成。在本文中,F就是facet,例1中的facet:

长方体一共是6个面,每个面由四个点组成,1-8即为8个顶点vertex的索引。

注意: 四个点可以形成两个面,实际上是绘制了两个三角面)

Name-Value对指定了一些特殊的属性:

FaceVertexCData:指定顶点的颜色
FaceColor:指定面的颜色(这里的interp是使用顶点颜色插值)
FaceAlpha:指定面的透明度

其余的可以去看官方文档继续了解。

5 多多点赞交流

MATLAB绘制长方体相关推荐

  1. nyquist图怎么画matlab,用MATLAB绘制Nyquist图

    <用MATLAB绘制Nyquist图>由会员分享,可在线阅读,更多相关<用MATLAB绘制Nyquist图(9页珍藏版)>请在人人文库网上搜索. 1.用MATLAB绘制Nyqu ...

  2. matlab绘制圆,且求解两个圆的交点坐标

    前言 这里简单记录下对于matlab绘制圆,以及求解两圆交点的坐标的实现(包括C++). 一 绘制圆 circle.m文件: function [] = circle(x, y, r, color) ...

  3. matlab系统的根轨迹,实验五 利用MATLAB绘制系统根轨迹

    <实验五 利用MATLAB绘制系统根轨迹>由会员分享,可在线阅读,更多相关<实验五 利用MATLAB绘制系统根轨迹(6页珍藏版)>请在人人文库网上搜索. 1.实验五 利用MAT ...

  4. Matlab 绘制三维立体图(以地质异常体为例)

    Matlab 绘制三维立体图(以地质异常体为例) 参考文章: (1)Matlab 绘制三维立体图(以地质异常体为例) (2)https://www.cnblogs.com/yangwenbo214/p ...

  5. matlab绘制频散曲线,Matlab绘制频散曲线程序代码.docx

    Matlab绘制频散曲线程序代码.docx 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. ...

  6. matlab绘制X,Y二维散点图并标出序号

    matlab绘制X,Y二维散点图并标出序号 标签: matlab 2016-11-22 12:20 193人阅读 评论(0) 收藏 举报  分类: matlab(1)  版权声明:本文为博主原创文章, ...

  7. 如何使用MATLAB绘制不同类型的二维图形

    如何使用MATLAB绘制不同类型的二维图形 听语音 | 浏览:360 | 更新:2014-11-30 18:10 | 标签:matlab 1 2 3 4 5 分步阅读 如何用MATLAB绘制各种二维图 ...

  8. 【新星计划】MATLAB绘制图形

    MATLAB绘图和图形功能,内容包括: 如何绘制二维条形图 如何绘制等值线 如何绘制三维图 MATLAB绘制条形图 MATLAB 中使用 bar 命令绘制一个二维条形图. 具体示例 如果有一个包含10 ...

  9. 2021-02-28 Matlab绘制短时傅里叶变换的频谱图和时间-频率-幅值三维图

    Matlab绘制短时傅里叶变换的频谱图和时间-频率-幅值三维图 function [t,frequency,f_spectrum]=fft_s(y,windowlength,Fs) % 输入 : % ...

最新文章

  1. 15 个 JavaScript Web UI 库 (转)
  2. 分离解析DNS服务器
  3. CodeFirst体验之且行且珍惜
  4. 成功解决UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc2 in position 0: invalid continuation byt
  5. K8s 从懵圈到熟练 – 镜像拉取这件小事
  6. 【算法竞赛学习】数据分析达人赛2:产品关联分析
  7. 数据库之间数据转换最快方法
  8. iPad加价抢购,iPhone 11面临缺货,苹果的供应链困局来了
  9. python32位系统下载_pythonwin下载-PythonWin 32位(Python集成开发环境) 3.6 官方版 - 河东下载站...
  10. python语言单词接龙_[蓝桥杯][算法训练VIP]单词接龙 (C语言代码)
  11. 学了这么多年的人工智能居然还不了解它?
  12. 布料系统原理浅析和在Unity手游中的应用
  13. Android 闹钟设置最新版
  14. ribbon实现负载均衡
  15. Push还是Pull,这是个问题么?
  16. Deepin禁用usb声卡
  17. CG 学习 (1)——CG概览
  18. IOS之数据持久化二(归档与反归档)
  19. VTK从分割好的体数据获取等值面的方法(MarchingCube)
  20. VBA写入公式(2):日期公式集

热门文章

  1. 计算机组成原理第二章例题解析(下)
  2. 提高复杂网络分析效率!中国科学家研发强化学习新框架
  3. 桌面只计算机图标发白,win7系统桌面图标变白怎么回事_电脑桌面图标有小白块...
  4. hive插件 ranger_Ranger Hive-HDFS ACL同步
  5. [Hadoop]HDFS机架感知策略
  6. 存储卡种类及其应用大盘点
  7. friendly发音_欧路词典|英汉-汉英词典 friendly是什么意思_friendly的中文解释和发音_friendly的翻译_friendly怎么读...
  8. 外包两年跳进外企和大厂,简历污点不是外包经历,是技术太差
  9. 超融合之VMware vSAN企业级超融合解决方案
  10. LinearLayout布局添加下划线