Étape 4: représentation graphique
Vous pouvez le graphique dans un cube, comme vous le feriez dans une calculatrice graphique programmable.
La meilleure façon de graphique est de boucle à travers tous les points dans le plan X-Z, calculer une valeur de fonction y en fonction de x et z et ensemble le voxel à (x, y, z). Jetez un oeil à l’exemple ci-dessous :
float xScale=0.5; float zScale=0.3; for (float x=0; x<cube.side;x++) for (float z=0; z<cube.side; z++) { float y=map(sin(xScale*x+offset)*cos(zScale*z+offset), -1, 1, 0, cube.side); PVector point=new PVector(x, y, z); cube.setVoxel(point, cube.colorMap(y, 0, cube.side)); }
Cette fonction dessine la forme sinusoïdale 3D vue dans le gif animé. Je calcule une valeur d’une fonction, f(x,y)=sin(xScale*x+offset)*cos(zScale*z+offset), et puis, pour rendre les choses faciles sur moi-même, j’utilise de fonction intégrée de traitement carte pour mapper les valeurs de la fonction entre -1 et 1 en valeurs y compris entre 0 et 7. Une fois que j’ai la valeur de y, je viens d’utiliser setVoxel à la couleur dans ce voxel.
Il y a un tas d’autres fonctions 3D dans l’exemple de graphique dans la bibliothèque de traitement. Jetez un coup d’oeil !