public static Shape NormalDistribution(int un, int vn, double mult, double mu, double sigma) => new Shape { Points3 = new SurfaceFuncInfo { Fn = SurfaceFuncs.NormalDistribution(mu, sigma, new Model.Vector2(-un * mult / 2, -vn * mult / 2)), UFrom = 0, UTo = un * mult, UN = un, VFrom = 0, VTo = vn * mult, VN = vn, }.GetPoints(), Convexes = Squares(vn, un) };
public static Shape Torus(int un, int vn, double a, bool triangulate = false) => new Shape { Points3 = new SurfaceFuncInfo { Fn = SurfaceFuncs.Torus(a), UFrom = 0, UTo = -2 * Math.PI, UN = un, VFrom = 0, VTo = 2 * Math.PI, VN = vn, }.GetPoints(), Convexes = triangulate ? Triangles(vn, un) : Squares(vn, un) } .Normalize();