底部为圆,圆上60°一个点,一共六个点,点的高度不同(可以换数字),圆中心也有一个点(数值最大,比周围六个点数值都大),以此画一个三维立体图,拟合算出体积。 有偿
2条回答 默认 最新
joel_1993 2021-10-10 18:46关注你好,因为中间比四周高,是个凸多面体,考虑使用凸多面题的计算公式进行计算:
假设底面圆半径是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有帮助望采纳哟,支持一下答主冲榜
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报