Hur man rita Sweet 3D-grafik för LED kuber (4 / 9 steg)
Steg 4: Graphing
Du kan rita grafer i en kub, precis som du skulle i en grafritande miniräknare.
Det bästa sättet att grafen är att loopa över alla punkter i Planet X-Z, beräkna en funktionen värdet y som en funktion av x och z, och Ställ voxel (x, y, z). Titta på exemplet nedan:
flyta xScale = 0,5;
flyta zScale = 0,3;
för (float x = 0; x < cube.side;x++)
för (flyta z = 0; z < cube.side; z ++)
{
flyta y=map(sin(xScale*x+offset)*cos(zScale*z+offset), -1, 1, 0, cube.side);
PVector punkt = nya PVector (x, y, z);
cube.setVoxel (point, cube.colorMap (y, 0, cube.side));
}
Denna funktion ritar 3D sinusformad formen ses i den animerade gif. Jag beräknar ett värde för en funktion, f(x,y)=sin(xScale*x+offset)*cos(zScale*z+offset), och sedan, för att göra saker lätt på mig själv, jag använder bearbetnings inbyggda funktionen karta mappa funktionen värden mellan -1 och 1 i y-värden mellan 0 och 7. När jag har y-värde, använder jag bara setVoxel för att färga det voxel.
Det finns en massa andra 3D funktioner i grafer exemplet i bildbehandling bibliotek. Ta en titt!