transform method

Point transform(
  1. dynamic matrix
)

Transform this point using a Matrix.

Implementation

Point transform(dynamic matrix) {
  // Matrix is [a, b, c, d, e, f]
  // x' = a*x + c*y + e
  // y' = b*x + d*y + f
  if (matrix is List<double> && matrix.length == 6) {
    return Point(
      matrix[0] * x + matrix[2] * y + matrix[4],
      matrix[1] * x + matrix[3] * y + matrix[5],
    );
  }
  return this;
}