public void Shear()
        {
            Matrix transform = new Shear(1, 0, 0, 0, 0, 0).GetTransform();
            Tuple  p         = Tuple.Point(2, 3, 4);

            Assert.AreEqual(transform * p, Tuple.Point(5, 3, 4));

            transform = new Shear(0, 1, 0, 0, 0, 0).GetTransform();
            p         = Tuple.Point(2, 3, 4);
            Assert.AreEqual(transform * p, Tuple.Point(6, 3, 4));

            transform = new Shear(0, 0, 1, 0, 0, 0).GetTransform();
            p         = Tuple.Point(2, 3, 4);
            Assert.AreEqual(transform * p, Tuple.Point(2, 5, 4));

            transform = new Shear(0, 0, 0, 1, 0, 0).GetTransform();
            p         = Tuple.Point(2, 3, 4);
            Assert.AreEqual(transform * p, Tuple.Point(2, 7, 4));

            transform = new Shear(0, 0, 0, 0, 1, 0).GetTransform();
            p         = Tuple.Point(2, 3, 4);
            Assert.AreEqual(transform * p, Tuple.Point(2, 3, 6));

            transform = new Shear(0, 0, 0, 0, 0, 1).GetTransform();
            p         = Tuple.Point(2, 3, 4);
            Assert.AreEqual(transform * p, Tuple.Point(2, 3, 7));
        }
示例#2
0
 /// <inheritdoc/>
 public override void RunCombination(int combinationIndex, Combination combination, CalculationContext context)
 {
     Shear.Run(context);
     Moment.Run(context);
     Axial.Run(context);
     Deflection.Run(context);
 }