Paso 6: Formar la fruta
IDX = (idx+1)%(ptDensity);
calcular la fila actual
para (int i = 0; i < fft.avgSize(); i ++) {}
flotador de theta = (PI/fft.avgSize()) * i-PI/2;
la fila actual traduce a sonido el espectro sonoro y estirar para que quepa en un semicírculo. el valor en el intervalo de //each del espectro se traduce entonces en un cambio de magnitud, irradiando desde el centro de la esfera.
Añadir flotador = (coords[idx][i].mag() + (0.05*(r+modFactor(i)*fft.getAvg(i)));
coords[IDX][i].setMag(Add);
}
este bucle de doble dibuja el medio círculo y gira alrededor de la fruta, creando un escáner que agrega a la distancia de cada punto al centro.
para (int j = 0; j < (ptDensity); j ++) {//loop gira medio círculo alrededor de eje y a la esfera de la forma
la función beginShape() extiende por todos los puntos del objeto y crea la superficie real que constituye el objeto.
beginShape(QUAD_STRIP);
para (int i = 0; i < fft.avgSize(); i ++) {//this lazo dibuja medio círculo
flotador de theta = (PI/fft.avgSize()) * i-PI/2;
noStroke();
Stroke(MAP(FFT.getAvg(i), fft.avgSize(), 0, 0, 256), 50, 55);
Fill(MAP(FFT.getAvg(i), fft.avgSize(), 0, 0, 256), 50, 55);
vértice (coords [j] [i] 2.x, coords [j] [i] .y, coords[j][i].z);
Si (j == ptDensity-1) {}
vértice (coordenadas [0] [i] 2.x, coordenadas [0] [i] .y, coords[0][i].z);
}
Else {}
vértice (coords [j + 1] [i] 2.x, coords [j + 1] [i] .y, coords[j+1][i].z);
} //create geometría de quadstrip compatible con
}
endShape(CLOSE);
}