processing
Grundformen und Funktionen mit P3D
Suche…
Syntax
- übersetzen (Float x, Float y, Float z)
- RotateX (Schwimmwinkel)
- RotateY (Schwimmwinkel)
- drehenZ (Schwimmwinkel)
- Box (Schwimmergröße)
- Kasten (Schwimmer w, Schwimmer h, Schwimmer d)
Parameter
Parameter | Einzelheiten |
---|---|
Winkel | Der Winkel ist im Bogenmaß |
Größe | die Abmessung der Box, die für alle Abmessungen verwendet werden soll |
w | die Abmessung der Box in der x-axis |
h | die Abmessung der Box in der y-axis |
d | die Abmessung der Box in der z-axis |
3D-Übersetzung
So übersetzen Sie Objekte 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)
Rot: erstes Rechteck Blau: zweites Rechteck
Wie aus der obigen Skizze zu ersehen ist, scheint das zweite Rechteck nur größer als das erste zu sein, obwohl es in Wirklichkeit "näher" am Bildschirm ist, wenn das Rechteck um 50
Pixel entlang der z-axis
(und von) verschoben wird Natürlich wurde das Rechteck entlang der x
und y
Achse verschoben.
3D-Drehung
Es gibt drei Funktionen für die 3D-Drehung: rotateX(angle)
, rotateY(angle)
und rotateZ(angle)
für die Drehung in ihren jeweiligen Achsen, wenn der angle
im Bogenmaß ist.
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)
Hinweis: Transformationen (z. B. Übersetzungen und Rotationen) ergänzen die vorherige Transformation.
Zeichnen eines Quaders
Um einen Quader zu zeichnen, müssen Sie die Funktion box()
verwenden, indem Sie die Abmessungen als Parameter angeben.
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
Beachten Sie, dass das
box()
Funktion akzeptiert keine die Position als Parameter
Es gibt auch eine Möglichkeit, die box()
Funktion mit nur einem Parameter aufzurufen. In diesem Fall handelt es sich um einen Würfel.
stroke(0, 100, 255); //change the edges' colour
fill(0, 0, 255); //fill the `box` in a blue colour
box(100); //draw a cube