public static void FromM33dAndV3d() => TrafoTesting.GenericTest(rnd => { var a = TrafoTesting.GetRandomEuclidean(rnd); var m = (M33d)a.Rot; var t = a.Trans; var restored = Euclidean3d.FromM33dAndV3d(m, t); TrafoTesting.AreEqual(a, restored); });
public static void ConsistentWithMatrixRotationAndShiftTest() => TrafoTesting.GenericTest(rnd => { var trans = rnd.UniformV3d() * 10; var axis = rnd.UniformV3dDirection(); var angle = rnd.UniformDouble() * Constant.PiTimesTwo; var m = M44d.Translation(trans) * M44d.Rotation(axis, angle); var e = new Euclidean3d(Rot3d.Rotation(axis, angle), trans); var p = rnd.UniformV3d() * rnd.UniformInt(1000); var res = m.TransformPos(p); var res2 = e.TransformPos(p); TrafoTesting.AreEqual(res, res2); });
public static void FromTrafo3d() => TrafoTesting.GenericConversionTest(TrafoTesting.GetRandomEuclidean, a => (Trafo3d)a, b => Euclidean3d.FromTrafo3d(b));
public void Write(Euclidean3d t) { Write(t.Rot); Write(t.Trans); }