matlab画六面体,MATLAB绘制平行六面体

如果给出一个平行六面体(甚至其他多面体)的各个顶点坐标,如何画出这个平行六面体。

在网上找了找方法,可以参考这篇博客 matlab中patch函数详解。然后我具体查看了 Multifaceted Patches 帮助,记录下来以备后查。

绘制主要就是利用 patch 函数,patch 的一般调用格式为patch(X,Y,C)(二维)和patch(X,Y,Z,C)(三维)。这里主要看三维情况下。X,Y,Z分别是各个点的 X 坐标,Y 坐标和 Z 坐标,C 是颜色参数。假设我们有一个立方体如下图所示,

0818b9ca8b590ca3270a3433284dd417.png

那么对应于这个立方体的XYZ参数就是下图所示,

0818b9ca8b590ca3270a3433284dd417.png

可以看出,XYZ都是一个4*6的矩阵,3个矩阵第 n 列合起来表示一个平面的4个顶点的坐标,6个平面所以有6列,每个平面4个顶点所以有4行。但是这样表示就会出现一个问题——一些点重复出现,这是由于相邻两个平面之间有2个顶点是共用的。可以看到上图中实际上给出了24个顶点的坐标,但是真正“独立”的只有8个,也就是立方体实际的顶点数,很明显这样做不是一个明智的做法。于是,另一种方法出来了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值