pub(crate) fn v_for_params(th: f64, bias: f64) -> Vec2 {
        let a = if bias >= 1.0 {
            (2.0 - bias).sqrt()
        } else {
            // Bias may not be bounded from below, we probably want
            // to rethink this...
            1.0 - 2.0 * (0.5 * (bias - 1.0)).atanh()
        };
        let len = a / (1.5 * (th.cos() + 1.0));
        len * Vec2::from_angle(th)
    }
/// Determine control arm position from params.
///
/// This function should be the inverse of `params_for_v`
Determine control arm position from params.
This function should be the inverse of `params_for_v`
Determine control arm position from params . This function should be the inverse of ` params_for_v `
pub(crate) fn v_for_params(th: f64, bias: f64) -> Vec2 {
        let a = if bias >= 1.0 {
            (2.0 - bias).sqrt()
        } else {
            // Bias may not be bounded from below, we probably want
            // to rethink this...
            1.0 - 2.0 * (0.5 * (bias - 1.0)).atanh()
        };
        let len = a / (1.5 * (th.cos() + 1.0));
        len * Vec2::from_angle(th)
    }
pub ( crate ) fn v_for_params ( th : f64 , bias : f64 ) -> Vec2 { let a = if bias >= 1.0 { ( 2.0 - bias ) . sqrt ( ) } else { // Bias may not be bounded from below, we probably want // to rethink this... 1.0 - 2.0 * ( 0.5 * ( bias - 1.0 ) ) . atanh ( ) } ; let len = a / ( 1.5 * ( th . cos ( ) + 1.0 ) ) ; len * Vec2 :: from_angle ( th ) }
Determine control arm position from params.
Determine control arm position from params .
th
f64
bias
f64
th
f64
bias
f64