1

我只是盯着 processing.js ,我一直有麻烦,因为每次我旋转图像时,它也会改变它在屏幕上的位置。所以处理似乎要做的是,围绕我告诉它放置它的点旋转我的图像,而不是先围绕它自己的轴旋转它然后将它放置在我告诉它的位置(我认为不能以这种方式完成/命令)。

这是代码

PShape s;
float angle = 0.1; //rads
s = loadShape("sensor.svg");
s.rotate(angle);
//I change this angle manually or with my clickMouse function which isnt shown.

void setup(){
    size(400,350);
frameRate(30); //30 frames per seconds
}

void draw(){ //shape( shape, x, y, width, height);
    smooth();
    fill(153);
    ellipse(200, 350/2, 100, 100);
    shape(s, 200, 350/2, 20, 20);
    ellipse(200, 350/2, 2, 2);
}

我基本上想做的是让这个“传感器”图像围绕我画的圆(椭圆)以正确的方向旋转。这就是想法。它也不做。也许有一个点击功能可以围绕圆圈旋转 SVG 图像。但相反,它围绕 shape(image, x_coord, y_coord, width, height) 函数的坐标旋转。如果有人有任何建议,我会很高兴!希望我的问题是有道理的,如果没有,我将非常乐意澄清它的任何部分。

谢谢!:)

4

1 回答 1

2

不旋转形状要容易得多,而是旋转坐标系。

void draw() {
  translate(s.width/2,s.height/2);
  rotate(PI/4);
  shape(s);
  resetMatrix();
  // keep on drawing here
}

这首先移动坐标系,使 (0,0) 位于形状中心的顶部,然后将整个坐标系旋转 45 度,然后绘制形状。然后你重置坐标系并像往常一样继续绘图。

于 2012-07-07T15:14:20.797 回答