Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在processing.js中旋转SVG图像_Svg_Rotation_Processing_Processing.js - Fatal编程技术网

如何在processing.js中旋转SVG图像

如何在processing.js中旋转SVG图像,svg,rotation,processing,processing.js,Svg,Rotation,Processing,Processing.js,我只是盯着processing.js看,我遇到了麻烦,因为每次我旋转一个图像,它也会改变它在屏幕上的位置。因此,处理似乎要做的是,围绕我让它放置的点旋转我的图像,而不是先围绕自己的轴旋转图像,然后将其放置在我让它放置的位置(我认为不能以这种方式/顺序进行) 这是密码 PShape s; float angle = 0.1; //rads s = loadShape("sensor.svg"); s.rotate(angle); //I change this angle manually or

我只是盯着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坐标、y坐标、宽度、高度)函数的坐标旋转。如果有人有任何建议,我会很高兴!希望我的问题有意义,如果没有,我将非常乐意澄清其中的任何部分


谢谢!:)

不旋转形状更容易,旋转坐标系更容易

void draw() {
  translate(s.width/2,s.height/2);
  rotate(PI/4);
  shape(s);
  resetMatrix();
  // keep on drawing here
}
首先移动坐标系,使(0,0)位于形状中心的顶部,然后将整个坐标系旋转45度,然后绘制形状。然后重置坐标系并保持绘图正常