Масштабировать размер прямоугольника. Коэффициент подобия задаётся пользователем. Паскаль.

0 голосов
33 просмотров

Масштабировать размер прямоугольника. Коэффициент подобия задаётся пользователем. Паскаль.


Информатика (15 баллов) | 33 просмотров
0

Что нужно сделать? Вывести новые размеры прямоугольника, или речь о масштабировании ИЗОБРАЖЕНИЯ? Если последнее, то относительно какой точки перерисовывать прямоугольник?

Дано ответов: 2
0 голосов
Правильный ответ

//PascalABC.NET 3.1 сборка 1239
uses
 GraphABC;

var
    w, h: integer;
    k: real;

begin
    k := 1;
    repeat
        w := round(k * 200) div 2;
        h := round(k * 100) div 2;
        rectangle(window.Center.X - w, window.Center.Y - h, window.Center.X + w, window.Center.Y + h);
        readln(k);
        ClearWindow(clRandom);
    until false;
end.

центр масштабирования в центре окна

(53.1k баллов)
0 голосов

//Pascal ABC.NET 3.1 сборка 1256

uses
 GraphABC;

 Var
 x1,y1,x2,y2:integer;
 k:real;
begin
x1:=window.Center.X-200;
y1:=window.Center.Y-100;
x2:=x1+250;
y2:=y1+200;
rectangle(x1,y1,x2,y2);
readln(k);
GraphABCCoordinate.Create.SetScale(k,k);
clearwindow;
rectangle(x1,y1,x2,y2);
end.

(38.6k баллов)