diff --git a/src/@deproj/find_countour.m b/src/@deproj/find_countour.m
new file mode 100644
index 0000000000000000000000000000000000000000..a5cae48b9c90660a3e362e092b63339727134051
--- /dev/null
+++ b/src/@deproj/find_countour.m
@@ -0,0 +1,37 @@
+function P2 = find_countour( P )
+%FIND_COUNTOUR Sort x,y coordinates along a continuous contour.
+
+    P2 = NaN( size( P ) );
+    current = 1;
+
+    % Start point
+    ps = P( 1, : );    
+    set_visited( 1 )
+    P2( current, : ) = ps;
+    current = current + 1;
+    
+    % Loop.
+    done = size( P, 1 ) == 1;
+    while ~done
+
+        done = current == size( P, 1 );
+
+        id = find_next_point( ps );
+        ps = P( id, : );
+        set_visited( id )
+        P2( current, : ) = ps;
+        current = current + 1;
+        
+    end
+    
+    
+    function set_visited( id )
+        P( id, : ) = NaN;
+    end
+    
+    function id = find_next_point( p0 )        
+        [ ~, id ] = pdist2( P, p0, 'Euclidean', 'Smallest', 1 );
+    end
+    
+end
+