예제 #1
0
        public void TestObject3D_AddTorque()
        {
            List <PointMass> massPoints = new List <PointMass>()
            {
                //
                //  two masses about Z axis
                //
                //   5kg -------- | -------- 5kg

                new PointMass(new Vector(-5, 0, 0), 5),
                new PointMass(new Vector(5, 0, 0), 5),
            };

            Object3D obj = new Object3D(massPoints, new Vector(1, 1, 0));

            //moment of intertia = (0, 250, 250)

            //add torque on z axis

            obj.AddTorque(new Vector(0, 0, 10));

            Vector result = obj.RotationalAcceleration;

            Vector expected = new Vector(0, 0, 10d / 250d);

            Assert.AreEqual(expected, result);
        }