Повторить изображение в четырех углах - 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, которые представляют собой координаты и размеры фигуры.
- 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).
- FillEllipse(X + W div 4, Y + H div 4, X + W div 4 3, Y + H div 4 3) — заполняет эллипс цветом. Начало выполнения кода:
- Переменные X, Y, W, H инициализируются значением половины ширины и высоты окна соответственно.
- Устанавливаются начальные координаты оси.
- Устанавливается цвет кисти на синий.
- Рисование эллипсов в четырех углах начинается с вызова функции DrawFigure(-X, -Y, W, H).
- Координаты оси масштабируются на 0,8 и угол поворота устанавливается на 45 градусов.
- Устанавливается черный цвет кисти с узором в виде крестика.
- Рисование эллипсов в четырех углах повторяется с вызовом функции DrawFigure(-X, -Y, W, H).
- Рисование эллипсов в четырех углах повторяется с вызовом функции DrawFigure(+X-W, -Y, W, H).
- Рисование эллипсов в четырех углах повторяется с вызовом функции DrawFigure(-X, +Y-H, W, H).
- Рисование эллипсов в четырех углах повторяется с вызовом функции DrawFigure(+X-W, +Y-H, W, H).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д