Требуется написать функцию, которая как результат выдаст структуру данных с координатами фигуры равно отстоящей от каждой из сторон исходной фигуры. Другими словами пропорционально увеличить фигуру, либо уменьшить в зависимости от значения Delta. (см. рисунок в приложении)
function ScaleFigure(Src: TCoordArray; ShapeID: byte; Delta: double): TCoordArray;
begin
... your code...
end;
Фигура многоугольник, от треугольника до шестиугольника.
ShapeID 1=треугольник, 2=четырёхугольник, 3=пятиугольник, 4=шестиугольник.
Delta расстояние от исходной фигуры до фигуры-результата, по перпендикуляру к каждой грани.
Если Delta больше нуля результирующая фигура меньше исходной. Если меньше нуля результат больше исходной фигуры.
Структура данных:
type
TIPRec = record
X: double;
Y: double;
end;
TCoordArray = array[0..8] of TIPRec;
var
F: TCoordArray;
Внутри массива находятся координаты углов фигуры. Углы считаются от левой нижней точки (0) и по часовой стрелке. Т.е. F[0] всегда левый нижний угол.
Язык реализации Паскаль.
Сумма по договорённости. Способ оплаты безопасная сделка.
Опубликован 09.07.2021 в 22:22 Последнее изменение: 09.07.2021 в 21:26
Заказ находится в архиве