簡體   English   中英

將百分比映射到0到0.5到0的范圍

[英]Map percent to a range of 0 to 0.5 to 0

我的值介於0到1之間,但是我需要將此值映射到0到0.5到0的范圍內。
例如,0.4將給出0.4,但是0.8也將給出0.2。

0.1 = 0.1,
0.2 = 0.2,
0.3 = 0.3,
0.4 = 0.4,
0.5 = 0.5,
0.6 = 0.4,
0.7 = 0.3,
0.8 = 0.2,
0.9 = 0.1

我該如何實現?

如果其大於0.5,則將其減去Math.Min(x, 1 - x) 1 - 0.9 = 0.1要擺脫條件,請使用Math.Min(x, 1 - x) 之所以有效,是因為:

0.1 = 0.1,
0.2 = 0.2,
0.3 = 0.3,
0.4 = 0.4,
0.5 = 0.5,
0.6 = 0.4,
0.7 = 0.3,
0.8 = 0.2,
0.9 = 0.1

注意:

  • 該列表從[0,1]鏡像到0.5
  • 每行有兩個數字,超過中點的每一行加1。

這就是Math.Min起作用的原因。 輸入,輸出,都一樣。 您只想要兩個數字中的最小值。 假設您從0.1開始。 這與0.9鏡像,並且這兩個值都映射回0.1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM