以百分比调整矩形大小,同时保持其纵横比
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
我想将矩形区域调整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