我只是盯着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图像。但它反过来围绕形状(图像,x_coord,y_coord,宽度,高度)函数的坐标旋转。如果有人有任何建议,我会很高兴!希望我的问题有道理,如果不是,我会非常乐意澄清它的任何部分。
谢谢! :)
答案 0 :(得分:2)
不要旋转你的形状,而是旋转坐标系要容易得多。
void draw() {
translate(s.width/2,s.height/2);
rotate(PI/4);
shape(s);
resetMatrix();
// keep on drawing here
}
首先移动坐标系,使(0,0)位于形状中心的顶部,然后将整个坐标系旋转45度,然后绘制形状。然后重置坐标系并像往常一样继续绘图。