processing
Formes et fonctions de base utilisant P3D
Recherche…
Syntaxe
- translate (float x, float y, float z)
- rotateX (angle de flottaison)
- rotateY (angle de flottaison)
- tournerZ (angle flottant)
- boîte (taille du flotteur)
- box (float w, float h, float d)
Paramètres
Paramètres | Détails |
---|---|
angle | l'angle est en radians |
Taille | la dimension de la boîte à utiliser pour toutes ses dimensions |
w | la dimension de la boîte en x-axis |
h | la dimension de la boîte dans l' y-axis |
ré | la dimension de la boîte dans l' z-axis des z-axis |
Traduction 3D
Voici comment traduire des objets dans P3D:
size(200, 200, P3D); //Starting P3D renderer
fill(255, 0, 0, 150); //transparent red
rect(10, 10, 100, 100); //first rectangle
fill(0, 0, 255, 150); //transparent blue
translate(50, 50, 50); //translate x, y and z by 50 pixels
rect(0, 0, 100, 100); //second rectangle (same dimensions as the first one)
Rouge: premier rectangle Bleu: deuxième rectangle
Comme on peut le voir sur l’esquisse ci-dessus, le second rectangle ne semble être plus grand que le premier, alors qu’en réalité il est «plus proche» de l’écran en traduisant le rectangle de 50
pixels le long de l’ z-axis
(et de Bien entendu, le rectangle a été traduit selon les axes x
et y
).
Rotation 3D
Il y a trois fonctions pour la rotation 3D: rotateX(angle)
, rotateY(angle)
et rotateZ(angle)
pour la rotation dans leurs axes respectifs où l' angle
est en radians.
size(200, 200, P3D); //Starting P3D renderer
fill(255, 0, 0, 150); //transparent red
translate(width/2, height/2);//translate to centre, ie (100, 100)
rectMode(CENTER);//This makes the rectangle centre in (100, 100)
rect(0, 0, 100, 100); //first rectangle
fill(0, 0, 255, 150); //transparent blue
rotateX(PI/4); //rotate in the x-axis by PI/4 radians (45 degrees)
rect(0, 0, 100, 100); //second rectangle (same dimensions as the first one)
rotateY(radians(45)); //rotate in the y-axis by passing the radians conversion of 45 degrees
rotateZ(3*PI/4); //rotate in the z-axis by 3*PI/4 radians (270 degrees)
Remarque: les transformations (telles que les traductions et les rotations) s’ajoutent à la transformation précédente.
Dessiner un cuboïde
Pour dessiner un cuboïde, vous devez utiliser la fonction box()
en donnant ses dimensions comme paramètres.
size(200, 200, P3D); //Starting the P3D renderer
translate(width/2, height/2); //Translating to the centre of the sketch
rotateY(PI/4); //rotate so that...
rotateX(PI/6); //... it will be easy to see the box
noFill(); //disabling the box's fill, so that we will be able to see its edges
box(100, 50, 75); //the box function requires its dimensions as its parameters
Notez que la fonction
box()
n'accepte pas sa position comme paramètre
Il y a aussi un moyen d'appeler la fonction box()
avec un seul paramètre. Dans ce cas, ce sera un cube.
stroke(0, 100, 255); //change the edges' colour
fill(0, 0, 255); //fill the `box` in a blue colour
box(100); //draw a cube