diff options
Diffstat (limited to 'spheres.cpp')
-rw-r--r-- | spheres.cpp | 27 |
1 files changed, 2 insertions, 25 deletions
diff --git a/spheres.cpp b/spheres.cpp index 0067cc8..9ca2036 100644 --- a/spheres.cpp +++ b/spheres.cpp @@ -8,30 +8,7 @@ #include "animation.hpp" const unsigned D = 2; -typedef Model<double, D, TorusGroup<double, D>, double> model; - -Gen<double, D, TorusGroup<double, D>, double> eGen(double L) { - std::vector<Vector<double, 2>> torusVectors = torus_vecs<double, 2>(L); - std::vector<Matrix<double, 2>> torusMatrices = torus_mats<double, 2>(); - return [L, torusVectors, - torusMatrices](Model<double, D, TorusGroup<double, D>, double>& M, - Rng& r) -> Transformation<double, D, TorusGroup<double, D>, double>* { - Matrix<double, 2> m; - Vector<double, 2> t; - - m = r.pick(torusMatrices); - t(0) = r.uniform<double>(0, L); - t(1) = r.uniform<double>(0, L); - t = t - m * t; - - TorusGroup<double, 2> g = TorusGroup<double, 2>({(double)L, t, m}); - - Spin<double, 2, double>* ss = r.pick(M.s); - - return new SpinFlip<double, 2, TorusGroup<double, 2>, double>(M, g, ss); - }; -} - +typedef Model<double, D, TorusGroup<double, D>, Radius> model; int main(int argc, char* argv[]) { const unsigned D = 2; @@ -89,7 +66,7 @@ int main(int argc, char* argv[]) { return H * s.x(1); }; - auto g = eGen(L); + auto g = uniformGenTorus<D, Radius>(L); std::ofstream ofile("test.dat"); Animation<double, D, TorusGroup<double, D>, Radius> A(L, 750, argc, argv, 1000, true); model sphere(L, Z, B); |