float  sample_normal(float u)
                    
                    
                
            
                
                    
                    
                    
                        float  sample_normal(float mean, float stddev, float u)
                    
                    
                
            
                
                    
                    
                    
                        float  sample_normal(float origmean, float origstddev, float minvalue, float maxvalue, float u)
                    
                    
                
            
                
                    
                    
                    
                        vector2  sample_normal(vector2 u)
                    
                    
                
            
                
                    
                    
                    
                        vector  sample_normal(vector u)
                    
                    
                
            
                
                    
                    
                    
                        vector4  sample_normal(vector4 u)
                    
                    
                
            
            
                u
            
            
        
[0,1)(つまり、0以上1未満)範囲の数値または複数値。
            
                mean
            
            
        
分布の平均。指定しなかった場合は0。
            
                origmean
            
            
        
範囲を制限するminvalueとmaxvalueを指定しなかった場合には、その分布が持つ平均。
            
                stddev
            
            
        
分布の標準偏差(スケール)。指定しなかった場合は1。
            
                origstddev
            
            
        
範囲を制限するminvalueとmaxvalueを指定しなかった場合には、その分布が持つ標準偏差(スケール)。
minvalue,maxvalue
        
指定した時、フルで正規分布をサンプリングするのではなく、[minvalue,maxvalue]に制限された範囲の分布をサンプリングします。
指定したmeanとstddev、オプションのminvalueとmaxvalueを使って、正規分布をサンプリングします。
[0,1)(つまり、0以上1未満)範囲の均等にランダムなu値を指定すると、これは、正規的に分布した乱数を返します。
戻り値は、uに対して単調増加です。
vector2, vector, vector4のバージョンは、meanが0、stddevが1の複数サンプルを返します。
それらのベクトルの分布は、自然に等方的になります。つまり、分布を循環させても変わりません。
これはシミュレーションで役に立ちます。
分布を等方的に保持しながら、原点からの最大距離を追加するには、以下のコードを使用します:
sample_normal(0,1,0,maxdist,u.x) * sample_direction_uniform(set(u.y,u.z))
| See also |