Java 改变笔画的颜色
我想更改笔划的颜色,但我不知道如何正确地执行此操作。我查阅了一个教程,它向我展示了代码中的hu内容。它会更改for循环中的hu,但只保留一种颜色。。就我而言,是黄色的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
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);
如果出于某种原因需要使用默认渲染器,则必须自己绘制线,而不是依赖于顶点
函数