首页 > 分享 > matlab绘制球体、正方体、正四面体、圆锥体

matlab绘制球体、正方体、正四面体、圆锥体

一、球体绘制

[x, y, z] = sphere(20);

surf(x, y, z);

此处利用sphere函数,该函数会生成一个球体的顶点数据,即生成一个20x20的球面网格,调用此函数过后matlab会生成一个半径为一的单位球体,同时将各个球面顶点的坐标保存在x,y,z数组中,再通过surf函数进行球面绘制

二、正方体绘制

cube_vertices = [

0 0 0;

0 1 0;

1 1 0;

1 0 0;

0 0 1;

0 1 1;

1 1 1;

1 0 1

];

cube_faces = [

1 2 3 4;

1 2 6 5;

2 3 7 6;

3 4 8 7;

4 1 5 8;

5 6 7 8

];

for i = 1:size(cube_faces, 1)

face_vertices = cube_vertices(cube_faces(i, :), :);

patch('Vertices', face_vertices, 'Faces', 1:4, 'FaceColor', 'blue');

end

axis equal;

view(3);

首先定义正方体的八个顶点,即cube_vertices为一个8x3的矩阵,其中每一行都分别对应顶点的x,y,z坐标点,然后正方体有6个面,而每一个面由四个顶点构成,于是cube_faces是6x4的矩阵,其中对应的1234此类数字是用来索引顶点的

然后进行绘图,而size(cube_faces,1)能够获取矩阵cube_faces的行数,即绘制的6个面,而在第一句代码处,首先利用cube_faces(i, :)进行索引得到第i行,就比如此时的i为1时,就索引到cube_ faces的第一行,而第一行有1234,故又在cube_vertices中索引第1234行即得到绘制第一面的四个顶点的具体信息

patch函数中vertices指定顶点数据,而faces指定绘制面,而facecolor则指定绘制面的颜色

axis equal和view(3)则是对最后展示的一个优化

三、圆锥体绘制

tetra_side = 1;

tetra_height = sqrt(2/3) * tetra_side;

tetra_vertices = [

0 0 0;

tetra_side 0 0;

tetra_side/2 tetra_side*sqrt(3)/2 0;

tetra_side/2 tetra_side*sqrt(3)/6 tetra_height

];

tetra_faces = [

1 2 3;

1 3 4;

1 4 2;

2 4 3

];

for i = 1:size(tetra_faces, 1)

face_vertices = tetra_vertices(tetra_faces(i, :), :);

patch('Vertices', face_vertices, 'Faces', 1:3, 'FaceColor', 'red');

end

axis equal;

view(3);

此处的四面体绘制和正方体绘制的思路相同,唯一有区别的是要根据已有的数据对四面体的顶点进行定义

四、圆锥体绘制

cone_radius = 1;

cone_height = 2;

theta = linspace(0, 2*pi, 100);

z = linspace(0, cone_height, 100);

[theta, z] = meshgrid(theta, z);

x = cone_radius * (1 - z / cone_height) .* cos(theta);

y = cone_radius * (1 - z / cone_height) .* sin(theta);

surf(x, y, z, 'FaceColor', 'green');

axis equal;

view(3);

其中linspace函数是在0到2*pi之间产生100个点这是通俗理解,详细可查阅帮助文档,meshgrid此函数用于利用已知数值theta和z来生成网格,将其扩展成网格矩阵,此类操作能够帮助

相关知识

中式蔬果雕刻 课件 重大 任务8菊花.pptx
matlab绘制花朵
MATLAB三维绘图教程
matlab 玫瑰花
七夕节—玫瑰花绘制(Matlab)
利用MATLAB绘制各种表白心形
matlab输出一朵玫瑰花
MATLAB表白玫瑰花绘制——旋转玫瑰、蓝色玫瑰
python 和 MATLAB 都能绘制的母亲节花束!!
python绘制一朵栀子花

网址: matlab绘制球体、正方体、正四面体、圆锥体 https://m.huajiangbk.com/newsview1546220.html

所属分类:花卉
上一篇: 玫瑰花一键生成软件(桌面玫瑰花图
下一篇: 在线图表生成工具(在线统计表生成