标签: processing

处理中的当前填充颜色

在处理中,我可以调用fill(myRGBValue) 设置填充颜色。有没有办法让我查询当前的填充颜色?

processing colors

4
推荐指数
1
解决办法
2485
查看次数

size() 函数在Processing 3.0 中不起作用

我试图通过传递图像宽度和高度的参数来设置处理 3.0中的窗口大小。但是,处理会抛出错误并要求检查参考部分,但这没有帮助。代码如下。

PImage img;
...

void setup(){
  img = loadImage("XYZ.JPG");
  float w = img.width;
  float h = img.height;
  size(int(w), int(h));
  image(img, 0, 0);
}
Run Code Online (Sandbox Code Playgroud)

和错误如下:

size() function cannot be used here
Run Code Online (Sandbox Code Playgroud)

java processing

4
推荐指数
1
解决办法
5130
查看次数

绘制到 p5.Image 而不是画布

给定加载的 png 图像作为模板,我希望用户能够跟踪图像的元素。在 p5 中,这很简单:

setup() {
    // Load image
    var img = loadImage('...');
    image(img, 0, 0);
}

draw() {
    ellipse(mouseX, mouseY, 2, 2);
}
Run Code Online (Sandbox Code Playgroud)

但是,我希望能够仅保存省略号(没有底层图像)。有没有办法写入Image而不是直接写入画布,以便我可以提升跟踪的像素而不用原始图像?

我目前的计划是以下之一:

  • 覆盖第二个 p5 实例,并在覆盖在图像上的透明画布上绘制...但这似乎更难维护,并且可能会因 DOM 不完美对齐而受到影响
  • 不要使用ellipse,而是写入createImage- 生成的像素数组......但这看起来很慢而且令人不快。

注意:该图像是 a p5.Image,因此覆盖在 a 之上<img>是不够的。

processing p5.js

4
推荐指数
1
解决办法
4866
查看次数

将 SVG 加载到 P5 草图

我已经在Processing 中编程一段时间了。我还处理过形状和SVG文件。在处理中获得关于文件的这种卑微经历SVG让我认为在 中也会有同样的故事P5.js,但事实显然并非如此,并促使我寻求帮助。

回到处理我只会有这样的简单代码:

PShape shape;
/***************************************************************************/
void setup() 
{
  size(400, 400);
  shapeMode(CENTER);
  shape = loadShape("bot1.svg");
} 
/***************************************************************************/
void draw() 
{
  background(100);
  pushMatrix();
  translate(width/2, height/2);
  shape(shape, 0, 0);
  popMatrix();
}
Run Code Online (Sandbox Code Playgroud)

P5不是这样的。相当于什么P5.js?

    var shape;
    var canvas;
/***************************************************************************/
    function setup() 
    {
      canvas = createCanvas(400, 400);
      canvas.position(0, 0);
      //shapeMode(CENTER);
      //shape = loadShape("bot1.svg");
    } 
    /***************************************************************************/
    void draw() 
    {
      background(100);
      push();
      translate(width/2, height/2);
      //shape(shape, 0, 0);
      pop();
    }
Run Code Online (Sandbox Code Playgroud)

processing svg shapes p5.js

4
推荐指数
1
解决办法
1万
查看次数

在处理 3 时将变量应用于屏幕尺寸

该代码在处理 2 中工作正常,但在 size() 函数中使用处理 3 中的变量不起作用,我将如何在处理 3 中实现 displaywdith-100

int val, screen_increment, old_x=0, old_y=0;     
String inString;  
int lf = 10;      
void setup() 
{

  size(displayWidth-100, 600);//  The screen height is set to be 600, which matches the scaled data,
  String portName = Serial.list()[0];
  println(Serial.list());

  myPort = new Serial(this, portName, 115200);
  myPort.bufferUntil(lf);
  background(0);
}//setup
Run Code Online (Sandbox Code Playgroud)

java processing

4
推荐指数
1
解决办法
1533
查看次数

旋转文本而不是处理中文本的位置

我正在尝试制作一个时钟并将所有数字放在正确的位置,但它们都旋转了,例如 6 倒置而 12 是正确的。反正有没有只旋转文本而不是文本的位置?

我的代码是

push();
  textSize(48);
  for (int i = 1; i < 13; i++) {
    int offset = -15;
    if (str(i).length() == 2) {
      offset -= 14.5;
    }
    rotate(radians(30));
    text(i, offset, -350);
    //println(i*30);
  }
  pop();
Run Code Online (Sandbox Code Playgroud)

java processing

4
推荐指数
1
解决办法
85
查看次数

像轮子一样围绕中心点旋转三角形

我想创建一个旋转函数,其中我的三角形可以像轮子一样自行旋转,但我与移动我的三角形的代码部分发生冲突,我尝试了很多解决方案但没有成功,也许如果你们中的一个人有线索,它会对人好点!

这是我的代码:

let triangle1;
let triangle2;
let triangle3;
let triangle4;
let triangle5;
let triangle6;
let speedX;
let speedY;
let startColor;
let endColor;
let amt = 0;

function setup() {
    startColor = color("hsl(144, 100%, 61%)");
    endColor = color("hsl(0,77%,36%)");
    createCanvas(windowWidth, 800);
    //creer notre triangle
    triangle1 = new Triangles(200, 100, 0, 4);
    /*    triangle2 = new Triangles(100, 50, 2, 0);
        triangle3 = new Triangles(50, 200, -1, 4);
        triangle4 = new Triangles(250, 400, 4, 4);
        triangle5 = new Triangles(150, 500, 0, 2);
        triangle6 = …
Run Code Online (Sandbox Code Playgroud)

javascript processing p5.js

4
推荐指数
1
解决办法
1672
查看次数

计算旋转以将对象与 3D 空间中的两点对齐

我正在处理动作捕捉数据,我想在处理中进行“蒙皮”。因此,基本上,我从数据中获得的每两个点都必须在其间添加一个 3D 对象(我现在将使用一个盒子,放置和旋转坐标是 3D 对象的中心)并旋转它,以便它在所有三个维度上与连接两点的向量对齐。

在这里,我们可以在左侧看到两点之间最初放置的框,在右侧看到现在正确旋转的框: 白色平行六面体的分割图像,未与图像左侧的红色对角线(左上到右下)对齐,并且白色平行六面体与图像右侧的红线对齐

我知道在处理中旋转对象的唯一方法是使用rotateX()、rotateY()、rotateZ()函数,它们使用欧拉角围绕全局(?)轴旋转对象。

现在我正在努力寻找一种正确计算这种旋转的方法。

我已经编写了一个用于计算两个向量之间的角度的函数:

float calcVectorAngle(PVector p1, PVector p2) {
    return acos((p1.dot(p2)) / (mag(p1.x, p1.y, p1.z) * mag(p2.x, p2.y, p2.z)));
}
Run Code Online (Sandbox Code Playgroud)

然后我尝试将向量(两点之间)与每个旋转轴之一的单位向量结合起来:

float x = calcVectorAngle(vector, new PVector(1,0,0));
float y = calcVectorAngle(vector, new PVector(0,1,0));
float z = calcVectorAngle(vector, new PVector(0,0,1));
Run Code Online (Sandbox Code Playgroud)

但是当我使用这些值旋转对象时,旋转完全关闭。

代码示例:

PVector p1;
PVector p2;
PVector boxSize = new PVector(500, 100, 100);

void setup() {
    size(1000,1000,P3D);
    p1 = new PVector(100, 100, 0);
    p2 = new PVector(900, 900, -1000);
}

void draw() {
    background(125);
    strokeWeight(2); …
Run Code Online (Sandbox Code Playgroud)

math processing euler-angles

4
推荐指数
1
解决办法
1146
查看次数

用java构建的基因组浏览器:Swing和awt或Swing和Processing?

我正在编写一个基因组浏览器,主要是为了查看染色体重排的历史.现在,该项目是使用Processing编写的一系列概念验证演示.在这一点上,如果我不进行任何根本性的更改,最终的应用程序将是一个带有gui构建的swing组件的web applet,打开PApplets以实际显示重新发生的事件.

我的问题是:我应该放弃处理并切换到纯Swing/AWT吗?这是我的第一个大型java项目.我正在建造日食,但我也可以使用netbeans.例如,如果我可以在一个JFrame中嵌入PApplet对象,这将成为我的一天.

java processing swing awt

3
推荐指数
1
解决办法
1171
查看次数

快速串口从处理写入Arduino

我需要一些帮助来加速写入串口.我发现了一些类似的问题,但没有涉及Processing语言或Java的任何问题,所以我希望有人可以帮我解决这个问题.

编辑

正如John在下面指出的那样,看起来串行的速度还不够快,无法以我想要的速度发送这么多数据.有没有人知道其他可用的arduino接口?

结束编辑

我正在使用arduino控制我连接的400个RGB LED网格.为了向arduino发送命令,我在Processing中编写了一个小程序来操作代表LED的大型数组.然后,我尝试通过串行发送800字节的数据,每隔20秒,115200波特,向arduino发送更新网格.每20ms调用的处理代码是:

  noStroke();
  int dataPos = 0; // position in LED data array
  byte[] dataLedGrid = new byte[400*2]; // array for bytes to send
  for(int j=0; j<LEDS_TALL; j++) {
    for(int i=0; i<LEDS_WIDE; i++) {
      int pos = j*20+i;
      int r = ledGrid[LEDS_WIDE-i-1][LEDS_TALL-j-1][0], g = ledGrid[LEDS_WIDE-i-1][LEDS_TALL-j-1][1] ,b = ledGrid[LEDS_WIDE-i-1][LEDS_TALL-j-1][2];
      int colorData = ((g & 0x1F) << 10) | ((b & 0x1F) << 5) | (r & 0x1F);
      dataLedGrid[dataPos] = byte(colorData & 0x00FF);
      dataLedGrid[dataPos+1] = byte(colorData & 0xFF00); …
Run Code Online (Sandbox Code Playgroud)

c java embedded processing serial-port

3
推荐指数
1
解决办法
2448
查看次数

标签 统计

processing ×10

java ×5

p5.js ×3

awt ×1

c ×1

colors ×1

embedded ×1

euler-angles ×1

javascript ×1

math ×1

serial-port ×1

shapes ×1

svg ×1

swing ×1