public Matrix4x3d reflect(double nx, double ny, double nz, double px, double py, double pz) {
        return reflect(nx, ny, nz, px, py, pz, this);
    }
public Matrix4x3d reflect ( double nx , double ny , double nz , double px , double py , double pz ) { return reflect ( nx , ny , nz , px , py , pz , this ) ; }
Apply a mirror/reflection transformation to this matrix that reflects about the given plane
specified via the plane normal and a point on the plane.
<p>
If <code>M</code> is <code>this</code> matrix and <code>R</code> the reflection matrix,
then the new matrix will be <code>M * R</code>. So when transforming a
vector <code>v</code> with the new matrix by using <code>M * R * v</code>, the
reflection will be applied first!

@param nx
the x-coordinate of the plane normal
@param ny
the y-coordinate of the plane normal
@param nz
the z-coordinate of the plane normal
@param px
the x-coordinate of a point on the plane
@param py
the y-coordinate of a point on the plane
@param pz
the z-coordinate of a point on the plane
@return this