@Override
  public <NV extends NumberVector> NV projectRenderToDataSpace(double[] v, NumberVector.Factory<NV> prototype) {
    final int dim = v.length;
    double[] vec = projectRenderToScaled(v);
    // Not calling {@link #projectScaledToDataSpace} to avoid extra copy of
    // vector.
    for(int d = 0; d < dim; d++) {
      vec[d] = scales[d].getUnscaled(vec[d]);
    }
    return prototype.newNumberVector(vec);
  }
@ Override public < NV extends NumberVector > NV projectRenderToDataSpace ( double [ ] v , NumberVector . Factory < NV > prototype ) { final int dim = v . length ; double [ ] vec = projectRenderToScaled ( v ) ; for ( int d = 0 ; d < dim ; d ++ ) { vec [ d ] = scales [ d ] . getUnscaled ( vec [ d ] ) ; } return prototype . newNumberVector ( vec ) ; }
Project a vector from rendering space to data space.

@param <NV> Vector type
@param v vector in rendering space
@param prototype Object factory
@return vector in data space