У меня есть набор точек для многоугольника. Я могу получить его площадь.
для примеров у меня есть polygon.Area () = 1500;
теперь мне нужно сделать этот многоугольник, который дает площадь 1350, как масштабировать значение коэффициента этого. Я пытаюсь добиться его масштабирования по соотношению ограничивающего прямоугольника. Но это не работает. Я пробую так. но ответ неверен.
Я получаю ограничивающую рамку многоугольника (минимальная точка и максимальная точка) поля.
float OldArea = 1500.0f;
float newArea = 1350.0f;
Vec2 Min_Point = polygon.Min();
Vec2 Max_Point = polygon.Max();
float SizeX = Min_Point.SizeX(Max_Point);// it give Length of X of Bounding Box (x2-x1)
float SizeY = Min_Point.SizeY(Max_Point);//it give Length of Y of Bounding Box (y2-y1)
float ratio = SizeX/SizeY;
float aa = sqrt(NewArea/ ratio); // get first Length
float bb = NewArea/aa; // ge4t second length
float Scale_Ratio = (bb/SizeY ); // get scale ratio // but this is not correct.
Пожалуйста, помогите мне. Заранее спасибо.