private static void PartOfSquare(double angle1, double angle2, double angle3, double angle4) { Risovatel.Go(100, angle1); Risovatel.Go(10 * Math.Sqrt(2), angle2); Risovatel.Go(100, angle3); Risovatel.Go(100 - (double)10, angle4); }
public static void Main() { Risovatel.Initialize(); //Рисуем четыре одинаковые части невозможного квадрата. // Часть первая: Risovatel.set_pos(10, 0); Risovatel.Go(100, 0); Risovatel.Go(10 * Math.Sqrt(2), Math.PI / 4); Risovatel.Go(100, Math.PI); Risovatel.Go(100 - (double)10, Math.PI / 2); // Часть вторая: Risovatel.set_pos(120, 10); Risovatel.Go(100, Math.PI / 2); Risovatel.Go(10 * Math.Sqrt(2), Math.PI / 2 + Math.PI / 4); Risovatel.Go(100, Math.PI / 2 + Math.PI); Risovatel.Go(100 - (double)10, Math.PI / 2 + Math.PI / 2); // Часть третья: Risovatel.set_pos(110, 120); Risovatel.Go(100, Math.PI); Risovatel.Go(10 * Math.Sqrt(2), Math.PI + Math.PI / 4); Risovatel.Go(100, Math.PI + Math.PI); Risovatel.Go(100 - (double)10, Math.PI + Math.PI / 2); // Часть четвертая: Risovatel.set_pos(0, 110); Risovatel.Go(100, -Math.PI / 2); Risovatel.Go(10 * Math.Sqrt(2), -Math.PI / 2 + Math.PI / 4); Risovatel.Go(100, -Math.PI / 2 + Math.PI); Risovatel.Go(100 - (double)10, -Math.PI / 2 + Math.PI / 2); Risovatel.ShowResult(); }
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 DrawSquare(int x, int y, int index) { Risovatel.set_pos(x, y); Risovatel.Go(100, Math.PI * index / 2); Risovatel.Go(10 * Math.Sqrt(2), Math.PI / 4 + (Math.PI * index / 2)); Risovatel.Go(100, ((Math.PI * index) / 2) + Math.PI); Risovatel.Go(100 - (double)10, Math.PI / 2 + (Math.PI * index / 2) % (2 * Math.PI)); }
/// <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) { 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); }
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); }