MATLAB绘制长方体

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 多多点赞交流

  • 35
    点赞
  • 106
    收藏
    觉得还不错? 一键收藏
  • 25
    评论
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值