Повторить изображение в четырех углах - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

А.

а) Повторить изображение в 4-x углаx экрана б) Сделать поворот осей координат так, чтобы они были параллельны диагоналям экрана, и растянуть по осям в 2 раза. в) Залить изображение жирными линиями типа ///

Б.

а) Повторить изображение кривой в 4-х точках экрана: сверху и снизу средней вертикали и слева и справа средней горизонтали б) Осуществив поворот осей координат на 90 градусов и сжатие по горизонтальной оси в 1.5 раза в) Залить изображения жирными линиями типа \\\

В.

а) Повторить изображение кривой 4 раза переносом по оси Х на 25 единиц влево и вправо на 20 единиц вверх и вниз б) Осуществив поворот осей каждого изображения относительно начала координат на Pi/3, 5Pi/6, 4Pi/3, 11Pi/6 и сжатие по оси Y в 2 раза в) Залить изображения жидкой штриховкой.

Если кто то знает код как например: повторить изображение в 4-х углах, или что то из выше написанного, то ответьте пожалуйста, любая помощь будет кстати.

Решение задачи: «Повторить изображение в четырех углах»

textual
Листинг программы
uses
  GraphABC, ABCObjects;
  
procedure DrawFigure(X, Y, W, H : Integer);
begin
  Ellipse(X + W div 4, Y + H div 4, X + W div 4 * 3, Y + H div 4 * 3);
  FillEllipse(X + W div 4, Y + H div 4, X + W div 4 * 3, Y + H div 4 * 3);
end;
 
begin
  var X := Window.Width div 2;
  var Y := Window.Height div 2;
  var W := 300; var H := 160;
 
  Coordinate.OriginX := X;
  Coordinate.OriginY := Y;
  Pen.Color := clBlue;
 
  DrawFigure(-X, -Y, W, H);
  DrawFigure(+X-W, -Y, W, H);
  DrawFigure(-X, +Y-H, W, H);
  DrawFigure(+X-W, +Y-H, W, H);
  
  Coordinate.Scale := 0.8;
  Coordinate.Angle := 45;
  
  Brush.Color := clBlack;
  Brush.Style := bsHatch;
  Brush.Hatch := bhBackwardDiagonal;
 
  DrawFigure(-X, -Y, W, H);
  DrawFigure(+X-W, -Y, W, H);
  DrawFigure(-X, +Y-H, W, H);
  DrawFigure(+X-W, +Y-H, W, H);
end.

Объяснение кода листинга программы

Используемая библиотека: GraphABC, ABCObjects. Процедура рисования: DrawFigure(X, Y, W, H) принимает четыре аргумента типа Integer, которые представляют собой координаты и размеры фигуры.

  1. Ellipse(X + W div 4, Y + H div 4, X + W div 4 3, Y + H div 4 3) — рисует эллипс с центром в точке (X + W/4, Y + H/4) и размерами (X + W/4 3, Y + H/4 3).
  2. FillEllipse(X + W div 4, Y + H div 4, X + W div 4 3, Y + H div 4 3) — заполняет эллипс цветом. Начало выполнения кода:
  3. Переменные X, Y, W, H инициализируются значением половины ширины и высоты окна соответственно.
  4. Устанавливаются начальные координаты оси.
  5. Устанавливается цвет кисти на синий.
  6. Рисование эллипсов в четырех углах начинается с вызова функции DrawFigure(-X, -Y, W, H).
  7. Координаты оси масштабируются на 0,8 и угол поворота устанавливается на 45 градусов.
  8. Устанавливается черный цвет кисти с узором в виде крестика.
  9. Рисование эллипсов в четырех углах повторяется с вызовом функции DrawFigure(-X, -Y, W, H).
  10. Рисование эллипсов в четырех углах повторяется с вызовом функции DrawFigure(+X-W, -Y, W, H).
  11. Рисование эллипсов в четырех углах повторяется с вызовом функции DrawFigure(-X, +Y-H, W, H).
  12. Рисование эллипсов в четырех углах повторяется с вызовом функции DrawFigure(+X-W, +Y-H, W, H).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5
Похожие ответы