コード例 #1
0
        public Point <TAlgebraicNumber> Translate(Direction <TAlgebraicNumber> direction, TAlgebraicNumber length)
        {
            var normalizedDirection = direction.Normalize();

            return(new Point <TAlgebraicNumber>(
                       _calculator,
                       _calculator.Add(X, _calculator.Multiply(normalizedDirection.X, length)),
                       _calculator.Add(Y, _calculator.Multiply(normalizedDirection.Y, length))));
        }
コード例 #2
0
        public Direction <TAlgebraicNumber> Normalize()
        {
            var length =
                _calculator.SquareRoot(
                    _calculator.Add(
                        _calculator.Multiply(X, X),
                        _calculator.Multiply(Y, Y)));

            return(new Direction <TAlgebraicNumber>(
                       _calculator,
                       _calculator.Divide(X, length),
                       _calculator.Divide(Y, length)));
        }