SVG 3D: criar, girar e animar


Há pouco mais de uma semana, como parte do concurso Telegram, tive que mergulhar no “mundo mágico” do svg, fórmulas matemáticas, otimização e animação. A tarefa da competição era criar um gráfico bastante simples sobre JS, mas algumas das nuances da tarefa e a ênfase no desempenho a tornaram interessante. Dado o desejo de criar algo com pretensão de vitória, era necessário mergulhar um pouco mais fundo do que a marca de limite usual para projetos típicos (e não muito) do mundo do desenvolvimento front-end.


Não deu certo com a conclusão do trabalho, mas desta vez não foi desperdiçado. A principal descoberta foi a capacidade de trabalhar totalmente com gráficos 3D em SVG! Criando modelos, girando em um eixo selecionado, animação de script e muito mais - tudo isso está disponível aqui e agora.


A coisa mais importante


Inicializando um elemento SVG como 3D:


<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" axisZ="true"> 

Rotação em um determinado eixo:


 polyLine.rotateX(45); polyLine.rotateY(90); 

Adicionando cenas e iniciando a animação:


 polyLine.addAnimScene('rotateX', 45); polyLine.addAnimScene('rotateZ', 60); ... polyLine.runAnimScene(delay); 

Demo


https://shtange.imtqy.com/svg-3d/ ( fontes )

Source: https://habr.com/ru/post/pt446338/


All Articles