0

我有一个草图,我在其中使用了几张图像。其中一张图像正在被平移和旋转。在 PopMatrix 之后,我如何知道已移动的图像的新位置(XY)?

4

1 回答 1

0

您必须使用modelX()modelY()。请参见下面的示例,该示例绘制椭圆而不是图像:

void setup(){
  size(600, 600, P2D);
  ellipseMode(CENTER);
  pushMatrix();
  translate(width/2, height/2);
  rotate(1.23);
  int x1 = 100, y1 = 100;
  ellipse(x1, y1, 10, 10);
  // store translated / rotated coordinates
  float x2 = modelX(x1, y1, 0);
  float y2 = modelY(x1, y1, 0);
  popMatrix();

  // draw red dot with stored coordinates
  stroke(255, 0, 0);
  ellipse(x2, y2, 2, 2);
}
于 2013-07-19T13:24:07.257 回答