src/Math/Point.php
public function rotate($x, $y = null, $z = null)
  {
    if($x instanceof self)
      return static::fromPolar($this->vl, $this->ap + $x->ap, $this->av + $x->av);

    if(isset($z))
      return $this->rotate(static::fromCartesian($x, $y, $z));

    return static::fromPolar($this->vl, $this->ap + $x, $this->av + $y);
  }
public function rotate($x, $y = null, $z = null)
  {
    if($x instanceof self)
      return static::fromPolar($this->vl, $this->ap + $x->ap, $this->av + $x->av);

    if(isset($z))
      return $this->rotate(static::fromCartesian($x, $y, $z));

    return static::fromPolar($this->vl, $this->ap + $x, $this->av + $y);
  }
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