O Blender 3D e o Cork, uma dupla que salva vidas e reconstrói o patrimônio

Estatueta_Virtual
Estatueta de São Martinho de Porres finalizada. A peça é o resultado da junção de 12 elementos através da operação booleana “union”.

For who speaks English, please see this posts: http://arc-team-open-research.blogspot.com/2016/01/blender-3d-and-cork-duo-that-saves.html

Sempre gostei muito de estudar, não importava o assunto. Constantemente eu “perdia” muito tempo da minha vida testando uma tecnologia ou descobrindo uma forma nova de fazer o que eu já efetivava de um modo padronizado. A graça de tudo isso estava em aprender e não aplicar. Muitas vezes acontecia de me perguntarem por que eu estava fazendo aquilo e me via em sérias dificuldades para responder o motivo, o que dizia a todos era algo do tipo: “Olha, eu não sei direito o que é isso, mas imagino que uma hora ou outra vou precisar”.

Captura de tela de 2016-01-23 13:51:19
Algumas peças que formam a estatueta (feita com base no corpo modelado por Daniela Ayma) de São Martinho de Porres antes de sofrerem o “union”.

O tempo passou, e desde de que me assumi um nerd mais ou menos aos 16 anos eu fiz muito disso, estudei coisas sem saber ao certo para que utilizaria, mas estudava. Já lá se vão 17 anos, ou seja, mais da metade da minha vida eu tenho feito a mesma coisa. Nesse ínterim percebi que mais cedo ou mais tarde aparece uma aplicação e que é melhor estudar muito e não saber em que usar, do que nada estudar e esperar que a inspiração venha do céu.

O fato é que, depois de um tempo a pergunta “pra que serve isso?” passou a me incomodar profundamente. É esperado que mais cedo ou mais tarde as pessoas, com a inteligência que lhes é inerente, vão saber onde usar aquele monte de conhecimento.

Captura de tela de 2014-10
Etapas dos cálculos booleanos executados para extrair o volume do crânio de um A. africanus de sua reconstrução facial. Perceba a complexidade da malha no wireframe à direita.

Se por um lado fui me tornando um ranzinza, sem paciência de explicar aos outros para que serve um conhecimento, por outro percebi que é imprescindível ter a motivação necessária para se “vender” ideias, ou seja, precisamos ter muito claro em nossa mente o que pretendemos fazer quando vamos adicionar outros indivíduos em nossos projetos pessoais. Para isso é necessário saber bem onde desejamos chegar.

 

 Impressão 3D executada com dois materiais (rígido e flexível). Agradecimentos a Claudio Marques Sampaio (Patola)

Felizmente a face de rabugice passou e cá estou eu, compartilhando com vocês um desses projetos. Um estudo que começou quase que por pura curiosidade e se converteu em uma série de ações que chegaram até a salvar vidas.

O Problema dos Cálculos Booleanos em 3D

No Blender existe um modificador chamado Boolean. Com ele você consegue fazer cálculos como “diferença”, “união” e intersecção” utilizando duas malhas 3D. Quem trabalha com modelagem e animação conhece bem o termo e também sabe que se as malhas começarem a ficar pesadas e complexas os cálculos geralmente apresentam problemas. Não é falta de vontade dos desenvolvedores… eles se esforçam e pedem para que os usuários enviem os “bug reports”, mas é algo um pouco complicado de fazer para quem não entende de programação, ou espera que o programa já resolva esse tipo de situação.

Globo Natureza: Prótese Animal

[VÍDEO] Nosso trabalho de criação de próteses para animais é tema do GLOBO NATUREZA!Link original: http://goo.gl/h3ykF7

Vídeo destaque no Globo Natureza onde aparece o caso da jabuti Fred
 

No meu caso o Boolean do Blender sempre tinha resolvido “a parada”. Tudo o que eu precisava até então fora resolvido com o modificador e com as suas operações básicas. O problema começou a aparecer quando iniciei meus estudos de confecção de próteses. O primeiro teste de fogo que fiz, foi criar uma prótese hipotética para um crânio digital que havia sofrido perda considerável de tecido ósseo. Para mim parecia óbvio que tudo funcionaria bem, mas ao começar a trabalhar com o Boolean nas malhas complexas de um crânio, eis que percebi o problema que tinha me metido.

 

O Boolean e a Cirurgia Ortognática

Em agosto de 2014 fui contatado via e-mail pelo Dr. Everton da Rosa, um renomado cirurgião ortognático que buscava parceria para o desenvolvimento de uma tecnologia de planejamento cirúrgico utilizando software livre e de código aberto.

Inicialmente ele me contratou para ministrar aulas de Blender, InVesalius, MeshLab e outros softwares, tudo voltado para o uso destes na simulação de cirurgia virtual. A coisa andava muito bem, até termos que simular o corte dos ossos. Quando apareceu a necessidade de utilizar o Boolean… tóin! A ferramenta bugou já nos cortes mais simples.

Captura de tela de 2016-01-23 14:45:25
Crânio após passar por uma osteotomia digital (corte nos ossos)

Como poderíamos resolver isso? Fiquei um pouco envergonhado ao ver o Blender não “dar conta” do recado, mas o fato é que o ele não foi originalmente desenvolvido para aquele tipo de trabalho. Estávamos falando de malhas que chegavam facilmente aos 400 MB, como proceder com os cálculos de um elefante desses, quando o programa tinha sido dimensionado para trabalhar com um ratinho? Foi aí que utilizei um conhecimento que até então não fora, digamos, muito útil nas minhas atividades de professor de computação gráfica… era o conhecimento relacionado a compilação de programas.

Por pura intuição, procurei se havia algum projeto de software de Boolean stand alone. Logo nos primeiros resultados encontrei uma conversa no fórum do CloudCompare que falava de um tal de Cork. Para encurtar a história, já que eu escrevi um post sobre isso há um tempo, eu consegui compilar o programa e proceder com os cálculos de malhas complexas no Blender.

O único problema é que para o Cork funcionar nós tínhamos que exportar as malhas para que utilizássemos o Cork por linha de comando, ou dentro do CloudCompare, onde ele tinha sido adaptado. Dava muito trabalho ensinar e dava mais trabalho ainda para o Dr. Everton, que teve que aprender a usar a linha de comando à força. E não apenas ele, outro aluno meu da área de saúde, o Dr. Rodrigo Dornelles, Cirurgião Plástico, também teve que conhecer os prazeres da telinha preta.

Criando um Addon – Quem Sabe, Sabe

Nós tinhamos então resolvido essa bomba. Sabíamos como fazer cálculos extremamente complexos, mas gastávamos muito tempo para efetuá-los. Foi aí que pensei em entrar em contato com meu amigo Dalai Felinto, um expert em Blender Script.

Expliquei a ele como fazíamos o processo de cálculo Booleano, repassei os códigos do Cork e ele começou a estudar uma forma de portar tudo ao Blender. Eu achei que demoraria muito tempo, mas ele nos surpreendeu e nos entregou uma ferramenta de teste dentro de alguns dias… quem sabe, sabe.

Captura de tela de 2016-01-23 14:01:48
Interface do Addon desenvolvido por Dalai Felinto (beta)

Para a nossa alegria tudo funcionou bem em vários sistemas operacionais diferentes (Windows, Mac e Linux) e passamos a usar o Cork diretamente dentro do Blender.

Com a cabeça tranquila pude me dedicar a outros estudos e um deles foi justamente a confecção de próteses para animais, um projeto fantástico que estávamos fazendo junto a uma série de profissionais da área de veterinária e odontologia.

Obs.: Gostaria de agradecer ao meu camarada Paulo Amorim, do CTI Renato Archer por ter compilado o Cork para o WIndows. Não tenho a mínima ideia de como fazer isso nesse sistema operacional.

Salvando Vidas com o Blender e o Cork

Eu nunca falei isso abertamente, mas utilizei o Addon do Cork em todos os projetos em que criamos próteses para animais. A nossa equipe decidiu manter tudo em sigilo até termos a certeza de que a ferramenta era boa mesmo. Felizmente isso se comprovou, depois de muitos resultados bem sucedidos.

Info_Bicolino
Etapas daconfecção de uma prótese utilizando como parâmetro de exclusão volumétrica o próprio bico do animal

O primeio animal que ajudamos foi a jabuti Fred. O casco que criamos para ela foi viabilizado graças ao uso do Cork dentro do Blender. Isso nos possibilitou efetivar uma estrutura em tempo recorde.

O segundo animal foi o tucano Zeca, o estressado que quebrava um bico atrás do outro. O terceiro foi o tucano Bicolino… depois a gansa Vitória e por fim o papagaio Verdin. Até agora foram 5 animais e nesse exato momento estou em um voo para Brasília, onde encontrarei parte da equipe para tomar uns chopps e conversar sobre o sexto e o sétimo animal que salvaremos.

Veja aqui dois posts sobre o assunto:

1) Quando a medicina veterinária e a impressão 3D se encontram

2) Mais três animais salvos com a ajuda do Blender e da impressão 3D

Salvando o Patrimônio Histórico

O poder da ferramenta vai mais além. Iniciamos um projeto junto ao Museu de Arte de Sacra de Santos visando recuperar peças faltantes de obras sacras que foram se deteriorando ao longo de centenas de anos. Pretendemos reconstruir dezenas de obras e ao final compartilhar com a comunidade os resultados técnicos e artísticos do projeto, através de artigos e publicações.

jesus
Exemplo de uso do Cork para recuperação de peças históricas, como os dedos faltantes do Cristo presente no Museu de Arte Sacra de Santos (SP)

Obs.: Agradecemos ao arquiteto Fernando Gregório, Secretário do Museu de Arte Sacra de Santos (SP) pela acolhida e pela confiança. Pessoalmente agradeço também ao Dr. Paulo Miamoto pelo espírito motivado a que se engaja nos projetos, não apenas sedendo o seu vasto conhecimento científico, mas também material, ao imprimir as peças que recuperarão a história de Santos e do Brasil.

 

Imprimindo Projetos Culturais

Outra área que acebou sendo prestigiada pelo Addon do Cork foi a dos nossos projetos culturais de reconstrução facial de santos católicos. Agora os arquivos de impressão dos bustos passaram a ser preparados a partir de cálculos booleanos, imprimindo agilidade e precisão no processo de criação dos bustos em tamanho natural.

Paulina
Santa Paulina. Etapas da confecção de um busto em tamanho real: 1) Modelagem 3D, 2) Preparo da malha para impressão, 3) Pintura sobre a impressão 3D. 4) Apresentação do busto aos fiéis. Impressão 3D: CTI Renato Archer, pintura: Mari Bueno

Conclusão

Com o advento do Cork adaptado ao Blender abriu-se um leque enorme de possibilidades, principalmente quando falamos do campo de impressão 3D. Se por um lado a ferramenta nativa de boolean do Blender é excelente para peças mais simples e para testes que pedem um resultado em tempo real, o Cork é poderoso com malhas mais complexas e que exigem um grande poder de processamento.

Seguindo o caminho natural dessas ferramentas, o Dr. Everton da Rosa decidiu compartilhar o Addon, até por que nós estamos desenvolvendo um plano de cursos voltados a aplicação da computação gráfica na área da saúde. É possível que em breve o Addon esteja disponível em um site como o BlenderMarket a um valor bastante acessível, de modo que esse auxílio possa cobrir o investimento feito para a realização da ferramenta e quem sabe, possa fomentar o desenvolvimento de outras que vêm por aí.

O fato é que, no final todos acabaram ganhando, sejam fiéis, historiadores, artistas e o mais importante, os animais que tiveram uma segunda chance e voltaram a viver.

 


Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Spam Protection by WP-SpamFree