Commit f0b7b605 authored by Bruno Thomazi Zanette's avatar Bruno Thomazi Zanette 🎱
Browse files

Update README.md

parent f6f548de
# Visualização de Simulações CORSIKA com Blender e Python
O programa [CORSIKA](https://www.iap.kit.edu/corsika/) (COsmic Ray SImulations for KAscade) gera arquivos com dados de simulação do fenômeno de chuveiro atmosférico que podem ser de difícil interpretação sem uma forma de visualizaçãp. Para midigar essa dificuldade foi criado um programa em pyhton que, junto do software aberto e livre [Blender](https://www.blender.org/), anima a tragetória das partículas e ondas eletromagnéticas, assim facilitando o entendimento do fenômeno.
O programa [CORSIKA](https://www.iap.kit.edu/corsika/) (COsmic Ray SImulations for KAscade) gera arquivos com dados de simulação do fenômeno de chuveiro atmosférico que podem ser de difícil interpretação sem uma forma de visualizaçãp. Para midigar essa dificuldade foi criado um programa em pyhton que, junto do software aberto e livre [Blender](https://www.blender.org/), anima a tragetória das partículas, assim facilitando o entendimento do fenômeno.
![](figures/3showers.webm)
## Codigo
O programa principal é o `blender_visu_script.py`, ele é rodado em background e transforma dados do corsika em curvas no blender, a animação das curvas são salvas em formato png utilizando o comando:
```bash
blender -b -P blender_visu_script.py -o /img###.png -a
```
Onde `-b` informa o blender para rodar em background, `-P` roda o codigo na IDE python do Blender, `-o` informa o output para as imagens renderizadas e `-a` renderiza todos os frames disponíveis.
## Output CORSIKA
As linhas de saída de um arquivo CORSIKA carrega as seguintes informações do evento:
As linhas de saída de um arquivo CORSIKA carregam a informação de um segmento da trajetória de uma partícula, elas **não** estão ordenadas de uma maneira que o segmento de uma linha sempre está conectado ao de uma próxima linha ou da anterior, portanto para melhor otimizar o programa, Blender prefere poucas objetos na cena, utilizasse a função `mesmalinha` que encontra quais segmentos estão conectados.
Possuimos as seguintes informações no arquivo:
* N: numero de gestão do próprio programa, sem significado físico;
* c: carga medida;
* x: posição inicial x;
* y: posição inicial y;
* z: posição inicial z;
* tini: tempo onde a partiícula se encontra inicialmente;
* xend: posição final x;
* yend: posição final y;
* zend: posição final z;
* tend: tempo onde a partiícula se encontra no final do segmento.
```
N c x y z tini xend yend zend tend
3 0.00427002785727382 -739619.125 60039.1953125 269118.5625 7.22954646334983e-05 -740060.625 60128.8125 268802.4375 7.23151097190566e-05
```
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment