[離散化](Discretizator)サブオペレータ

[離散化](Discretizator)を使用して、浮動少数値または整数値をより離散させ、ある程度の精度を犠牲にして値の範囲をより管理しやすいサブセットに縮小します。[離散化](Discretizator)は、[シェイプ コントロール](Shape Control)サブオペレータの入力データの最適化を支援しますが、他の目的のためにも使用できます。

離散化は、[ベース](Base)および[ステップ](Step)の値に基づきます。受け取る各値に対して、[ステップ](Step)値は正または負の整数で操作され、結果を可能な限り入力に近づけるために[ベース](Base)値に追加されます。次に、入力はこの値に丸められます。[ベース](Base)が「b」で[ステップ](Step)が「s」の場合、サブオペレータからの可能な出力値は、b, b+s、b-s、b+2s、b-2s、b+3s、b-3s などになります。

受け取る値は、最も近い離散値に丸められます。受け取る値が正確に離散値の間にある場合は、隣接した最も高い値に丸められます。たとえば、[ベース](Base)が 0 で[ステップ](Step)が 1 の場合、入力値 1.5 の出力が 2 になり、入力値 -1.5 の出力が -1 になります。

[離散化](Discretizator)の使用例

[離散化](Discretizator)の使用例は、ファイル GridAndShapeControl.max にあります。フローには、10,000 個以上のパーティクルが含まれ、2 つの[データ](Data)オペレータ(両方とも開始時には無効になっています)が組み込まれています。

最初の[データ](Data)オペレータは[離散化](Discretizator)を使用しません。[データ](Data)オペレータをオンにし、すべてのパーティクルのジオメトリ シェイプを計算するのにどれくらい時間がかかるかに注意してください。高速の PC を使用していても、計算がかなり遅くなります。

次に、最初の[データ](Data)オペレータをオフにし、2 番目の[データ](Data)オペレータをオンにします。2 番目の[データ](Data)オペレータはデータ フローの離散化を使用し、パーティクル シェイプをはるかに速く生成します。この理由は、オペレータが受け取るデータ ストリームを次数 1 の[ステップ](Step)で離散化するからです。最初の[データ](Data)オペレータの場合は、各パーティクルのシェイプが個別に計算されます。2 番目の[データ](Data)オペレータの場合は、値が全体の次数にスナップされるので、可能な値のセットが大幅に削減されています。2 番目の[データ](Data)オペレータの[シェイプ コントロール](Shape Control)サブオペレータで離散最適化がオンになっているので、多くても 360 個のパーティクルのシェイプが生成されるだけです。これは、次数 1 の[ステップ](Step)で生成できる異なる角度値の最大数であり、これらのシェイプはパーティクル間で共有されます。この 2 つのケースの違いは肉眼では区別できませんが、2 番目の場合ははるかに速く動作します。

つまり、[離散化](Discretizator)サブオペレータは、[シェイプ コントロール](Shape Control)サブオペレータ向けの便利な最適化ツールです。

インタフェース

データ タイプ
受け取ることが予想されるデータ タイプです。この設定により、[ベース](Base)および[ステップ](Step)のパラメータで使用できる数システムが指定されます。
Base
離散化プロセスの「開始地点」です。詳細については、この項の最初を参照してください。
[ステップ]
この値は、結果が入力値に可能な限り近くになるまで、[ベース](Base)値に加算、または[ベース](Base)から減算されます。詳細については、この項の最初を参照してください。
速度値として使用(Use As Speed Value)
内部では、パーティクル フロー システムのパーティクルの速度はティック(4800 ティック = 1 秒)単位で表されます。ただし、パーティクル フロー オペレータの速度パラメータは秒単位で表されます。表示される値を内部値に変換するには、[速度値として使用](Use As Speed Value)をオンにし、[単位](Units Per)の既定の設定の[秒](Second)を使用します。たとえば、この方法を使用して、パーティクル フローの標準の[速度](Speed)オペレータで定義されている速度にアクセスできます。入力パラメータが実数タイプの場合のみ使用できます。