6. Experimentos
6.2. Experimentos morfogenéticos
6.2.1.3. Desenvolvimento do projeto
Tanto o L-System quanto o RDS são compreendidos como duas teorias da Matemática sobre a sistematização e simulação de fenômenos da Natureza que obtiveram êxito de aplicação prática em diversas áreas do conhecimento por meio da Computação. A importância de tais sistemas para a histórica recente da Computação, Matemática e Biologia serviu de diretriz para a execução deste experimento.
Os procedimentos algorítmicos deste experimento foram realizados dentro do ambiente de modelagem digital do software de animação 3D e computação gráfica Houdini, desenvolvido pela SideFX. Este software foi utilizado em função de suas ferramentas e operadores generativos controlados pelo usuário a partir de um editor visual. Uma característica do Houdini, bem como de outros softwares de modelagem generativa como o Autodesk Maya,
Blender 3D e o Cinema 4D, é a capacidade de iteração do processo de projeto por meio de
intervalos de tempo, ou frames. Tal qualidade é fundamental para representar o processo de um sistema artificial que se propõe a reproduzir alguns dos processos naturais de crescimento e desenvolvimento. Este experimento morfogenético propõe o estudo de variações morfológicas de um sistema projetual de candelabros e é composto por 6 etapas processuais:
A primeira etapa consiste na configuração do crescimento do sistema por meio da aplicação de um operador de L-System. Este operador usa uma sequência inicial de caracteres gerada a partir de regras de lógicas específicas do crescimento deste sistema. O operador permite definir o sistema a partir das configurações de geometria, características do ramo, valores e regras de crescimento e funções adicionais abertas à livre edição do usuário. O crescimento se dá por meio da reescrita, na qual cada geração da geometria (Figura 45) provoca a expansão de malhas geométricas (mesh). Essas malhas dos ramos foram subdivididas em linhas (7), colunas (3), tensão superficial (10), espessura das paredes (22mm) e fator de escala da espessura a cada iteração (0.77). Os principais valores de crescimento configurados foram o tamanho do passo (15mm), ângulo entre os ramos (30º) e fator de escala angular (0.7).
A etapa seguinte consiste em popular a superfície criada pelo L-System por pontos que serão usados na fase seguinte. O operador utilizado, Scatter, é capaz de distribuir uma quantidade definida de pontos em toda a malha em um padrão aproximadamente uniforme e, opcionalmente, limita a ocorrência de aglomerações e buracos. Desta forma, 5000 pontos foram distribuídos na malha resultante do procedimento anterior (Figura 46).
Figura 45: Etapa processual 1 - configuração do crescimento do sistema por meio do L-System por controle de gerações.
Fonte 45: Elaboração do autor.
A terceira etapa do processo de projeto consiste em gerar uma superfície integrada. Ao utilizar o operador Particle Fluid Surface, os pontos distribuídos nas malhas anteriores foram volumetrizados em uma única superfície sem espessura (Figura 47) a partir dos seguintes parâmetros: método de cálculo de posição média entre os pontos, separação entre os pontos (0.03m), escala do voxel (pixel em três dimensões) (0.75), escala da influência de interação
entre os pontos (3) e a distância aproximada entre os pontos e a superfície gerada (1). Este operador ainda permite a configuração do tipo de geometria do output. No caso deste experimento, o processo foi configurado para gerar uma superfície de malha poligonal.
Figura 46: Etapa processual 2 - população de pontos na superfície de geometria.
Fonte 46: Elaboração do autor.
Figura 47: Etapa processual 3 - geração de superfície integrada a partir da volumetrização dos pontos definidos em etapa anterior.
Fonte 47: Elaboração do autor.
A quarta etapa do experimento diz respeito à estratégia de tridimensionalização do RDS por simulação de volumes (Figura 48). Comumente, a aplicação desse sistema é realizada em duas dimensões. Entretanto, como o objetivo deste experimento é encontrar variações
morfológicas de um objeto de design de pequena escala a partir do RDS, optou-se por uma aplicação tridimensional do sistema de Turing. Uma das possíveis estratégias possibilitadas pelo Houdini é a manipulação de volumes. Utilizando o operador VDB from Polygons, é possível converter os tributos da superfície poligonal da etapa anterior em tributos que serão utilizados para gerar volumes, o que significa atribuir valores numéricos aos voxels das superfícies e, assim, simular fenômenos como nuvens, fogo, fumaça e outros. O controle desse operador se dá pelos parâmetros de tamanho do voxel (0.007) e a densidade, que é um campo de transição volumétrica (ou seja, transição entre espaço preenchido e espaço não preenchido) externo (3) e interno (3) em relação à superfície polygonal. Utilizando o operador Convert
VDB, os tributos configurados são convertidos em volume.
Figura 48: Etapa processual 4 - Configuração e conversão da geometria em volume.
Fonte 48: Elaboração do autor.
A quinta etapa do processo envolve um operador denominado Solver. Este operador permite executar um trecho específico do algorítmico de forma iterativa por meio da vinculação de parâmetros geométricos aos frames (quadros temporais). O funcionamento desse operador se dá com o emprego do operador Prev_Frame, capaz de atualizar cíclicamente os frames, por meio de um processo no qual o dado de saída do frame atual serve como dado de entrada para o frame seguinte. Essa estratégia configura iterações geométricas distintas e se relaciona diretamente ao conceito de crescimento e desenvolvimento presente metodologia morfogenética.
O trecho algorítmico a ser atualizado (Figura 49) incorpora o volume da etapa anterior, vincula seus parâmetros aos frames do software e computa, por meio da utilização do operador
Volume Bound, a região de ocupação (bounding box) dos voxels que atendem a um valor limite.
O procedimento seguinte utiliza o operador Volume Resize e consiste no redimensionamento das regiões do volume mantendo todos os valores de voxel intactos. No caso, optou-se por dobrar as regiões dos volumes, utilizando o fator numérico 2 para cada eixo cartesiano. As regiões redimensionadas são, então, utilizadas como dados de entrada de dois operadores
Volume Blur, que desfocam os voxels das regiões por meio do cálculo, para cada voxel vizinho,
de um valor único de acordo com propriedades definidas pelo operador, o que se assemelha aos Cellular Automata (CA). Ambos os operadores Volume Blur utilizados nessa parte do processo foram configurados com raio 2 para todos os eixos cartesianos (que definem o vetor do crescimento) e método de redução por cálculo de médias de valores. Entretanto, o primeiro operador foi configurado com o valor 1 para a propriedade de desfoque gaussiano (Number of
Passes), enquanto o segundo operador utilizou o valor 5 para definir a mesma propriedade.
Isso resulta em duas geometrias com limites de ocupação espacial diferentes que passam por uma operação booleana de subtração volumétrica desempenhada pelo operador Volume Mix. Figura 49: Etapa processual 5 - Reprodução cíclica de trecho algorítmico.
Fonte 49: Elaboração do autor.
A sexta etapa do processo deste experimento consiste na conversão, fora do Solver, da volumetria em uma malha poligonal de valor de isosuperfície 0.5 com a utilização do operador
Figura 50: Etapa processual 6 - Conversão do volume em superfície poligonal.
Fonte 50: Elaboração do autor.
A Figura 51 demonstra a alteração geométrica iterativa alimentada pelos frames do software de animação Houdini.
Figura 51: Desenvolvimento da superfície poligonal por meio de iterações alimentadas pelos frames do software Houdini.
Fonte 51: Elaboração do autor.
A última etapa do experimento não envolve processo algorítmico e se propõe a realizar pequenos ajustes geométricos na superfície. Esta etapa envolve a exportação do modelo 3D para o software Autodesk Maya, de animação e modelagem poligonal, e consiste na definição de encaixes para as velas a serem acopladas ao objeto por meio de operações de intersecção booleana (Figura 52 A). Por fim, a superfície foi suavizada usando um comando de subdivisão superficial (Figura 52 B). A geometria resultante da combinação dos processos supracitados pode ser fabricada por impressão 3D. A etapa seguinte, de prototipagem em impressão 3D não foi realizada por ausência de incentivos financeiros a esta pesquisa.
Figura 52: Etapa processual 6 - Ajustes de encaixes para velas (A) e suavização superficial (B).
Fonte 52: Elaboração do autor.
É importante notar que a definição algoritmica que representa a simulação de um RDS em três dimensões é constituída por diversos parâmetros relativos a características de crescimento e desenvolvimento, como quantidade de ramificação, tensão de superfície, densidade de volume, entre outros. Isto permite, com apenas um algoritmo, definir um grande número de variações morfológicas para um mesmo sistema. Com a finalidade de demonstrar variações expressivas com a alteração de apenas um parâmetro, foram geradas três versões do mesmo experimento com alteração nos parâmetros X, Y e Z do raio dos voxels nos dois operadores de Volume Blur. Isto resulta na variação de densidade dos volumes gerados e, portanto, em desenvolvimentos distintos entre as versões do experimento.
A Figura 53 apresenta a versão A da geometria desenvolvida a partir de uma proporção equivalente de volumes, ou seja, os valores X, Y e Z de ambos os operadores de Volume Blur apresentam o mesmo valor numérico (2). A versão B (Figura 54) foi desenvolvida com uma proporção não equivalente entre os parâmetros X, Y e Z. Em ambos os operadores de desfoque, os paramêtros X e Y apresentam o mesmo valor numérico (2), enquanto Z apresenta valor 1. Isso significa que nesta versão, o desfoque e a densidade, e, consequentemente, o desenvolvimento da geometria, ocorre nos eixos X e Y, mas se mantém fixa ao longo do eixo Z. Por fim, a versão C (Figura 55) apresenta em relação equivalente de volumes entre os valores X, Y e Z do primeiro operador (2, 2, 2) e não equivalente para o segundo operador (2, 2, 1). Isso significa que há uma uma diferença de densidade no eixo Z durante o processo de desenvolvimento do sistema.
Figura 53: Versão A: crescimento e desenvolvimento em proporção equivalente de volumes em X, Y e Z em ambos os operadores de desfoque.
Fonte 53: Elaboração do autor.
Figura 54: Versão B: crescimento e desenvolvimento em proporção equivalente de volumes em X e Y, e fixa em Z em ambos os operadores de desfoque.
Figura 55: Crescimento e desenvolvimento em proporção equivalente de volumes em X, Y e Z do primeiro operadores de desfoque e não equivalente do segundo operador.
Fonte 55: Elaboração do autor.
A Figura 56 apresenta uma síntese dos processos adotados neste experimento em forma de diagrama.
Figura 56: Diagrama dos processos de projeto aplicados no Turing Candelabra.