Заказ закрыт
Написать функцию для масштабирования геометрических фигур

Бюджет: 2 000
23.70 $ – 20.67 €
Заказчик выбрал исполнителя:
Владимир Кот  
Требуется написать функцию, которая как результат выдаст структуру данных с координатами фигуры равно отстоящей от каждой из сторон исходной фигуры. Другими словами пропорционально увеличить фигуру, либо уменьшить – в зависимости от значения 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
Заказ находится в архиве

Выберите способ верификации:

Обновите страницу после прохождения верификации.