TC是吧,呵呵,我这里不是。不过看了下代码。你那个不是只是矩形,是正方形。你这样改就可以了。x1[i] = x + r * cos(2 * pi*i / n + arg);//把里面的r和下面y的r改成不同的就可以了。比如x的不改 y1[i] = y + r * sin(2 * pi *i/ n + arg);//y的改为0.5*r。四个顶点,每个顶点相对于中心,由上个顶点旋转了90度,但相对于中心距离一长一短,这就是菱形了。你去调试下看看吧。要把关于x和y所有顶点坐标表达式都改。