【问题标题】:width based on difference between two time values宽度基于两个时间值之间的差异
【发布时间】:2016-05-05 06:47:12
【问题描述】:

当一个函数运行时,它会保存两个值:

  1. os.clock() + int
  2. os.clock()

示例值:

  1. 2795.100
  2. 2790.100

(5 秒差)

所以在调用这个函数的那一刻,我需要绘制一个条形图,此时它将以 0% 的宽度绘制,当 os.clock() 返回 2792.550 时,它应该是 50% 的宽度,os.clock () 返回 2795.100 它应该是 100% 宽度。

我正在尝试找到以下数学逻辑:

  1. 根据这两个值之间的差异,决定 1% 是多少像素,所以我可以使用 os.clock() 来计算条形长度

我一直在为此苦苦挣扎,但没有可显示的使用代码。因为在示例值中,两个值之间存在 5 秒的差异,我想绘制一个宽度为 0% 的条形,并在 5 秒内增长到 100%。

【问题讨论】:

    标签: lua


    【解决方案1】:

    这只是基本的数学。

    local interval_start = 2790.100
    local interval_end   = 2795.100
    local current_value  = 2792
    local bar_max_width  = 350
    
    --                        how far current value is from start  / entire length of interval of allowed values
    local fill_percentage = ((current_value - interval_start) / (interval_end - interval_start))
    local fill_width      = bar_max_width * fill_percentage
    
    
    print(fill_percentage, fill_width)
    

    将这些值之一提供给您使用的任何绘图工具。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多