public static List <PointF> GenererPoints(ConfigurationRevolution p_configurationRevolution) { if (p_configurationRevolution is null) { throw new ArgumentNullException(nameof(p_configurationRevolution)); } double conversionDegRad = Math.PI / 180.0; PointF dernierPoint = p_configurationRevolution.PositionDepart; double angle = 0; int longueur = p_configurationRevolution.LongueurDepart; List <PointF> pointsLignes = new List <PointF>() { dernierPoint }; for (int numeroLigne = 0; numeroLigne < p_configurationRevolution.NombreLignes; numeroLigne++) { PointF point = new PointF() { X = (float)(dernierPoint.X + Math.Cos(angle * conversionDegRad) * longueur), Y = (float)(dernierPoint.Y + Math.Sin(angle * conversionDegRad) * longueur) }; pointsLignes.Add(point); angle = (360 + angle + p_configurationRevolution.PasAngle) % 360; longueur += p_configurationRevolution.PasLongueur; dernierPoint = point; } return(pointsLignes); }
public ConfigurationRevolution EtablirConfiguration() { ConfigurationRevolution cr = new ConfigurationRevolution() { Angle = (int)nudAngle.Value, LongueurDepart = (int)nudLongueurDepart.Value, NombreLignes = (int)nudNombreLignes.Value, Pas = (int)nudPas.Value, PositionDepart = new Point(pCanvas.Width / 2, pCanvas.Height / 2) }; return(cr); }
public ConfigurationRevolution EtablirConfiguration() { ConfigurationRevolution cr = new ConfigurationRevolution() { PasAngle = (int)nudPasAngle.Value, LongueurDepart = (int)nudLongueurDepart.Value, NombreLignes = (int)nudNombreLignes.Value, PasLongueur = (int)nudPasLongueur.Value, PositionDepart = new Point(pCanvas.Width / 2, pCanvas.Height / 2), NombreIterationKock = (int)nudNombreIterationsFloconsKoch.Value }; return(cr); }
private void Dessiner(ConfigurationRevolution p_configurationRevolution, Graphics p_graphics, Pen p_pen) { if (p_configurationRevolution is null) { throw new ArgumentNullException(nameof(p_configurationRevolution)); } if (p_graphics is null) { throw new ArgumentNullException(nameof(p_graphics)); } List <PointF> pointsLignes = DessinRevolution.GenererPoints(p_configurationRevolution); p_graphics.DrawLines(p_pen, pointsLignes.ToArray()); }
private void DessinerKoch(ConfigurationRevolution p_configurationRevolution, Graphics p_graphics, Pen p_pen) { if (p_configurationRevolution is null) { throw new ArgumentNullException(nameof(p_configurationRevolution)); } if (p_graphics is null) { throw new ArgumentNullException(nameof(p_graphics)); } List <PointF> pointsLignes = DessinRevolution.GenererPoints(p_configurationRevolution); pointsLignes = DessinRevolution.SubDiviserKock(pointsLignes, p_configurationRevolution.NombreIterationKock); pointsLignes = DessinRevolution.Recentrer(pointsLignes, pCanvas.Width, pCanvas.Height); p_graphics.DrawLines(p_pen, pointsLignes.ToArray()); }