-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathfind_area.m
44 lines (36 loc) · 962 Bytes
/
find_area.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
function area = find_area(curryloc, tri)
area = 0;
for i = 1 : size(tri, 2)
acor = curryloc(:, tri(1, i));
bcor = curryloc(:, tri(2, i));
ccor = curryloc(:, tri(3, i));
asid = norms(acor-bcor);
bsid = norms(bcor-ccor);
csid = norms(ccor-acor);
hper = (asid + bsid + csid) / 2;
area = area + sqrt(hper * (hper-asid) * (hper-bsid) * (hper-csid));
end
end
% function area = find_area(curryloc, tri)
%
% aloc = curryloc(:, tri(1, :));
% bloc = curryloc(:, tri(2, :));
% cloc = curryloc(:, tri(3, :));
% area = zeros(1, size(tri, 2));
%
% parfor i = 1 : size(tri, 2)
%
% acor = aloc(:, i);
% bcor = bloc(:, i);
% ccor = cloc(:, i);
%
% asid = norms(acor-bcor);
% bsid = norms(bcor-ccor);
% csid = norms(ccor-acor);
%
% hper = (asid + bsid + csid) / 2;
% area(i) = sqrt(hper * (hper-asid) * (hper-bsid) * (hper-csid));
% end
% area = sum(area);
%
% end