private static void MyNewMethod(int x, int y, int k) // волшебный метод, рисует сторону по значениям { Risovatel.SetPos(x, y); Risovatel.Go(100, k * Math.PI / 2); Risovatel.Go(10 * Math.Sqrt(2), k * Math.PI / 2 + Math.PI / 4); Risovatel.Go(100, k * Math.PI / 2 + Math.PI); Risovatel.Go(100 - (double)10, k * Math.PI / 2 + Math.PI / 2); }
public static void DrawPart(int i) { Risovatel.SetPos(Pos[(i + 1) % 4], Pos[i % 4]); Risovatel.Go(100, Math.PI / 2 * i); Risovatel.Go(10 * Math.Sqrt(2), Math.PI / 4 + Math.PI / 2 * i); Risovatel.Go(100, Math.PI + Math.PI / 2 * i); Risovatel.Go(100 - (double)10, Math.PI / 2 + Math.PI / 2 * i); }
/// <summary> /// рисует одну часть невозможного квадрата /// </summary> /// <param name="x0">начальная координата x</param> /// <param name="y0">начальная координата Y</param> /// <param name="angle">угол направления части</param> static void DrowPart(double x0, double y0, double angle) { Risovatel.SetPos((float)x0, (float)y0); Risovatel.Go(Length, angle); Risovatel.Go(Width * Math.Sqrt(2), angle + Math.PI / 4); Risovatel.Go(Length, angle + Math.PI); Risovatel.Go(Length - Width, angle + 2 * Math.PI / Num); }
public static void DrawPart(int i) { double angle = Math.PI / 2 * i; Risovatel.SetPos(Pos[(i + 1) % 4], Pos[i % 4]); Risovatel.Go(10 * size, angle); Risovatel.Go(1 * size * Math.Sqrt(2), Math.PI / 4 + angle); Risovatel.Go(10 * size, Math.PI + angle); Risovatel.Go(10 * size - (double)1 * size, Math.PI / 2 + angle); }
public static void Main() { Risovatel.Initialize(); //Рисуем четыре одинаковые части невозможного квадрата. // Часть первая: Risovatel.SetPos(Risovatel.width, 0); // Часть вторая: Risovatel.SetPos(Risovatel.a + 2 * Risovatel.width, Risovatel.width); // Часть третья: Risovatel.SetPos(Risovatel.a + Risovatel.width, Risovatel.a + Risovatel.width * 2); // Часть четвертая: Risovatel.SetPos(0, Risovatel.a + Risovatel.width); Risovatel.ShowResult(); }