Gráficos de funções vetoriais
> restart;
Em coordenadas cartesianas
Curvas em
No caso de curvas em
utiliza-se o comando
plot([...])
, onde no argumento do comando coloca-se em sequência, separados por vírgulas, a parametrização e o domínio do parâmentro.
Por exemplo, para visualizar-se o traço da parametrização usual da circunferência unitária de centro (0,0) utiliza-se:
> plot([cos(t),sin(t),t=0..2*Pi],scaling=constrained);
>
Observação importante: Para plotar curvas parametrizadas a colocação dos colchetes é fundamental. Caso sejam colocados apenas na parametrização da curva, deixando a variação do parâmetro ao largo, obtém-se os gráficos de cada função coordenada.
Veja a diferença entre os dois comandos abaixo e seus resultados.
>
plot([cos(t),sin(t),t=0..2*Pi],scaling=constrained);
plot([cos(t),sin(t)],t=0..2*Pi,scaling=constrained);
>
Pode-se mostrar vários traços no mesmo quadro e para isso, coloca-se as diferentes parametrizações como uma lista, digitando plot({[...],[...],[...],...,[...]}) .
Vamos ilustrar mostrando os pontos das semicircunferências de raios 1 e 2 que têm coordenadas com abcissas positivas.
> plot({[cos(t),sin(t),t=0..Pi],[2*sin(t),2*cos(t),t=0..Pi]},scaling=constrained);
>
Mostramos a seguir a circunferênca de centro na origem e raio gual a 1, e no mesmo quadro a metade direita da circunferência de centro na origem e raio igual a 2.
> plot({[cos(t),sin(t),t=0..2*Pi],[2*sin(t),2*cos(t),t=0..Pi]},scaling=constrained);
>
Podem também ser utilizados os opcionais usuais do comando plot .
Para verificar a aprendizagem Clique aqui (test12_1_1.mws)
Curvas em
No caso de curvas em
utiliza-se o comando
spacecurve([...])
. Este comando faz parte do pacote plots, que deve ser carregado previamente com a expressão
with(plots)
.
Por exemplo, para visualizar os dois primeiros passos da parametrização usual da hélice cilíndrica utiliza-se:
>
with(plots):
spacecurve([cos(t),sin(t),t],axes=boxed,t=0..4*Pi);
Warning, the name changecoords has been redefined
>
Um outro modo de utilizar este comando é carregá-lo diretamente com o comando plots[spacecurve](....) . O exemplo abaixo pode ser executado, mesmo que o Maple tenha acabado de ser aberto.
> plots[spacecurve]([cos(t),sin(t),t],axes=boxed,t=0..4*Pi);
>
Observação importante:
Para plotar curvas em
a colocação dos colchetes pode ser alterada, verifica-se que o resultado é o mesmo nos dois comandos abaixo:
>
spacecurve([cos(t),sin(t),t],axes=boxed,t=0..4*Pi);
spacecurve([cos(t),sin(t),t,t=0..4*Pi],axes=boxed);
>
Feita a observação anterior, fica fácil entender como plotar diversas curvas simultaneamente em
. Basta escrever no argumento do comando
spacecurve
a lista de parametrizações, digitando
spacecurve({[...],[...],...,[...]}
). Por exemplo:
> spacecurve({[cos(t),sin(t),t,t=0..Pi],[2*cos(t),2*sin(t),t,t=0..4*Pi]},axes=boxed);
>
Os opconais para colocar uma cor diferente em cada uma das curvas deve ser colocado dentro dos colchetes. Observe no exemplo abaixo.
> spacecurve({[cos(t),sin(t),t,t=0..4*Pi,color=gray],[2*cos(t),2*sin(t),t,t=0..4*Pi,color=blue]},axes=boxed);
>
A espessura do traço da função, o ponto de vista, o aparecimento ou não dos eixos coordenados, etc. podem ser modificados fácilmente através das escolhas de opcionais já explicados na seção que trata dos opcionas do plot3d. (rever agora) .
Um exemplo interessante de curva espacial é um mergulho especial de uma esfera de dimensão 1 em
chamado trefoil:
>
with(plots):
knot:= [ -10*cos(t) - 2*cos(5*t) + 15*sin(2*t),
-15*cos(2*t) + 10*sin(t) - 2*sin(5*t), 10*cos(3*t), t= 0..2*Pi]:
spacecurve(knot,axes=boxed,orientation=[48,14]);
>
Para verificar a aprendizagem Clique aqui (test12_1_2.mws)
Vizinhanças tubulares de curvas em
Existe uma estrutura chamada vizinhança tubular de mergulhos de variedades. Para o caso de curvas espaciais uma aproximação desta estrutura é mostrada pelo Maple quando usamos o comando tubeplot(...) .
Podem ocorrer situações onde os traços de certas curvas espaciais ficam difíceis de serem observadas. Nestas situações pode-se usar o artifício de plotar uma vizinhança tubular da curva para tentar-se uma melhor visualização.
Por exemplo, para uma melhor visualização do trefoil do exemplo anterior pode-se usar os comandos:
>
with(plots):
knot:= [ -10*cos(t) - 2*cos(5*t) + 15*sin(2*t),
-15*cos(2*t) + 10*sin(t) - 2*sin(5*t), 10*cos(3*t), t= 0..2*Pi]:
tubeplot(knot,axes=boxed,style=patch);
>
Para se usar este comando, primeramente criamos uma estrutura gráfica com o comando spacecurve e lhe atribuimos um nome. Depois é só utilizar o comando tubeplot(nome, opcionais) .
Vejamos mais um exemplo.
>
espiral:=[5*cos(t),2*sin(t),t,t=0..4*Pi]:
tubeplot(espiral,axes=boxed,style=patch,scaling=constrained);
>
Opcionais do comando tubeplot
Existem dois opcionais do comando tubeplot que podem ser utilizados sem muita complicação.
O opcional
"tubepoints=..."
especifica a quantidade de pontos utilizados para fazer a renderização nas fibras
, quanto mais pontos utilizados mais suave fica a vizinhança tubular.
O opcional
"radius=..."
indica o raio a ser considerado para a fibra
, quanto maior o número maior será o diâmetro da vizinhança tubular.
O padrão para esses opcionais é "tubepoints=10" e "radius=1".
O leitor pode entender melhor executando a série de exemplos abaixo, onde são feitas mudanças nos opcionais do comando tubeplot para o trefoil.
>
with(plots):
knot:= [ -10*cos(t) - 2*cos(5*t) + 15*sin(2*t),
-15*cos(2*t) + 10*sin(t) - 2*sin(5*t), 10*cos(3*t), t= 0..2*Pi]:
tubeplot(knot,axes=boxed);
> tubeplot(knot,tubepoints=3,radius=2,axes=boxed);
> tubeplot(knot,tubepoints=20,radius=2,axes=boxed);
> tubeplot(knot,tubepoints=20,radius=5,axes=boxed);
> tubeplot(knot,tubepoints=40,radius=5,axes=boxed,style=patch);
> tubeplot([cos(t),sin(t),t,t=0..4*Pi],tubepoints=20,radius=0.2,axes=boxed,style=patch);
>
Em coordenadas polares
Para plotar o traço de curvas parametrizadas em coordenadas polares deve-se utilizar o comando
polarplot([r(t),
(t),t=a..b])
, onde aparecem a lei de dependência da variável raio (r), da variável ângulo (
) e a variação do parâmetro. Este comando só pode ser utilizado após a ativação do pacote
plots
, por exemplo:
>
with(plots):
polarplot([cos(t),sin(t),t=0..2*Pi]);
>
Aqui, como no sistema de coordenadas cartesianas, a colocação correta dos colchetes é fundamental. Caso mal colocado, plota-se dois gráficos!
> polarplot([cos(t),sin(t)],t=0..2*Pi,scaling=constrained);
>
Podem ser utilizados os opcionais do comando plot .
Para ver a próxima seção ( Exercícios de Cálculo Diferencial e Integral ) Clique aqui (calc1.mws) .