Java 试图得到在一定范围内产生商的除数
这是我正在进行的可视化。我想把一个矩形分成N等分。我希望这些部分的宽度为,比如说(最小1px,最大1.5px),这取决于矩形的宽度,我希望这个除法以0的余数结束(所以我没有比其余部分大的部分) 我尝试过实现模:但我不确定这是正确的方法。有什么想法吗Java 试图得到在一定范围内产生商的除数,java,math,processing,Java,Math,Processing,这是我正在进行的可视化。我想把一个矩形分成N等分。我希望这些部分的宽度为,比如说(最小1px,最大1.5px),这取决于矩形的宽度,我希望这个除法以0的余数结束(所以我没有比其余部分大的部分) 我尝试过实现模:但我不确定这是正确的方法。有什么想法吗 //Generates coordinates within each line. for (int j = 0; j < line_coordinates.length; j++) { //Positions start of lin
//Generates coordinates within each line.
for (int j = 0; j < line_coordinates.length; j++) {
//Positions start of line draw on random X coordinate.
float xv = component_x1 + (j * (component_length / line_coordinates.length+1));
float yv = line_height;
//Defines available with for each item in a component.
float item_availablewidth = component_length / line_coordinates.length+1;
//Creates vector with X coordinate and Y noise affected coordinate.
line_coordinates[j] = new PVector(xv, y);
rectMode(CENTER);
noStroke();
fill(232, 45, 34);
rect(line_coordinates[j].x,
line_coordinates[j].y - (line_height / 2),
item_availablewidth * item_randomwidthcoefficient,
line_height);
println("line_coordinates[j].x1",
line_coordinates[j].x - ((item_availablewidth * item_randomwidthcoefficient) / 2)); //This is where X starts.
println("line_coordinates[j].x2",
line_coordinates[j].x + ((item_availablewidth * item_randomwidthcoefficient) / 2)); //This is where X is supposed to end.
//This is the first method I tried but I found out this separation needs to be dynamic.
float drawnline_separation = 2;
float drawnline_total = (item_availablewidth * item_randomwidthcoefficient) / drawnline_separation;
println("drawnline_total",
drawnline_total);
//For loop divides each item in vertical -axidrawable- lines separating them by a max
for (int l = 0; l <= drawnline_total; l++) {
float drawnline_x = lerp(line_coordinates[j].x - ((item_availablewidth * item_randomwidthcoefficient) / 2),
line_coordinates[j].x + ((item_availablewidth * item_randomwidthcoefficient) / 2),
l/drawnline_total);
println("drawnline_x", drawnline_x);
stroke(23);
noFill();
//Draws line.
line(drawnline_x,
line_coordinates[j].y,
drawnline_x,
line_coordinates[j].y + 25 );
}
}
//This is the print I am getting.
line_coordinates[j].x1 346.42535
line_coordinates[j].x2 353.44092
drawnline_total 3.5077777
drawnline_x 346.42535
drawnline_x 348.42535
drawnline_x 350.42535
drawnline_x 352.42535
//在每条线内生成坐标。
对于(int j=0;j