Stellate
> restart:with(plots):with(plottools):
Warning, the name changecoords has been redefined
O comando stellate produz um efeito interessante nas estruturas de poliedros ou superfícies. Este comando faz uma subdivisão em cada polígono da estrutura e o expande radialmente, quer para "longe" da origem ou "para a origem". Sua sintaxe é stellate(poliedro,h) . O padrão para o parâmetro "h" é 2. Para quantidades maiores que 1, o efeito será de expansão com sentido "divergente" da origem, e para valores menores que 1 o efeito será de expansão com sentido "convergente" para a origem. Os melhores efeitos são conseguidos quando o centro dos poliedros regulares é a origem [0,0,0].
Vejamos alguns exemplos:
>
display(stellate(dodecahedron([3,3,3]),1.8), scaling=constrained, style=patch,axes=boxed);
>
display(stellate(dodecahedron(),1.8), scaling=constrained, style=patch,axes=boxed);
>
display(stellate(dodecahedron(),1.1), scaling=constrained, style=patch);
>
display(stellate(dodecahedron(),0.6), scaling=constrained, style=patch);
>
display(stellate(icosahedron(),5), scaling=constrained, style=patch);
>
display(stellate(hexahedron(),19), scaling=constrained, style=patch);
>
display(stellate(dodecahedron()), scaling=constrained, style=patch);
Os exemplos abaixo demandam um bom tempo de processamento se a velocidade do processador não for boa !
>
display(stellate(hemisphere(capped=false), 1/2),
scaling=constrained, style=patch, lightmodel=light2);
>
display(stellate(sphere(), 1.4),
scaling=constrained,style=patch, lightmodel=light2);
No caso de superfícies que não são fechadas a variação do parâmetro para números acima e abaixo de 1 não produzem diferenças.
>
a1:=convert(plot3d(2,x=-2..2,y=-2..2,grid=[5,5]),POLYGONS):
display(stellate(a1,1.5),axes=boxed,style=patch,scaling=constrained);
>
g1:=convert(plot3d(x^2+y^2,x=-1..1,y=-1..1,grid=[8,8]),POLYGONS):
display(stellate(g1,.5),style=patch,axes=boxed);
>
Para ver a próxima seção (Transform) clique aqui (transform.mws) .