Ricerca…


Sintassi

  • translate (float x, float y, float z)
  • rotateX (angolo di galleggiamento)
  • rotateY (angolo di galleggiamento)
  • rotateZ (angolo di galleggiamento)
  • scatola (dimensione del galleggiante)
  • scatola (float w, float h, float d)

Parametri

parametri Dettagli
angolo l'angolo è in radianti
taglia la dimensione della scatola da utilizzare per tutte le sue dimensioni
w la dimensione della scatola nell'asse x-axis
h la dimensione della scatola nell'asse y-axis
d la dimensione della scatola nell'asse z-axis

Traduzione 3D

Ecco come tradurre gli oggetti in 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)

Esempio di traduzione

Rosso: primo rettangolo Blu: secondo rettangolo

Come si può vedere dallo schizzo sopra, il secondo rettangolo sembra essere più grande del primo, quando in realtà è "più vicino" allo schermo come risultato della traslazione del rettangolo di 50 pixel lungo l' z-axis (e di Naturalmente, il rettangolo è stato tradotto lungo il x ed y assi).

Rotazione 3D

Ci sono tre funzioni per la rotazione 3D: ruotare rotateX(angle) , rotateY(angle) e rotateZ(angle) per la rotazione nei rispettivi assi dove l' angle è in radianti.

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)

rotateX

rotateY(radians(45)); //rotate in the y-axis by passing the radians conversion of 45 degrees

RotateY

rotateZ(3*PI/4); //rotate in the z-axis by 3*PI/4 radians (270 degrees)

rotateZ

Nota: le trasformazioni (come le traduzioni e le rotazioni) si aggiungono alla trasformazione precedente.

Disegnare un cuboide

Per disegnare un parallelepipedo, devi usare la funzione box() dando le sue dimensioni come parametri.

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

scatola con tre parametri

Si noti che la funzione box() non accetta la sua posizione come parametri

C'è anche un modo per chiamare la funzione box() con un solo parametro. In questo caso, sarà un cubo.

stroke(0, 100, 255); //change the edges' colour
fill(0, 0, 255); //fill the `box` in a blue colour
box(100); //draw a cube

cubo con funzione box



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow