knyazer

Untitled

Dec 16th, 2019
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.60 KB | None | 0 0
  1. uses GraphABC;
  2.  
  3. procedure drawStar(); // Процедура рисования звезды
  4. const
  5.   Deg2Rad = 0.0174533; // Константа перевода градусов в радианы (Deg2Rad это стандартное обозначение, потому что читается как DegToRad)
  6.  
  7. var
  8.   centerX, centerY : integer; // Координаты центра
  9.   size : integer; // Размер звезды (радиус описанной вокруг звезды окружности)
  10.   angle : double; // Угол направления на текущую вершину звезды от центра
  11.   i : integer;    // Счетчик
  12.  
  13. begin
  14.   angle := -90 * Deg2Rad; // Устанавливаем первый угол в центр слева
  15.   centerX := Window.Width div 2;  // Центр окна по ширине
  16.   centerY := Window.Height div 2; // Центр окна по высоте
  17.   size := min(Window.Width, Window.Height) div 2; // Размер звезды
  18.  
  19.   moveTo(Round(centerX + size * cos(angle)), Round(centerY + size * sin(angle))); // Устанавливаем первую вершину
  20.   for i := 1 to 7 do
  21.   begin
  22.     angle += (3.0 / 7.0) * (360 * Deg2Rad); // Переходим на три вершины по часовой стрелке
  23.     LineTo(Round(CenterX + size * cos(angle)), Round(centerY + size * sin(angle))); // Рисуем отрезок до текущей вершины
  24.   end;
  25. end;
  26.  
  27. begin
  28.   SetWindowSize(800, 500); // Устанавливаем размер окна
  29.   drawStar(); // Рисуем звезду
  30. end.
Advertisement
Add Comment
Please, Sign In to add comment