Pergunta

O Em processamento site do projeto tem um exemplo de implementação de um Esfera texturizada 3D com capacidade rotacional.Estou tentando entender o código, mas estou tendo problemas para compreender muitos dos blocos de código, pois não tenho experiência em gráficos.

Qualquer explicação de nível superior sobre o que cada bloco está tentando realizar, talvez referenciando o algoritmo relevante, me permitiria ler os conceitos e compreender melhor a implementação.

Foi útil?

Solução

Depois de apenas alguns minutos observando o código, eu diria que a função draw() é chamada pelo sistema de tempo de execução Processing sempre que a imagem deve ser redesenhada.Isso apenas pinta um fundo preto e renderiza o globo com a função renderGlobe().

A função renderGlobe() configura o ambiente para desenhar o globo, calcular a posição, acender as luzes, definir a textura como IMAGEM, etc.Em seguida, ele chama textedSphere para desenhar o globo.Depois disso, ele limpa e ajusta as variáveis ​​de posição para a próxima vez.

A função inicializeSphere() calcula as localizações dos vértices da esfera.Isso é trigonometria simples.

A função TexturedSphere() desenha a esfera.Primeiro ele desenha a calota sul, que na verdade é um cone, um cone muito achatado.Em seguida, ele desenha anéis para cada seção da esfera e, em seguida, finaliza com outro cone para a calota norte.

Embora eu não tenha passado pelo Processando materiais de aprendizagem, os títulos indicam que se você começar do início e tentar tudo em ordem, entenderá facilmente esse código.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top