将值映射到特定范围

2024-05-12 22:57:47 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我们有一些从-inf+inf的角度值作为输入。在

我只想在-180和{}之间映射它们。在

我怎么才能做到呢?在

以下是我目前发现的:

(i-180)%360-180

它工作得很好,但是它将+180映射到-180,我希望它是+180->;+180。在

从技术上讲,这对我来说是一样的,所以没什么大不了的,但在美学上会更好。在

我正在使用Python,但这并不重要。在


Tags: gtinf角度美学
2条回答

如果你不那么重视数学唯美主义,我认为这是可行的

def f(i):
    x = i % 360
    if x > 180:
        x -= 360
    elif x == 180 and i < 0:
        x = -x
    return x

假设您在一个列表sampleList[]中的值在-inf到{}之间。 您需要将sampleList[]中范围为-180的值映射到180。让我们将映射元素的新列表命名为mappedList[]

x视为sampleList[]中的元素

y视为mappedList[]中的元素

maxSL视为sampleList[]的最大值,并且

minSLsampleList[]的最小值

因此

        y = ((x - minSL)(((180-(-180))/(maxSL - minSL))) + (-180)

相关问题 更多 >