以百分比调整矩形大小,同时保持其纵横比

Resize a Rectangle in a Percent while maintaining its aspect ratio

我想将矩形区域调整50% Rect1 w1 x h1,我不想直接将宽度或高度调整为一半,因为这样会给我25%的面积,我需要的是找到一个等效矩形,按长宽比,面积等于原始面积的 50%。因此我需要的是找到矩形 Rect2 的 h2 x w2。

我有 Rect1: w1, h1, a1 我还有 Rect2: a2

我需要 w2 和 h2(保持 Rect1 的纵横比)

假设你的矩形是由 w1 和 w2 定义的,就像你的图片一样,它如下:

area = w1 * h1

您想要一个面积为一半但纵横比相同的矩形,因此必须有一个除数 (d) 将 w1 和 w2 等量减少,以产生被减半的新区域:

area * 1/2 = (d * w1) * (d * h1)

一些简单的数学:

d * w1 * d * w1 = w1 * h1 * 1/2
=> d * d = 1/2
=> d = sqrt(1/2)

所以缩小矩形并保持比例的因子是 sqrt(1/2)

示例:

w1 = 4, h1 = 3

4 * 3 = 12

=> d * 4 * d *3 = sqrt(1/2) * 4 * sqrt(1/2) * 3 = 6