code: public Matrix4x3d setOrtho(double left, double right, double bottom, double top, double zNear, double zFar, boolean zZeroToOne) {
          m00 = 2.0 / (right - left);
          m01 = 0.0;
          m02 = 0.0;
          m10 = 0.0;
          m11 = 2.0 / (top - bottom);
          m12 = 0.0;
          m20 = 0.0;
          m21 = 0.0;
          m22 = (zZeroToOne ? 1.0 : 2.0) / (zNear - zFar);
          m30 = (right + left) / (left - right);
          m31 = (top + bottom) / (bottom - top);
          m32 = (zZeroToOne ? zNear : (zFar + zNear)) / (zNear - zFar);
          properties = 0;
          return this;
      }
docs: Set this matrix to be an orthographic projection transformation for a right-handed coordinate system
  using the given NDC z range.
  <p>
  In order to apply the orthographic projection to an already existing transformation,
  use {@link #ortho(double, double, double, double, double, double, boolean) ortho()}.
  <p>
  Reference: <a href="http://www.songho.ca/opengl/gl_projectionmatrix.html#ortho">http://www.songho.ca</a>
  
  @see #ortho(double, double, double, double, double, double, boolean)
  
  @param left
  the distance from the center to the left frustum edge
  @param right
  the distance from the center to the right frustum edge
  @param bottom
  the distance from the center to the bottom frustum edge
  @param top
  the distance from the center to the top frustum edge
  @param zNear
  near clipping plane distance
  @param zFar
  far clipping plane distance
  @param zZeroToOne
  whether to use Vulkan's and Direct3D's NDC z range of <code>[0..+1]</code> when <code>true</code>
  or whether to use OpenGL's NDC z range of <code>[-1..+1]</code> when <code>false</code>
  @return this