You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Lua中将-1至1区间的输入值转换为0至1区间

取值范围[-1,1]到[0,1]的转换方法

这是典型的线性区间映射场景,可通过无畸变的线性公式完成转换:

核心转换公式

设输入值为x(取值范围[-1, 1]),转换后输出值为y(取值范围[0, 1]),公式为:
y = (x + 1) / 2

公式验证

  • 当输入为区间最小值x=-1时,计算得y=0,匹配输出区间最小值
  • 当输入为区间最大值x=1时,计算得y=1,匹配输出区间最大值
  • 当输入为区间中点x=0时,计算得y=0.5,匹配输出区间中点,数值映射比例均匀无偏差

异常处理

如果实际输入可能超出[-1, 1]的限定范围,可先做边界截断再执行转换,示例代码(Python)如下:

def minus1to1_to_0to1(x):
    # 先将输入截断到合法取值区间
    clamped_x = max(-1.0, min(1.0, x))
    return (clamped_x + 1) / 2

逆转换公式

如果需要从[0,1]区间反向映射回[-1,1]区间,可使用公式:
x = 2 * y - 1

内容的提问来源于stack exchange,提问作者BananarmyG567

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 00:54:03