/// <summary> /// Tunnel /// </summary> public static void Demo6() { // Initialize the led strip int i = 1; Util.Setup(); int task = Util.StartTask(); CercleList cercles = new CercleList(3, 5); while (Util.TaskWork(task)) { foreach (Cercle cercle in cercles) { for (int degree = 0; degree < 360; degree += 5) { if (Cercle(degree, cercle.Rayon, cercle.X, cercle.Y) is Coordonnee coord) { Util.Context.Pixels.GetCoordonnee(coord).SetColor(cercle.Couleur); } } } cercles.SetRayon(0.3, i++ % 2000 > 1000); Util.SetLeds(); } }
/// <summary> /// Cercle /// </summary> public static void Demo2() { Util.Setup(); int task = Util.StartTask(); Random random = new Random(); DateTime temp = DateTime.Now; CercleList cercles = new CercleList(4, 1, 90); while (Util.TaskWork(task)) { if (temp.AddMinutes(1) < DateTime.Now) { temp = DateTime.Now; int r = random.Next(2, 12); cercles = new CercleList(r, 1, 360 / r); } cercles.Variation(); foreach (Cercle cercle in cercles) { Util.Context.Pixels.GetCoordonnee(Util.Context.Pixels.GetCercleCoord(cercle.Centre, cercle.DegreeInter, cercle.Rayon)).SetColor(cercle.Couleur); } cercles.SetDegree(5); //Background Util.SetLeds(); Util.Context.Pixels.Reset(); using ManualResetEventSlim waitHandle = new ManualResetEventSlim(false); waitHandle.Wait(TimeSpan.FromMilliseconds(2)); } }
/// <summary> /// Spiral /// </summary> public static void Demo4() { // Initialize the led strip int i = 1; Util.Setup(); int task = Util.StartTask(); Random random = new Random(); CercleList cercles = new CercleList(3, 5, 120); while (Util.TaskWork(task)) { if (i++ % 250 == 249) { int r = random.Next(2, 9); cercles = new CercleList(r, 5, 360 / r); } for (double rayon = 1; rayon < 15; rayon += 0.4) { foreach (Cercle cercle in cercles) { if (Cercle(360 - (cercle.DegreeInter - (int)(rayon * 10)) % 360, rayon) is Coordonnee coord) { Util.Context.Pixels.GetCoordonnee(coord).SetColor(cercle.Couleur); } } } cercles.SetDegree(9); Util.SetLeds(); using ManualResetEventSlim waitHandle = new ManualResetEventSlim(false); waitHandle.Wait(TimeSpan.FromMilliseconds(8)); } }