如何在处理2中知道旋转后的新坐标

时间:2013-07-18 15:42:55

标签: rotation processing

我有一个草图,我正在使用几个图像。其中一个图像正在翻译和旋转。 在PopMatrix之后,我如何知道已移动的图像的新位置(X.Y)?

1 个答案:

答案 0 :(得分: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);
}