MATLAB绘制长方体
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绘制长方体相关推荐
- nyquist图怎么画matlab,用MATLAB绘制Nyquist图
<用MATLAB绘制Nyquist图>由会员分享,可在线阅读,更多相关<用MATLAB绘制Nyquist图(9页珍藏版)>请在人人文库网上搜索. 1.用MATLAB绘制Nyqu ...
- matlab绘制圆,且求解两个圆的交点坐标
前言 这里简单记录下对于matlab绘制圆,以及求解两圆交点的坐标的实现(包括C++). 一 绘制圆 circle.m文件: function [] = circle(x, y, r, color) ...
- matlab系统的根轨迹,实验五 利用MATLAB绘制系统根轨迹
<实验五 利用MATLAB绘制系统根轨迹>由会员分享,可在线阅读,更多相关<实验五 利用MATLAB绘制系统根轨迹(6页珍藏版)>请在人人文库网上搜索. 1.实验五 利用MAT ...
- Matlab 绘制三维立体图(以地质异常体为例)
Matlab 绘制三维立体图(以地质异常体为例) 参考文章: (1)Matlab 绘制三维立体图(以地质异常体为例) (2)https://www.cnblogs.com/yangwenbo214/p ...
- matlab绘制频散曲线,Matlab绘制频散曲线程序代码.docx
Matlab绘制频散曲线程序代码.docx 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. ...
- matlab绘制X,Y二维散点图并标出序号
matlab绘制X,Y二维散点图并标出序号 标签: matlab 2016-11-22 12:20 193人阅读 评论(0) 收藏 举报 分类: matlab(1) 版权声明:本文为博主原创文章, ...
- 如何使用MATLAB绘制不同类型的二维图形
如何使用MATLAB绘制不同类型的二维图形 听语音 | 浏览:360 | 更新:2014-11-30 18:10 | 标签:matlab 1 2 3 4 5 分步阅读 如何用MATLAB绘制各种二维图 ...
- 【新星计划】MATLAB绘制图形
MATLAB绘图和图形功能,内容包括: 如何绘制二维条形图 如何绘制等值线 如何绘制三维图 MATLAB绘制条形图 MATLAB 中使用 bar 命令绘制一个二维条形图. 具体示例 如果有一个包含10 ...
- 2021-02-28 Matlab绘制短时傅里叶变换的频谱图和时间-频率-幅值三维图
Matlab绘制短时傅里叶变换的频谱图和时间-频率-幅值三维图 function [t,frequency,f_spectrum]=fft_s(y,windowlength,Fs) % 输入 : % ...
最新文章
- 15 个 JavaScript Web UI 库 (转)
- 分离解析DNS服务器
- CodeFirst体验之且行且珍惜
- 成功解决UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc2 in position 0: invalid continuation byt
- K8s 从懵圈到熟练 – 镜像拉取这件小事
- 【算法竞赛学习】数据分析达人赛2:产品关联分析
- 数据库之间数据转换最快方法
- iPad加价抢购,iPhone 11面临缺货,苹果的供应链困局来了
- python32位系统下载_pythonwin下载-PythonWin 32位(Python集成开发环境) 3.6 官方版 - 河东下载站...
- python语言单词接龙_[蓝桥杯][算法训练VIP]单词接龙 (C语言代码)
- 学了这么多年的人工智能居然还不了解它?
- 布料系统原理浅析和在Unity手游中的应用
- Android 闹钟设置最新版
- ribbon实现负载均衡
- Push还是Pull,这是个问题么?
- Deepin禁用usb声卡
- CG 学习 (1)——CG概览
- IOS之数据持久化二(归档与反归档)
- VTK从分割好的体数据获取等值面的方法(MarchingCube)
- VBA写入公式(2):日期公式集
热门文章
- 计算机组成原理第二章例题解析(下)
- 提高复杂网络分析效率!中国科学家研发强化学习新框架
- 桌面只计算机图标发白,win7系统桌面图标变白怎么回事_电脑桌面图标有小白块...
- hive插件 ranger_Ranger Hive-HDFS ACL同步
- [Hadoop]HDFS机架感知策略
- 存储卡种类及其应用大盘点
- friendly发音_欧路词典|英汉-汉英词典 friendly是什么意思_friendly的中文解释和发音_friendly的翻译_friendly怎么读...
- 外包两年跳进外企和大厂,简历污点不是外包经历,是技术太差
- 超融合之VMware vSAN企业级超融合解决方案
- LinearLayout布局添加下划线