ホームページ  >  記事  >  バックエンド開発  >  比率を維持しながら数値範囲を変換するにはどうすればよいですか?

比率を維持しながら数値範囲を変換するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-09 02:48:02430ブラウズ

How to Convert a Number Range While Preserving Ratio?

比率を維持しながら数値範囲を変換する

比例関係を維持しながら数値範囲を別の数値にマッピングすることは、データ内で役立つタスクになる可能性があります操作と画像処理。この変換により、元の範囲内のすべての値が新しい範囲で比例的に表現されるようになります。

これを実現するには、次の式を使用できます。

NewValue = (((OldValue - OldMin) * (NewMax - NewMin)) / (OldMax - OldMin)) + NewMin

ここで、

  • OldValue は変換される元の値です
  • OldMin と OldMax はそれぞれ元の範囲の最小値と最大値を表します
  • NewMin と NewMax は変換される最小値と最大値を表します新しい範囲、それぞれ

この数式により、元の範囲と新しい範囲の間で値の比率が確実に保持されます。言い換えれば、元の範囲の値が別の値の 2 倍である場合、新しい範囲の対応する値も 2 倍になります。

たとえば、ポイントを含む画像ファイルがあるとします。 -16000.00 ~ 16000.00 の範囲の値を 0 ~ 100 の整数範囲に圧縮したい場合は、次のような式を使用できます。

NewValue = (((OldValue - (-16000.00)) * (100 - 0)) / (16000.00 - (-16000.00))) + 0

これにより、元の値の範囲が新しい値の範囲に線形にマッピングされます。範囲、値間の比率を維持します。

以上が比率を維持しながら数値範囲を変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。