Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Solution 116436

Submitted on 20 Jul 2012

Incorrect

16Size
Leading solution size is 36.
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test
Code Input and Output
1
Fail
 
%% Edge case: no vertices
P = zeros(0,2);
P2 = zeros(0,2);
assert(isequal(simplify_polygon(P), P2));
Error: Undefined function or variable 'P2'.
2
Fail
 
%% Edge case: one vertex
P = [1 1];
P2 = [1 1];
assert(isequal(simplify_polygon(P), P2));
Error: Undefined function or variable 'P2'.
3
Fail
 
%% Edge case: three vertices (a single line segment)
P = [...
    1 1
    1 2
    1 1 ];
P2 = [...
    1 1
    1 2
    1 1];
assert(isequal(simplify_polygon(P), P2));
Error: Undefined function or variable 'P2'.
4
Fail
 
%% Single line segment with multiple vertices
P = [ ...
    1 1
    2 1
    3 1
    4 1
    5 1
    4 1
    3 1
    2 1
    1 1];
P2 = [ ...
    1 1
    5 1
    1 1];
assert(isequal(simplify_polygon(P), P2));
Error: Undefined function or variable 'P2'.
5
Fail
 
%% Single line segment, different spacing
P = [ ...
    1 1
    2 1
    4 1
    5 1
    1 1];
P2 = [ ...
    1 1
    5 1
    1 1];
assert(isequal(simplify_polygon(P), P2));
Error: Undefined function or variable 'P2'.
6
Fail
 
%% Rectangle
P = [ ...
    1 1
    2 1
    3 1
    4 1
    4 2
    4 3
    3 3
    2 3
    1 3
    1 2
    1 1];
P2 = [ ...
    1 1
    4 1
    4 3
    1 3
    1 1];
assert(isequal(simplify_polygon(P), P2));
Error: Undefined function or variable 'P2'.
7
Fail
 
%% Two rectangles separated by line segment
P = [ ...
    1 2
    1 1
    2 1
    2 2
    1 2
    1 3
    1 4
    1 5
    2 5
    2 4
    1 4
    1 3
    1 2];
P2 = [ ...
    1 1
    2 1
    2 2
    1 2
    1 5
    2 5
    2 4
    1 4
    1 1];
assert(isequal(simplify_polygon(P), P2));
Error: Undefined function or variable 'P2'.
8
Fail
 
%% Nonsimple polygon (figure eight)
P = [ ...
    1 1
    2 2
    3 3
    1 3
    2 2
    3 1
    1 1];
P2 = [ ...
    1 1
    3 3
    1 3
    3 1
    1 1];
assert(isequal(simplify_polygon(P), P2));
Error: Undefined function or variable 'P2'.
9
Fail
 
%%
P = [ ...
    1 1
    2 2
    3 3
    4 4
    5 5
    5 4
    6 3
    8 1
    7 1
    1 1];
P2 = [ ...
    1 1
    5 5
    5 4
    8 1
    1 1];
assert(isequal(simplify_polygon(P), P2));
Error: Undefined function or variable 'P2'.
10
Fail
 
%% Circle; no points should be removed
theta = linspace(0,2*pi,200);
theta(end) = 0;
x = 20*cos(theta);
y = 20*sin(theta);
P = [x', y'];
P2 = P;
assert(isequal(simplify_polygon(P), P2));
Error: Undefined function or variable 'P2'.
11
Fail
 
%% Starting vertex can be removed
P = [ ...
    2 1
    3 1
    3 2
    3 3
    2 3
    1 3
    1 2
    1 1
    2 1];
P2 = [ ...
    3 1
    3 3
    1 3
    1 1
    3 1];
assert(isequal(simplify_polygon(P), P2));
Error: Undefined function or variable 'P2'.