我从处理中的鼠标 ( ) 位置获取一个值,随着该值变高,我希望以 5 ( )mouseX
为步长呈现的框数量减少。rotStep
我做了很多阅读,发现我应该使用的方法称为“负相关”,或者至少我认为是。我从来没有高分数学,所以我在这里几乎一无所知。也许有一个已经存在的功能可以做到这一点。经过大量的谷歌搜索后,我来到这里询问。
尝试将mouseX
输入除以自身和其他一些随机总和,但似乎这可能比我预期的要复杂。
我正在尝试进入生成艺术生成,并且可以使用提示来进一步尝试在mouseX
值降低时渲染更多框(四边形)。
void setup() {
pixelDensity(displayDensity());
size(500, 500);
background(0);
noFill();
stroke(255);
}
void draw() {
translate(width/2, height/2);
ellipse(0, 0, 50, 50);
background(0);
mouseX= constrain(mouseX, 1, width);
mouseY= constrain(mouseY, 1, height);
float rotationMax = 90;
float rotStep = (mouseX/15)+5;
//I need to add a negative correlation so the number
//of squares lowers as the mouseX position gets higher
//and all this in steps of 5
float quadSize = mouseX;
float qs = quadSize;
for (float i=0; i<rotationMax; i+=rotStep) {
float deg = rotStep;
float rad = radians(deg);
stroke(255);
strokeWeight(1);
rotate(rad);
quad(-qs, -qs, qs, -qs, qs, qs, -qs, qs);
}
}
当变量增加rotStep
时,变量应该减少,mouseX
反之亦然。变量rotStep
也应该以 5 为步长增加或减少。