[問題] 如何以matlab計算多面體convex hull體積?已回收

看板MATLAB作者 (Krist)時間15年前 (2011/03/23 23:44), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
因非理工科系 故不太會使用matlab 請問有沒有大大知道 如何以matlab計算在三維空間中的數個點所圍成的polyhedral的體積? 假設空間中有四個點 所圍成的四面體(tetrahedral) 如何計算體積? x y z 0 0 0 2 0 0 0 2 0 0 0 2 以上空間中之四點 有google到以下的convex hull公式 但不太會使用 @@? 可否有大大可以教一下 感激不盡!!!!! http://zzb.bz/MlXXb function [volume,area]=area3d(v) % compute volume and area of a convex hull of points v % Malcolm A. MacIver, 2003 [K volume]=convhulln(v); % % Basic formula for computing triangle area % || = 2-norm, VN = vertex of triangle % ||V1 X V2 + V2 X V3 + V3 X V1||/2 area= ... sum(sqrt(sum(( ... [v(K(:,1),2).*v(K(:,2),3) - v(K(:,1),3).*v(K(:,2),2) ... v(K(:,1),3).*v(K(:,2),1) - v(K(:,1),1).*v(K(:,2),3) ... v(K(:,1),1).*v(K(:,2),2) - v(K(:,1),2).*v(K(:,2),1)] + ... [v(K(:,2),2).*v(K(:,3),3) - v(K(:,2),3).*v(K(:,3),2) ... v(K(:,2),3).*v(K(:,3),1) - v(K(:,2),1).*v(K(:,3),3) ... v(K(:,2),1).*v(K(:,3),2) - v(K(:,2),2).*v(K(:,3),1)] + ... [v(K(:,3),2).*v(K(:,1),3) - v(K(:,3),3).*v(K(:,1),2) ... v(K(:,3),3).*v(K(:,1),1) - v(K(:,3),1).*v(K(:,1),3) ... v(K(:,3),1).*v(K(:,1),2) - v(K(:,3),2).*v(K(:,1),1)]).^2,2))) ... /2; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.55.166 ※ 編輯: Kristbb 來自: 140.112.55.166 (03/23 23:46)
文章代碼(AID): #1DYXLYDT (MATLAB)