code: public function translate($x, $y = null, $z = null, $distance = null)
    {
      if($x instanceof self)
        return $this->transByPoint($x, $y);
  
      if(isset($distance))
        return $this->transByPoint(static::fromCartesian($x, $y, $z), $distance);
  
      return static::fromCartesian(
        $this->x + $x,
        $this->y + $y,
        $this->z + $z
      );
    }
docs: Translate coordinates in space (entry wrapper)
  
  [1] ->translate(static $shift[, $distance])
  - Offset the coordinates [by $distance, ]using $shift as offset vector.
  [2] ->translate($x, $y, $z[, $distance])
  - Offset the coordinates of the point [by $distance, ]using specified separate deltas as offset vector.
  
  @param static|numeric $shift|$x the (set of) distance(s) by which a point must be translated.
  @param ?numeric $distance|$y the distances by which a coordinate must be translated.
  @param ?numeric $z the distances by which a coordinate must be translated.
  @param ?numeric $distance the distances by which a coordinate must be translated.
  @return self the translated coordinate