简单的缩放公式
Simple zoom formula
我正在用 python 语言制作纸牌游戏。
我需要一个公式来缩放屏幕中的卡片。
我现在输入以下公式:
zoom=(NumberOfCards*0.042857)
对于 Number=7,此公式的缩放系数为 0.3。这是第一手的标准。现在卡片的数量可以增加或减少,手应该相应地适合屏幕。
现在我想改进公式为:
- 如果数字<7 -> 保持缩放不变(因为卡片可以适合屏幕)
- 如果数字从 7 到 54,则稍微减小缩放比例(或者甚至保持到 0.3 直到更大的数字,因为可以适合屏幕)。
屏幕为 1280x720。
54 张卡片以 600x868 的 png 格式保存(放大到 0.3 倍:180x260.4 重叠,如您在捕获中看到的那样)
公式应该怎么写?我数学不好,哈哈哈
提前致谢。 :-)
您可以使用公式
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
我需要一个公式来缩放屏幕中的卡片。
我现在输入以下公式:
zoom=(NumberOfCards*0.042857)
对于 Number=7,此公式的缩放系数为 0.3。这是第一手的标准。现在卡片的数量可以增加或减少,手应该相应地适合屏幕。
现在我想改进公式为:
- 如果数字<7 -> 保持缩放不变(因为卡片可以适合屏幕)
- 如果数字从 7 到 54,则稍微减小缩放比例(或者甚至保持到 0.3 直到更大的数字,因为可以适合屏幕)。
屏幕为 1280x720。 54 张卡片以 600x868 的 png 格式保存(放大到 0.3 倍:180x260.4 重叠,如您在捕获中看到的那样)
公式应该怎么写?我数学不好,哈哈哈
提前致谢。 :-)
您可以使用公式
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