【问题标题】:Simple zoom formula简单的缩放公式
【发布时间】:2018-03-05 11:22:52
【问题描述】:

我正在用 python 语言制作纸牌游戏。

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

我现在输入了以下公式:

zoom=(NumberOfCards*0.042857)

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

现在我想将公式改进为:

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

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

公式应该如何?我数学很差,哈哈哈。

提前致谢。 :-)

【问题讨论】:

    标签: python zooming formula playing-cards renpy


    【解决方案1】:

    你可以使用公式

    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
    

    【讨论】:

    • 多亏了你,我实现了一个很酷的缩放:if MyHandLen<=7: _zoom= 0.3 else: zoom= 0.3 * (7.0/MyHandLen) _zoom= (zoom - 0.044) / (2.1 - 0.044) _zoom= _zoom+0.195 但我想用 xpos 公式使手居中,即 xpos 每张卡片的 x 位置。您有什么建议吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-20
    相关资源
    最近更新 更多