Szukaj…


Składnia

  • tłumaczyć (float x, float y, float z)
  • rotateX (kąt pływaka)
  • rotateY (kąt pływaka)
  • rotateZ (kąt pływaka)
  • pudełko (rozmiar pływaka)
  • box (float w, float h, float d)

Parametry

Parametry Detale
kąt kąt w radianach
rozmiar wymiar pudełka, który będzie używany dla wszystkich jego wymiarów
w wymiar pudełka na x-axis
h wymiar ramki w y-axis
re wymiar ramki w z-axis

Tłumaczenie 3D

Oto jak tłumaczyć obiekty w 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)

Przykład tłumaczenia

Czerwony: pierwszy prostokąt Niebieski: drugi prostokąt

Jak widać z powyższego szkicu, drugi prostokąt wydaje się być większy niż pierwszy, gdy w rzeczywistości jest on „bliżej” ekranu w wyniku przesunięcia prostokąta o 50 pikseli wzdłuż z-axis (i Oczywiście, prostokąt przeliczono po x i y osi).

Obrót 3D

Istnieją trzy funkcje obrotu 3D: obrót rotateX(angle) , rotateY(angle) i rotateZ(angle) dla obrotu w odpowiednich osiach, gdzie angle jest w radianach.

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

Uwaga: transformacje (takie jak tłumaczenia i rotacje) dodają się do poprzedniej transformacji.

Rysowanie prostopadłościanu

Aby narysować prostopadłościan, musisz użyć funkcji box() , podając jej wymiary jako parametry.

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

pudełko z trzema parametrami

Zauważ, że funkcja box() nie przyjmuje swojej pozycji jako parametrów

Istnieje również sposób na wywołanie funkcji box() pomocą tylko jednego parametru. W tym przypadku będzie to sześcian.

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

sześcian z funkcją pola



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow