alecjacobson / gptoolbox

Matlab toolbox for Geometry Processing.
MIT License
628 stars 166 forks source link

Ordered boundaries in matlab #21

Closed taiya closed 7 years ago

taiya commented 7 years ago

I am not sure when they added these, but it's quite neat! (these: graph and dfsearch) ordered_boundary

clc; clear; close all;
load myoutline.mat M;
V = M.vertices;
F = M.faces;
B = mesh_boundary(F);

%--- Order
nv = max(B(:));
is = B(:,1);
js = B(:,2);
vs = ones(size(is,1),1);
A = sparse(is,js,vs,nv,nv);
A = A+A'; %< undirected
G = graph(A);
O = dfsearch(G,B(1,1));

point2 = @(P,varargin) plot(P(:,1), P(:,2), varargin{:});
figure(2); patch(M,'facecolor','none'); axis equal; hold on;
xlim([-0.5 +1.5]); axis off; set(gcf,'color','white');
for i=1:size(O,1)
    point2(V(O(i),:), '.r', 'markersize',10);
    gif_add_frame(gca,'ordered_boundary.gif');
end
alecjacobson commented 7 years ago

I think I currently have something like that in ordered_outline. I probably should use dfsearch instead of shortest path

On Monday, 7 November 2016, Andrea notifications@github.com wrote:

I am not sure when they added these, but it's quite neat! [image: ordered_boundary] https://cloud.githubusercontent.com/assets/4480573/20084455/509fd428-a517-11e6-939f-98a1d325f4a4.gif

clc; clear; close all; load myoutline.mat M; V = M.vertices; F = M.faces; B = mesh_boundary(F);

%--- Order nv = max(B(:)); is = B(:,1); js = B(:,2); vs = ones(size(is,1),1); A = sparse(is,js,vs,nv,nv); A = A+A'; %< undirected G = graph(A); O = dfsearch(G,B(1,1));

point2 = @(P,varargin) plot(P(:,1), P(:,2), varargin{:}); figure(2); patch(M,'facecolor','none'); axis equal; hold on; xlim([-0.5 +1.5]); axis off; set(gcf,'color','white'); for i=1:size(O,1) point2(V(O(i),:), '.r', 'markersize',10); gif_add_frame(gca,'ordered_boundary.gif'); end

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/alecjacobson/gptoolbox/issues/21, or mute the thread https://github.com/notifications/unsubscribe-auth/ACI0mRFlGzSQWPa34OEvJRZkhztxT7OTks5q791fgaJpZM4Kr9kp .