Matlab - 不使用矩形函数绘制矩形

Matlab - Plotting rectangle without using rectangle function

如何使用绘图函数绘制矩形。我不能使用矩形()。我目前正在使用

theta2 = linspace(0,2*pi,5);
plot(radius.*cos(theta2)+xCentre,radius.*sin(theta2)+yCentre,'k');

但这绘制的是菱形而不是矩形。

这里是不使用 rectangle()

绘制矩形的代码
length=5;
width=2;
xCentre=0;
yCentre=0;

u=[-1 1 1 -1];
x=[u u(1)].*(length/2);
u=circshift(u,[0 -1]);
y=[u u(1)].*(width/2);
plot(x,y,'k');
xlim([x(1)-2,x(2)+2]);
ylim([y(3)-2,y(2)+2])

绘制 ROI(边与轴平行的矩形)

line([xL, xR, xR, xL, xL], [yT, yT, yB, yB, yT], 'Color','red','LineWidth',3)

其中 xL、xR - left/right 边, yT, yB - top/bottom 边

绘制任何四边形

line([x1, x2, x3, x4, x1], [y1, y2, y3, y4, y1], 'Color','red','LineWidth',3)