static int Main(string[] args) { ServiceProvider serviceProvider = CreateServiceProvider(); var logger = serviceProvider.GetService <ILogger <Program> >(); var writer = serviceProvider.GetService <FileWriter>(); return(Parser.Default.ParseArguments <NormalizeOptions, GenerateOptions, PaintOptions, ClusterizationOptions, ForecastOptions>(args) .MapResult( (GenerateOptions opts) => Generator.Generate(opts, logger, writer), (NormalizeOptions opts) => Normalizer.Normalize(opts, logger), (PaintOptions opts) => Painter.Paint(opts, writer, logger), (ClusterizationOptions opts) => Clusterizer.Clusterize(opts, logger, writer), (ForecastOptions opts) => Forecaster.Forecast(opts, writer, logger), errs => HandleParseError(errs, logger))); }
private void btnGenerate_Click(object sender, EventArgs e) { var drawer = new Drawer(); var rand = new Random(); var cores = new List <ClusterCore>(); for (var i = 0; i < 20; i++) { var coreLocation = new Point(rand.Next(0, 420), rand.Next(0, 420)); cores.Add(new ClusterCore(coreLocation)); } var dots = new List <Dot>(); for (var i = 20; i < 100000; i++) { dots.Add(new Dot(new Point(rand.Next(0, 420), rand.Next(0, 420)))); } var clusterizer = new Clusterizer(); clusterizer.Clusterize(cores, dots); var bitmap = new Bitmap(420, 420); var graphics = Graphics.FromImage(bitmap); drawer.DrawField(graphics, dots, cores); picboxBeforeClusterization.Image = bitmap; clusterizer.OptimizeClusterisation(cores, dots); var bitmap1 = new Bitmap(420, 420); var graphics1 = Graphics.FromImage(bitmap1); drawer.DrawField(graphics1, dots, cores); picBoxAfterClusterization.Image = bitmap1; }