声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: spano

[综合讨论] 如何用matlab计算体积

[复制链接]
发表于 2011-3-11 17:21 | 显示全部楼层
matlab里面有专门的函数吗?
回复 支持 反对
分享到:

使用道具 举报

发表于 2011-3-13 21:01 | 显示全部楼层
Ref: http://www.mathworks.com/matlabc ... of-a-3d-convex-hull
  1. function [volume,area]=area3d(v)
  2. % compute volume and area of a convex hull of points v
  3. % Malcolm A. MacIver, 2003

  4. [K volume]=convhulln(v);

  5. %
  6. % Basic formula for computing triangle area
  7. % || = 2-norm, VN = vertex of triangle
  8. % ||V1 X V2 + V2 X V3 + V3 X V1||/2

  9. area= ...
  10. sum(sqrt(sum(( ...
  11. [v(K(:,1),2).*v(K(:,2),3) - v(K(:,1),3).*v(K(:,2),2) ...
  12.   v(K(:,1),3).*v(K(:,2),1) - v(K(:,1),1).*v(K(:,2),3)  ...
  13.   v(K(:,1),1).*v(K(:,2),2) - v(K(:,1),2).*v(K(:,2),1)] + ...
  14. [v(K(:,2),2).*v(K(:,3),3) - v(K(:,2),3).*v(K(:,3),2) ...
  15.   v(K(:,2),3).*v(K(:,3),1) - v(K(:,2),1).*v(K(:,3),3)  ...
  16.   v(K(:,2),1).*v(K(:,3),2) - v(K(:,2),2).*v(K(:,3),1)] + ...
  17. [v(K(:,3),2).*v(K(:,1),3) - v(K(:,3),3).*v(K(:,1),2) ...
  18.   v(K(:,3),3).*v(K(:,1),1) - v(K(:,3),1).*v(K(:,1),3)  ...
  19.   v(K(:,3),1).*v(K(:,1),2) - v(K(:,3),2).*v(K(:,1),1)]).^2,2))) ...
  20.   /2;
复制代码
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-27 13:59 , Processed in 0.082817 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表