public Vector3 z(Vector3 q) {
		float z = z_value(q);
		return new Vector3(q.x, q.y, z);
	}
public Vector3 z ( Vector3 q ) { float z = z_value ( q ) ; return new Vector3 ( q . x , q . y , z ) ; }
compute the Z value for the X,Y values of q.
assume this triangle represent a plane --> q does NOT need to be contained
in this triangle.

@param q query point (its Z value is ignored).
@return q with updated Z value.