pub fn to_xyz(self) -> Vector<3> {
        let zero = Scalar::ZERO;

        let components = match self.0.as_slice() {
            [] => [zero, zero, zero],
            &[t] => [t, zero, zero],
            &[u, v] => [u, v, zero],
            &[x, y, z, ..] => [x, y, z],
        };

        Vector(components)
    }
/// Convert the vector into a 3-dimensional vector
///
/// If the vector is 0-, 1-, or 2-dimensional, the missing components will
/// be initialized to zero.
///
/// If the vector has higher dimensionality than three, the superfluous
/// components will be discarded.
Convert the vector into a 3-dimensional vector
If the vector is 0-, 1-, or 2-dimensional, the missing components will
be initialized to zero.

If the vector has higher dimensionality than three, the superfluous
components will be discarded.
Convert the vector into a 3 - dimensional vector If the vector is 0 - 1 - or 2 - dimensional the missing components will be initialized to zero . If the vector has higher dimensionality than three the superfluous components will be discarded .
pub fn to_xyz(self) -> Vector<3> {
        let zero = Scalar::ZERO;
        let components = match self.0.as_slice() {
            [] => [zero, zero, zero],
            &[t] => [t, zero, zero],
            &[u, v] => [u, v, zero],
            &[x, y, z, ..] => [x, y, z],
        };
        Vector(components)
    }
pub fn to_xyz ( self ) -> Vector < 3 > { let zero = Scalar :: ZERO ; let components = match self . 0 . as_slice ( ) { [ ] => [ zero , zero , zero ] , & [ t ] => [ t , zero , zero ] , & [ u , v ] => [ u , v , zero ] , & [ x , y , z , .. ] => [ x , y , z ] , } ; Vector ( components ) }
Convert the vector into a 3-dimensional vector
If the vector is 0-, 1-, or 2-dimensional, the missing components will
be initialized to zero.
Convert the vector into a 3 - dimensional vector If the vector is 0 - 1 - or 2 - dimensional the missing components will be initialized to zero .
self
self