多语言展示
当前在线:1644今日阅读:150今日分享:23

用matlab画一个长方体并且给每面上色的简单方法

当我们用matlab画三维图形时,我们常常联想到用一些很酷炫的数学函数去进行作图,但是很多时候,我们也需要一些很笨的方法来表达我们的想法。毕竟我们的脑海中可能并没有那么多优秀的数学函数。
工具/原料
1

matlab2014b中文版

2

电脑

方法/步骤
1

首先我们打开matlab,并且打开一个新建的编辑窗口,如图所示:

2

然后,我们在新建的编辑窗口输入下面的代码,这样我们可以到下面图片所示的效果:clc,clear,clf;x=[0 20 20 0 0 0 0 0 0 0 0 20 20 20 20 20 20 20 0];y=[0 0 0 0 0 0 20 20 0 20 20 20 20 0 0 20 20 20 20];z=[0 0 40 40 0 40 40 0 0 0 40 40 0 0 40 40 0 0 0];plot3(x,y,z,'r');

3

此时,我们考虑怎么在这样一个长方体中给每一个面上一个颜色呢?此时我们不得不借助matlab的内置函数。输入下面的代码,我们发现果然图片发生了变化,得到的上色的效果。如图所示:hold on;fill3([0 20 20 0],[0 0 0 0],[0 0 40 40],'r');

4

然后我们再次进行尝试,给任意一个面上颜色。然后我们输入下面的代码,结果也可在下图中见到:hold on;fill3([0 0 0 0 ],[0 20 20 0],[40 40 0 0],'m');

5

当然,我们也可以忽略第二步中的代码,直接从第三步骤使用fill3函数。第二部主要是给我们一个立体的概念,方便我们填充颜色。其实并不是必要的。当我们去掉第二部的代码时,效果是这样的:

6

然后我们采用和第三四步骤一样的方法,对每一个面填充颜色。输入下面的代码,可以看到下面的图片:hold on;fill3([0 0 20 20 ],[20 20 20 20],[0 40 40 0],'g');hold on;fill3([20 20 20 20 ],[0 0 20 20],[0 40 40 0],'b');hold on;fill3([0 0 20 20 ],[0 20 20 0],[40 40 40 40],'y');hold on;fill3([0 0 20 20 ],[0 20 20 0],[0 0 0 0],'c');

7

最后,我们用三维旋转的方式,查看最后的效果。果然是完美的建立了一个长方体,并且我们还进行了上色。当然这是一个空心的长方体。但是他是三维的确定无疑。

注意事项
1

matlab2014b是我目前试用版本,但是这个经验并不限制在这个版本才能使用

2

请大家看后,自己琢磨一下别的方法,这个是比较笨的只借助一个函数的方法。

推荐信息