Merge commit 'b453692af7dadf1db40358c02cfa86d182db5d2'
[wrf-fire-matlab.git] / femwind / hexa_volume.m
blob5f98e76f83917dc47469f395efb22aeb78645a30
1 function v=hexa_volume(X)
2 % in:
3 %   X  columns are corners of hexa in this ordering
4 % out:
5 %   v  volume
7 %   7-----8
8 %  /|    /|
9 % 5-----6 |
10 % | |   | |
11 % | 3---|-4
12 % |/    |/
13 % 1-----2 
15 % row = corners of a tetra
16 tet =  [1 2 3 5
17         2 4 3 5
18         4 8 6 5
19         3 8 7 5
20         2 4 6 5
21         3 4 8 5];
23 vis = 0;
25 v=0;
26 if vis
27     clf,hold off
28     for i=1:size(X,2)
29         text(X(1,i),X(2,i),X(3,i),num2str(i),'FontSize',16),hold on
30     end
31     drawnow
32 end
34 for i=1:size(tet,1)
35     XX = X(:,tet(i,:));
36     vv = abs(det([XX;ones(1,4)]))/6;
37     if vis
38         shp = alphaShape(XX');plot(shp); hold on, drawnow
39         i,err_vv = vv - volume(shp),
40     end
41     v = v+vv;
42 end % volume of tetra from points ii
43 if vis, hold off, end