2

在此处输入图像描述 我正在用 python 语言制作纸牌游戏。

我需要一个公式来缩放屏幕中的卡片。

我现在把下面的公式:

zoom=(NumberOfCards*0.042857)

对于 Number=7,此公式得到 0.3 的缩放因子。这是第一手的标准。现在卡片的数量可以增加或减少,手应该相应地适合屏幕。

现在我想改进公式:

  • 如果 Number<7 -> 保持缩放不变(因为卡片可以适合屏幕)
  • 如果数字从 7 到 54 会稍微减小缩放(或者甚至保持到 0.3 直到更高的数字,因为可以适合屏幕)。

屏幕为 1280x720。54 张卡片以 png 格式保存为 600x868(放大到 0.3 倍:180x260.4 重叠,如您在捕获中看到的那样)

公式应该如何?我数学不好,哈哈哈。

提前致谢。:-)

4

1 回答 1

2

你可以使用公式

zoom = 0.3 * (7/NumberOfCards)

获得 0.038(54 张卡片)到 2.1(1 张卡片)之间的缩放值。

之后,您可以将 乘以zoom一个因子,以便对其进行归一化,并使其落在您的特定范围内。

对于标准化,例如,要使所有值都位于 0 到 1 之间,您可以使用特征缩放

X` = (X - Xmin) / (Xmax - Xmin)

在你的情况下,

zoom` = (zoom - 0.038) / (2.1 - 0.038)

最后,为该zoom'值添加缩放,使缩放不低于某个值。

zoom` = zoom` + scaling_factor
于 2018-03-05T11:55:14.893 回答