Java 改变笔画的颜色

Java 改变笔画的颜色,java,colors,processing,Java,Colors,Processing,我想更改笔划的颜色,但我不知道如何正确地执行此操作。我查阅了一个教程,它向我展示了代码中的hu内容。它会更改for循环中的hu,但只保留一种颜色。。就我而言,是黄色的 void setup(){ size(500,500); colorMode(HSB); } float t = 0; float tn = 0; void draw(){ background(0); translate(width / 2, height / 2); noFill(); stroke

我想更改笔划的颜色,但我不知道如何正确地执行此操作。我查阅了一个教程,它向我展示了代码中的hu内容。它会更改for循环中的hu,但只保留一种颜色。。就我而言,是黄色的

void setup(){
  size(500,500);
  colorMode(HSB);

}
float t = 0;
float tn = 0;

void draw(){
 background(0);

 translate(width / 2, height / 2);

  noFill();
  stroke(255);
  strokeWeight(2);
  float hu = 0;


 beginShape();

 //add vertices...
 for(float theta = 0; theta <= 8 * PI; theta += 0.001){
   float rad = r(theta,
   1, //a
   1, //b
   sin(tn) * 0.1 + 5, //m
   cos(tn) / 2, //n1
   sin(t) * 0.5 + 0.5, //n2
   cos(t) * 0.5 + 0.5 //n3
   );
   float x = rad * cos(theta) * 50;
   float y = rad * sin(theta) * 50;
   stroke(hu, 255, 255);
   vertex(x,y);
       hu += 1;
    if(hu > 255){
      hu = 0;
    }
 }


 endShape();

 t += 0.1;
 tn += 0.1;
}



float r(float theta, float a, float b, float m, float n1, float n2, float n3){
  return pow(pow(abs(cos(m * theta / 4.0) / a), n2) + 
             pow(abs(sin(m * theta / 4.0) / b), n3), -1.0 / n1) ;
}
void setup(){
尺寸(500500);
彩色模式(HSB);
}
浮动t=0;
浮点数tn=0;
作废提款(){
背景(0);
平移(宽度/2,高度/2);
noFill();
中风(255);
冲程重量(2);
浮动hu=0;
beginShape();
//添加顶点。。。
对于(浮点θ=0;θ255){
hu=0;
}
}
endShape();
t+=0.1;
tn+=0.1;
}
浮子r(浮子θ、浮子a、浮子b、浮子m、浮子n1、浮子n2、浮子n3){
返回功率(功率(abs(cos(m*theta/4.0)/a),n2+
功率(abs(sin(m*theta/4.0)/b),n3,-1.0/n1);
}
请咨询
beginShape
功能:

P2D和P3D渲染器允许按顶点更改笔划()和填充(),但默认渲染器不允许

换句话说,不能使用默认渲染器像这样更改笔划颜色。您只需使用
P2D
渲染器即可:

size(500, 500, P2D);
如果出于某种原因需要使用默认渲染器,则必须自己绘制线,而不是依赖于
顶点
函数