Processing 如何围绕PShape的中心旋转PShape?

Processing 如何围绕PShape的中心旋转PShape?,processing,Processing,《处理手册》(第二版)将其作为示例17-10: PShape zig; void setup() { size(100, 100); zig = createShape(); zig.beginShape(); zig.fill(0); zig.noStroke(); zig.vertex(10, 0); zig.vertex(100, 30); zig.vertex(90, 70); zig.vertex(100, 70); zig.vertex(10

《处理手册》(第二版)将其作为示例17-10:

PShape zig;

void setup() {
  size(100, 100);
  zig = createShape();
  zig.beginShape();
  zig.fill(0);
  zig.noStroke();
  zig.vertex(10, 0);
  zig.vertex(100, 30);
  zig.vertex(90, 70);
  zig.vertex(100, 70);
  zig.vertex(10, 90);
  zig.vertex(50, 40);
  zig.endShape();
  zig.scale(0.7);
  zig.translate(-50, -50);
}

void draw() {
  background(204);
  shape(zig, 50, 50);
  zig.rotate(0.01);
}
书中的图像显示了画布中心旋转的形状

然而,当我运行这个精确的代码时,图形会围绕画布左上角的[0,0]点旋转

在我看来,-50,-50平移和50,50坐标确实意味着(基于我有限的理解),旋转应该以[50,50]点为中心,但这在我运行代码时不成立?关于如何使形状围绕其中心旋转,有什么想法吗? 我的意思是,特别是使用zig.rotate()方法,我知道可以将画布作为一个整体进行平移和旋转,但我想围绕其中心旋转这个形状。 创建PShapes原点后,是否可以对其进行更改?
谢谢

我能够在3.0a10中使用默认的渲染器重现这一点。如果我将
P2D
指定为渲染器
size(100100,P2D)
,则
PShape
将按预期围绕中心点旋转。在版本2.2.1中指定P2D也有效

所以我觉得这看起来像个虫子。也许值得在网上公开一个问题

更新:似乎已经出现了一个新的问题