作业帮 > 数学 > 作业

matlab中已知立方体的顶点坐标,如何绘制三维图像,

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/17 12:14:18
matlab中已知立方体的顶点坐标,如何绘制三维图像,
X=zeros(8,3);
X([5:8,11,12,15,16,18,20,22,24])=1;
d=[1 2 4 3 1 5 6 8 7 5 6 2 4 8 7 3];
plot3(X(d,1),X(d,2),X(d,3));
这个程序可以画出一个由边缘线组成的三维图像,能不能给我解释一下各条语句的意义?最后一条plot3()中用的X(d,为什么能这么用呢?
最重要的是:知道一个立方体的各个顶点,如何用matlab画出其三维图像(只要解决这个其他的随意)
可以用MATLAB一步一步的查
X([5:8,11,12,15,16,18,20,22,24])=1; 命令之后 X变为
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
所以这句是赋值语句
X(d,1)的意思是 X第一列的第1 2 4 3 1 5 6 8 7 5 6 2 4 8 7 3个数 按顺序组成一个数组X(d,1)的具体结果如下
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
再问: 看得出x变成了图像的顶点矩阵,不过语句为什么是X([5:8,11,12,15,16,18,20,22,24])=1,矩阵内的数值变换之后又该如何赋值,plot3()中为什么要用X(d,1),能不能说的详细点,我是新手不是太懂,另外最重要的是,知道一个立方体的各个顶点,如何用matlab画出其三维图像(只要解决这个其他的随意)
再答: 你手画一个立方体,只用一笔,中间可以走重复路线,记录下各个点的XYZ坐标,按顺序,plot3(X,Y,Z),X([5:8,11,12,15,16,18,20,22,24])=1赋值这一句,就是从(1,1)开始数第一个数,(2,1)第2个数...依次类推,X(1,2)第9个数,第5:8,11,12,15,16,18,20,22,24个数等于1,就是这么赋值的。