O conceito de caos controlado a essência de um sistema de partículas. Para aplicar caos para um operador de dados, utilize o suboperador Aleatório. O suboperador Aleatório gera valores aleatórios em formato de escala e de vetor com uma variedade de algoritmos, como descrito nesta seção.
Vamos começar com um exemplo de como inserir partículas de forma caótica ao redor de uma referência de objeto: consulte arquivo incluído RandomPositioning.max .
No fluxo de dados ilustrado acima, o suboperador Geometria (1.) distribui pontos aleatórios de forma uniforme na superfície de uma referência de objeto. A saída de dados pares é dividida em dois diferentes suboperadores Converter: Coordenadas Locais de Face (2.) e Índice Composto (3.) que inclui o índice de face onde um ponto aleatório está localizado.
Para obter uma distribuição de volume desejável de partículas ao redor da referência de objeto, precisamos "elevar" as partículas da superfície; o que pode ser feito ao modificar o componente Z do vetor de coordenada do local da face. O componente Z é a distância a partir da face na direção da normal da face.
Suboperador Aleatório (4.) pode ser utilizado para definir a quantidade de "elevação". Para este exemplo, usamos distribuição Exponencial, que é positiva e mais densa em torno de zero. Portanto, mais partículas são colocadas mais perto da superfície e a densidade diminui progressivamente com a distância a partir da superfície.
Depois, o valor de coordenadas do local da face e o índice de composto são convertidos de volta para o formato de dados em Pares, que é usado no suboperador Geometria (5.) para calcular a posição de partículas em coordenadas do mundo.
Vamos olhar atentamente no parâmetro da Distribuição do suboperador Aleatório. O parâmetro define o tipo da função aleatória utilizados no suboperador. O tipo de função também depende do tipo de dados que o suboperador Aleatório produz.
Para a próxima discussão, abra o arquivo de cena RandomTemplate.max , que pode ser utilizado para executar outras funções de distribuição.
É possível iniciar com um único tipo de distribuição: Uniforme Discreto. Este é o único tipo disponível se o suboperador Aleatório estiver definido para o tipo de dados Inteiro. Discreto é o oposto de Contínuo. O suboperador Aleatório gera dados inteiros (neste caso, é discreto) que são distribuídos de maneira uniforme entre os valores Mínimo e Máximo, conforme definido na interface do usuário. No próximo exemplo ( RandomTemplate01.max ) , os valores Mínimo e Máximo são definidos como 0 e 30. Como resultado, você pode ver que as partículas posições estão distribuídas ao longo das linhas de coordenadas X: 0, 1, 2, 3, e assim por diante, até 30. Aqui está mais sobre a teoria por trás de }Uniform Discrete distribution.
O tipo de saída de dados Reais oferece a maior variedade de tipos de distribuição.
O tipo de distribuição Uniforme é muito similar ao Discreto Uniforme. Há valores Mínimo e Máximo para definir o intervalo de distribuição, mas, agora, os valores de saída são continuamente distribuídos no intervalo da faixa. Aqui está mais sobre distribuição Uniforme.
A opção de distribuição Exponencial normalmente é usada na engenharia de confiabilidade. Ela pode ser usado para modelar o comportamento de unidades que têm uma taxa de falha constante realmente aleatória. Outro exemplo de distribuição exponencial é a distribuição de durabilidade individual de partículas instáveis em declínio radioativo.
A opção de distribuição Exponencial gera somente os valores positivos. Aproximadamente a metade do valores é menor que o valor de parâmetro Média; com mais valores gerados perto de zero. Um valor gerado pode ser grande e arbitrário; no entanto, quanto maior o valor, menos provável é que seja gerado. Neste exemplo, ( RandomTemplate02.max) , o valor Médio é 10; como resultado, a maioria dos valores gerados está entre 0 e 70. Aqui está mais sobre distribuição Exponencial.
A opção de distribuição Normal ou gaussiana descreve a distribuição de erros de observação aleatórios e independentes. Outras coisas que geralmente costumam ter uma distribuição normal ou quase normal incluem a temperatura do corpo, tamanhos do sapato, diâmetros das árvores, etc. Um gráfico de distribuição normal é uma curva simétrica, em forma de sino. O parâmetro Média define o valor médio dos valores gerados (o centro da curva de sino) e o parâmetro Sigma define a distância que os valores gerados podem estar fora do valor médio. A maioria dos valores (99,7%) é gerada dentro do intervalo de deslocamento 3 Sigma [Mean3 * Sigma, média + 3 * Sigma]. No exemplo a seguir ( RandomTemplate03.max ) o parâmetro Média é 30 com o parâmetro Sigma definido como 10, portanto, a maioria dos valores gerados é dividido no intervalo [0.0, 60]. A distribuição normal gera valores positivos e negativos. Um valor gerado pode ser grande e arbitrário; no entanto, quanto maior o valor, menor a probabilidade de ser gerado (consulte a regra dos 3 Sigma, acima). Aqui está mais sobre Distribuição normal.
A opção de distribuição Triangular é uma forma simplista para descrever um fenômeno aleatório que tende a algum valor Máximo e é limitado pela faixa de valores Mínimo e Máximo. Neste exemplo, ( RandomTemplate04.max) , a distribuição Triangular emula a distribuição Normal a partir do exemplo anterior. Aqui está mais sobre Distribuição Triangular.
O método de distribuição Weibull estende distribuição Exponencial para eventos que não são simplesmente aleatório; a distribuição normalmente é utilizada na confiabilidade e na modelagem de durabilidade com envelhecimento. Neste exemplo, ( RandomTemplate05.max ) o parâmetro da Taxa é igual a 1.0, o que torna a distribuição Weibull igual à distribuição Exponencial com o parâmetro Médio como o parâmetro de Escala Weibull.
É possível usar a distribuição Weibull para modelar o tempo até que um determinado dispositivo técnico falhe. Se a taxa de erro do dispositivo diminuir ao longo do tempo, defina a Taxa em <1. Se a taxa de erro do dispositivo aumentar ao longo do tempo, defina a Taxa em > 1. A distribuição de Weibull também pode ser usada para modelar a distribuição de velocidades do vento em um determinado local na Terra - cada localização é caracterizada por um determinado parâmetro de Escala e Taxa. Neste exemplo, ( RandomTemplate06.max) , a taxa de erro é igual a 4 e Escala é igual a 10, fazendo a maioria dos valores aleatórios ser gerada no intervalo [3.0, 15,0]. Aqui está mais sobre Distribuição Weibull.
É possível usar as opções de ruído R, ruído V, ruído V + T, turbulência V e turbulência V + T para gerar valores de tipo de ruído pseudo-aleatórios na base dos dados de horário e/ou vetor, real de entrada. O parâmetro de Escala define a taxa de dependência entre os dados de entrada e saída. Valores maiores produzem mais suave Noise, valores inferiores mais irregular Noise. O parâmetro Resistência controla a magnitude dos valores de saída.
As opções de Turbulência têm um parâmetro de Iteração que controla o número de iterações ou oitavas, usadas para gerar o ruído fracionário. Os valores menores de iterações criam saídas mais suaves. O parâmetro de Iteração tem intervalo de 1,0 a 10,0. As opções de Ruído geram valores de saída positivo e negativo; as opções de Turbulência geram somente os valores positivos.
Este exemplo ( RandomTemplate07.max ) utiliza uma coordenada X aleatória de uma partícula para gerar valores aleatórios semelhantes ao ruído para a coordenada Y:
No próximo exemplo ( RandomTemplate08.max) , as partículas são colocadas aleatoriamente na superfície do ícone de Operador de Dados e, a seguir, a posição é utilizada como uma entrada para suboperador Aleatório com a opção V de Ruído. Os dados de saída são usados para definir as alturas das partículas (posição do eixo Z).
Ao transferir o Tempo Absoluto para a entrada de Tempo das ...opções +T, o ruído gerado pode ser facilmente animado, conforme indicado neste exemplo ( RandomTemplate09.max) :
As opções de Turbulência são muito similares às opções de Ruído. É necessário apenas definir o parâmetro de Iterações, como mostrado neste exemplo ( RandomTemplate10.max) .
… e este exemplo ( RandomTemplate11.max):
A última categoria de opções de distribuição mostra os dados de Vetores.
A opção de distribuição Uniforme gera os valores de vetor aleatórios dentro de uma caixa delimitadora com limites [– Máx X, Máx X] para o componente X; [– Máx Y. , Máx Y] para o componente Y; e [– Máx Z. , Máx Z] para o componente Z. Com um número suficiente de partículas, a caixa delimitadora pode ser preenchida com pontos aleatórios do vetor ( RandomTemplate12.max) :
A opção da Superfície da Esfera pode ser utilizada para inserir as partículas na superfície de uma esfera. No entanto, o uso mais comum é a geração de um vetor com direção aleatória. Neste caso, o parâmetro do Raio define o comprimento do vetor ( RandomTemplate13.max) :
Ou é possível querer preencher todo o Volume da Esfera com pontos aleatórios ( RandomTemplate14.max) :
É possível utilizar a opção Normal (gaussiano) para preencher também uma esfera volume, mas com esta opção não há limite para a esfera — mais pontos são gerados perto do centro de esfera e eles diminuem para fora. A mesma regra dos 3 Sigma, como antes, pode ser aplicado aqui: 99,7% dos pontos são gerados dentro de uma esfera com um raio igual a 3 * Sigma ( RandomTemplate15.max) .
As opções de Ruído V, Ruído V + T, Turbulência V e Turbulência V + T são similares às opções de dados reais dos mesmos nomes, com exceção de que eles geram dados de Vetores. Para ilustrar os dados de saída, podemos conectar no canal de Velocidade na etapa Posterior e definir velocidade em zero na etapa Anterior. Desta forma, as partículas não vão a nenhum lugar, mas é possível desenhar a saída como linhas de velocidade. Neste exemplo, ( RandomTemplate16.max ) as partículas são colocadas aleatoriamente em um retângulo e, a seguir, sua posição é utilizada para o suboperador Aleatório com a opção do Ruído V:
E aqui ( RandomTemplate17.max ) é a mesma configuração, mas com a opção do Ruído V + T. Utilizamos o tempo atual como entrada para o suboperador Aleatório ter a animação para a saída de Ruídos:
É possível ligar a saída Aleatória no canal de Velocidade e utilizar o canal de Posição como uma entrada para o suboperador Aleatório - pode ser utilizado para simular a turbulência do vento. Esta é a estrutura 98 do arquivo de cena RandomTemplate18.max:
A configuração do Tipo de Saída determina os parâmetros disponíveis no grupo de Distribuição.
Os conteúdos da lista suspensa de Distribuição são determinados pela opção do Tipo de Saída. Em troca, a opção de Distribuição determina os parâmetros restantes no grupo de Distribuição.
Consulte a discussão anterior para obter informações específicas sobre as opções de Distribuição e parâmetros relacionados.
Para esta opção funcione corretamente, deve haver uma exclusão de operador definido por idade de partículas no fluxo de partículas para definir o tempo de vida.