35 if (world_value < m_min_value || world_value > m_max_value) {
37 <<
"WorldToEngine ExpSigmoidConverter: world values outside of possible range";
39 return log(
log(world_value / m_min_value) /
log(m_max_value / world_value));
44 return m_min_value *
exp(
log(m_max_value / m_min_value) / (1 +
exp(-engine_value)) );
48 return value *
log(value / m_min_value) *
log(m_max_value / value) /
log(m_max_value / m_min_value);
double engineToWorld(const double engine_value) const override
Engine to world coordinate converter.
virtual ~ExpSigmoidConverter()
Destructor.
double getEngineToWorldDerivative(const double value) const override
double worldToEngine(const double world_value) const override
World to engine coordinate converter.