public static Mesh ZFunction(Func <double, double, double> z, UvSampler vertices) { SurfaceParametricEquation surface = new SurfaceParametricEquation( (u, v) => u, (u, v) => v, (u, v) => z(u, v) ); return(Parametric(surface, vertices)); }
public static Mesh Sphere(double radius) { SurfaceParametricEquation surface = new SurfaceParametricEquation( (u, v) => radius * Math.Cos(v) * Math.Cos(u), (u, v) => radius * Math.Cos(v) * Math.Sin(u), (u, v) => radius * Math.Sin(v) ); UvSampler vertices = new UvSampler(new Interval(0, 2 * Math.PI), new Interval(-0.5 * Math.PI, 0.5 * Math.PI), 25, 31); return(Parametric(surface, vertices, true, true)); }
public static Mesh ZFunction(Func <double, double, double> z) { UvSampler vertices = new UvSampler(new Interval(-5, 5), new Interval(-5, 5), 101, 101); return(MeshHelpers.ZFunction(z, vertices)); }
public static Mesh HorizontalPlane(UvSampler vertices) { SurfaceParametricEquation surface = new SurfaceParametricEquation(); return(Parametric(surface, vertices)); }
public static Mesh Parametric(SurfaceParametricEquation surface, UvSampler vertices, bool closed0 = false, bool closed1 = false) { MeshBuilder mb = MeshBuilder.ParametricEquation(surface, vertices, closed0, closed1); return(mb.ToMesh()); }
public static MeshBuilder ParametricEquation(SurfaceParametricEquation surface, UvSampler vertices, bool closed0 = false, bool closed1 = false) { var points = vertices.EvaluateSurface(surface); return(RectGrid(points, closed0, closed1)); }