底部为圆,圆上60°一个点,一共六个点,点的高度不同(可以换数字),圆中心也有一个点(数值最大,比周围六个点数值都大),以此画一个三维立体图,拟合算出体积。 有偿
你好,因为中间比四周高,是个凸多面体,考虑使用凸多面题的计算公式进行计算:
假设底面圆半径是r,六个顶点的高为z1,z2,……,z6
中心顶点高为z7
设置圆面在xOy平面,圆心在原点O,那么有
clc;clear
theta = linspace(0,2*pi,7)';
r = 5;
x = r*cos( theta(1:end-1,:));
y = r*sin( theta(1:end-1,1));
z1 = 5;
z2 = 6;
z3 = 7;
z4 = 8;
z5 = 9;
z6 = 10;
z7 = 11;%最大
P = [x, y, zeros(6,1); ...
x,y,[z1;z2;z3;z4;z5;z6];...
0,0,z7];%这个体的所有顶点
shp = alphaShape(P,max(abs(P(:,3))));
h = plot(shp);
V = volume(shp)
最后可以看到显示图形:
以及体积:
V =
5.629165124598851e+02
有帮助望采纳哟,支持一下答主冲榜
建议CAD