Name
modelZ()
Description
Returns the three-dimensional X, Y, Z position in model space. This
 returns the Z value for a given coordinate based on the current set of
 transformations (scale, rotate, translate, etc.) The Z value can be used
 to place an object in space relative to the location of the original
 point once the transformations are no longer in use.
 
 In the example, the modelX(), modelY(), and
 modelZ() functions record the location of a box in space after
 being placed using a series of translate and rotate commands. After
 popMatrix() is called, those transformations no longer apply, but the
 (x, y, z) coordinate returned by the model functions is used to place
 another box in the same location.
Examples
void setup() { size(500, 500, P3D); noFill(); } void draw() { background(0); pushMatrix(); // start at the middle of the screen translate(width/2, height/2, -200); // some random rotation to make things interesting rotateY(1.0); //yrot); rotateZ(2.0); //zrot); // rotate in X a little more each frame rotateX(frameCount / 100.0); // offset from center translate(0, 150, 0); // draw a white box outline at (0, 0, 0) stroke(255); box(50); // the box was drawn at (0, 0, 0), store that location float x = modelX(0, 0, 0); float y = modelY(0, 0, 0); float z = modelZ(0, 0, 0); // clear out all the transformations popMatrix(); // draw another box at the same (x, y, z) coordinate as the other pushMatrix(); translate(x, y, z); stroke(255, 0, 0); box(50); popMatrix(); }
Syntax
modelZ(x, y, z)
Parameters
x(float)3D x-coordinate to be mappedy(float)3D y-coordinate to be mappedz(float)3D z-coordinate to be mapped
Return
float

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.