Your code works fine, but you're just not plotting it correctly.
plot(obstacle_shape(:,1), obstacle_shape(:,2));
You might also want to correct the aspect ratio:
pos = get(gcf, 'Position');
aspect = pos(3) / pos(4);
set(gca, 'XLim', [-2,2]);
set(gca, 'YLim', [-2,2] / aspect);
By the way, your rotation is backwards. It is rotating clockwise, which is unconventional. You should negate both the sin terms in your rotation matrix.