www.pudn.com > distmesh.rar > boundedges.m, change:2006-02-13,size:622b
function e=boundedges(p,t)
%BOUNDEDGES Find boundary edges from triangular mesh
% E=BOUNDEDGES(P,T)
% Copyright (C) 2004-2006 Per-Olof Persson. See COPYRIGHT.TXT for details.
% Form all edges, non-duplicates are boundary edges
edges=[t(:,[1,2]);
t(:,[1,3]);
t(:,[2,3])];
node3=[t(:,3);t(:,2);t(:,1)];
edges=sort(edges,2);
[foo,ix,jx]=unique(edges,'rows');
vec=histc(jx,1:max(jx));
qx=find(vec==1);
e=edges(ix(qx),:);
node3=node3(ix(qx));
% Orientation
v1=p(e(:,2),:)-p(e(:,1),:);
v2=p(node3,:)-p(e(:,1),:);
ix=find(v1(:,1).*v2(:,2)-v1(:,2).*v2(:,1)>0);
e(ix,[1,2])=e(ix,[2,1]);