From: treecity Date: Sun, 25 Mar 2012 22:01:50 +0000 (+0200) Subject: [src] add area.m X-Git-Url: https://git.leopard-lacewing.eu/?a=commitdiff_plain;h=9a17d17e9274a377b97b8790ee3bf54a07fbb11e;p=bacc.git [src] add area.m --- diff --git a/src/area.m b/src/area.m new file mode 100644 index 0000000..f4c657a --- /dev/null +++ b/src/area.m @@ -0,0 +1,36 @@ +function [area, vector, sites] = area(coordinates, elements,varargin) +% +% [area, vector, sites] = area(coordinates, elements) +% +% Diese Funktion Berechnet den Flächeninhalt zu jedem Element (area) und +% zu jedem Element die Orthogonalen mit Laenge 1, des Weiteren werden auch +% die Seitenlaengen zu jedem Element gespeichert +% +% P.Schaefer + + vector = zeros(size(elements,1),3); + area = zeros(size(elements,1),1); + sites = zeros(size(elements,1),2); + +%% Flaecheninhalt und Normalen berechnen + + for i = 1:size(elements,1) + % normalized Vector on every triangle + tri = elements(i,:); + a = (coordinates(tri(2),:)-coordinates(tri(1),:)); + b = (coordinates(tri(4),:)-coordinates(tri(1),:)); + N = cross(a',b'); + +% area(i) = norm(N); + + N = N/norm(N); + vector(i,:) = N; + area(i) = norm(a) * norm(b); + sites(i,:) = [norm(a) norm(b)]; + + end + +end + + +