Gráficos

2.1 Introdução

Há váriass formas de traçar gráficos de funções em plano, tais como: via coordenadas cartesianas, coordenadas polares, coordenadas paramétricas e gráficos de equações representadas implicitamente. Ainda podemos representar pontos no plano, bem como gráficos de funções definidas por várias sentenças. O software Mathematica possui diversos comandos que possibilitam representar graficamente os mais variados tipos de funções. Alguns destes comandos já estão incorporados ao Mathematica, mas há muitos outros disponíveis nos pacotes que acompanham o software. Neste capítulo explicaremos somente construções dos gráficos dos tipos supra citados. Para fazer um gráfico bidimensional de uma função em coordenadas cartesianas, é utilizado o comando "Plot". Mas para fazar gráficos de funções dadas em coordenadas especiais necessitamos dos respectivos pacotes que explicaremos em cada subseção. A colocação de pontos no plano cartesiano é feita com o comando "ListPlot". Também utilizamos os comandos "Show" e "GraphicsArray", para representar os gráficos já feitos e/ou juntar vários gráficos. Ainda neste capítulo construímos gráficos tridimensionais em várias forma diferentes utilizando os comandos do Mathematica.

  

2.2 Gráficos bidimensionais em coordenadas cartesianas

2.2.1 Representação de pontos no plano cartesiano

 Nesta subseção damos exemplos de conjuntos de pontos (pares ordenados) que podem ser representados no plano cartesiano.

Exemplo 2.1

 a) Representar no plano cartesiano os pontos dados no conjunto:

{3, 1, 4, 6, 3, 5, 3, 3, 4, 6, 2};

b) Representar no plano cartesiano os pares ordenados dados no conjunto:

{(2,3), (-2,-3), (4,5), (-1.4,2.5), (3,-5)};

 c) Traçar os pontos do tipo k3, - 10 £ k £ 10, onde k é um inteiro.

Resolução

a) Utilizamos o comando "ListPlot" para representar os pontos dados. Também utilizamos as opções "PlotJoined->True" e "PlotStyle->PointSize[ ]" para juntar os pontos traçados e aumentar o tamanho dos pontos respectivamente.

In[ ]:= ListPlot[{3,1,4,6,3,5,3,3,4,6,2}]

 

Out[ ]= -Graphics-

 In[ ]:= ListPlot[{3,1,4,6,3,5,3,3,4,6,2}, PlotJoined->True]

 

Out[ ]= -Graphics-

b) Neste caso, primeiramente representamos os pares ordenados em termos de uma lista ou um conjunto, dando o seguinte comando:

 In[ ]:= k1={{2,3},{-2,-3},{4,5},{-1.4,2.5},{3,-5}}
Out[ ]= {{2,3}, {- 2,- 3}, {4,5}, {- 1.4,2.5}, {3,- 5}}

A seguir damos o comando "ListPlot" para representar no plano cartesiano os pares ordenados:

 In[ ]:= ListPlot[k1]

 

Out[ ]= -Graphics-

In[ ]:= ListPlot[k1,PlotStyle->PointSize[0.02]]

 

 Out[ ]= -Graphics-

 In[ ]:= ListPlot[k1,PlotJoined->True]

 

 Out[ ]= -Graphics-

 In[ ]:= ListPlot[Sort[k1],PlotJoined->True]

Out[ ]= -Graphics-

 c) Neste exemplo, utilizamos mais um comando "Table" para representar os pontos, colocando-os na forma sequencial.

 In[ ]:= ListPlot[Table[k^3,{k,-10,10}], PlotStyle->PointSize[0.01]]

Out[ ]= -Graphics-

Os comandos utilizados têm suas explicações a seguir:

 Observação

2.2.2 Gráficos de funções no plano cartesiano

Nesta subseção construímos gráficos de funções no plano cartesiano. Também apresentamos gráficos de várias funções no mesmo sistema de coordenadas. Durante a construção consideramos várias opções que serão explicadas no final desta seção. Observe que as funções são colocadas como na forma habitual, sendo que as trigonométricas, logarítmicas e exponenciais são expressas com a primeira letra maiúscula.

Exemplo 2.2

 Construir o gráfico da função f(x) = sen x, 0 £ x £ 2p .

 Resolução

 Para construir o gráfico da função dada utilizaremos o comando "Plot" da seguinte maneira:

 a) In[ ]:= Plot[Sin[x],{x, 0, 2 Pi}]

 

 Out[ ]= -Graphics-

In[ ]:= Plot[Sin[x],{x,0,2 Pi}, PlotStyle->Thickness[0.006]]

Out[ ]= -Graphics-

 In[ ]:= Plot[Sin[x],{x,0,2 Pi}, PlotLabel-> "O gráfico da função seno", AxesLabel-> {"x","f(x)"}]

 

Out[ ]= -Graphics-

É possível desenhar mais de uma função sobre o mesmo conjunto de eixos. Para tanto é necessário apenas que se coloque como primeiro argumento uma lista com as funções que se deseja representar. Veja o exemplo a seguir.

Exemplo 2.3

Construir simultaneamente os gráficos das seguintes funções:

a) f1(x) = 2x3 - 3, f2(x) = sen(2x), - 3 £ x £ 3;
b) f1(x) = sen(6x) + 6 cos(2x), f2(x) = tg x,
- p £ x £ p ;

Resolução

Para construir os gráficos das funções dadas utilizamos o comando "Plot" da seguinte forma:

 a) In[ ]:= Plot[{2 x^3- 3, Sin[2 x]},{x,- 3,3}]

Out[ ]= -Graphics-

 b) In[ ]:= Plot[{Sin[6 x]+2 Cos[2 x],Tan[x]},{x,- Pi,Pi}, AxesLabel->{"x","y"}]

 

Out[ ]= -Graphics-

Para colocar os gráficos de várias funções um ao lado do outro, como se fossem uma tabela, utilizamos os comandos a seguir:

In[ ]:= Clear[f1,f2,f3,f4]
          f1=Plot[2 x^3- 3,{x,- 3,3}]
          f2=Plot[Sin[2 x],{x,- 3,3}]
          f3=Plot[Sin[6 x]+2 Cos[2 x],{x,- Pi,Pi}]
          f4=Plot[Tan[x],{x,- Pi,Pi}]
       Show[GraphicsArray[{{f1,f2},{f3,f4}}], Frame->True, FrameThick->None]

 

Out[ ]= -GraphicsArray-

No exemplo a seguir, apresentamos os gráficos de duas funções definidas em intervalos diferentes, traçados no mesmo sistema de coordenadas.

Observação

 

2.2.3 Gráficos de funções definidas por várias sentenças

Nesta seção construímos os gráficos de funções definidas por várias sentenças. Para representar estas funções utilizamos o comando "Which". Para se ter mais esclarecimentos sobre a continuidade da função nos pontos utilizamos o comando "Show".

Exemplo 2.4

Tracar o gráfico da função definida por várias sentenças:

 

no intervalo de - 4 £ x £ 4;

Resolução

A construção do gráfico de funções definidas por várias sentenças é feita da seguinte maneira: em cada uma delas damos duas opções de construção, uma com o comando "Which" e outra com o comando "Show".

In[ ]:= Clear[g]
       g[x_]:= Which[x<=0,x^3,0<x<2,1,x>=2,x^2]
       Plot[g[x],{x,- 6,6}]

 

Out[ ]= -Graphics-

In[ ]:= Clear[g1,g2,g3]
          g1=Plot[x^3,{x,- 6,0}]
          g2=Plot[1,{x,0,2}]
          g3=Plot[x^2,{x,2,6}]
       Show[g1,g2,g3]

 

Out[ ]= -Graphics-

In[ ]:= Clear[g1,g2,g3,g4]
          g1=Plot[x^3,{x,- 6,0}]
          g2=Plot[1,{x,0,2}]
          g3=Plot[x^2,{x,2,6}]
          g4=Show[g1,g2,g3]
       Show[GraphicsArray[{{g1,g2},{g3,g4}}], Frame->True,FrameThick->None]

 

Out[ ]= -GraphicsArray-

 Os comandos utilizados têm suas explicações a seguir:

2.3 Gráficos bidimensionais em coordenadas especiais

Nesta seção apresentamos gráficos bidimensionais das funções dadas em diversos sistemas de coordenadas, tais como: coordenadas paramétricas, coordenadas polares, e de funções representadas implicitamente. Mas, inicialmente explicamos a utilização dos pacotes.

2.3.1 Utilização dos pacotes

O software Mathematica possui diversos comandos que possibilitam representar graficamente os mais diversos tipos de funções. Alguns destes comandos já estão incorporados ao Mathematica, mas há muitos outros disponíveis nos pacotes que acompanham o software. Primeiramente, explicamos como trabalhar com pacotes já embutidos no programa.

É importante saber como utilizar os pacotes que vêm junto com os diretórios do Mathematica. Sem saber como utilizar estes pacotes não é possível construir gráficos em coordenadas especiais. Estes pacotes, são arquivos que contém definições de funções do Mathematica e estão incluídos em diversos subdiretórios do diretório "Packages". Estas funções tornam-se disponíveis depois que os pacotes são carregados. Há duas maneiras de carregar um certo pacote. Primeiro, utilizando o comando "<<", por exemplo:

 In[ ]:= <<Graphics`Graphics`

O comando "<<", quando solicitado, carrega um determinado pacote. Alguns problemas podem surgir ao carregar duas vezes um mesmo pacote utilizando este comando "<<". A segunda maneira de carregar um dado pacote é utilizando o comando "Needs", por exemplo:

In[ ]:= Needs["Graphics`Graphics`"]

Em geral, utilizar o comando "Needs" torna-se mais conveniente, pois este carrega o pacote especificado, somente se o mesmo ainda não foi carregado.

Neste trabalho sempre utilizaremos o comando "Needs" em vez de "<<".

2.3.2 Gráficos em coordenadas paramétricas

Se uma curva plana é o conjunto de pares ordenados da forma (f(t),g(t)), em que as funções f e g são contínuas em um intervalo I, dizemos que as equações x = f(t) e y = g(t) com t e I, são as equações paramétricas da curva dada e t é chamado parâmetro.

Caso a função desejada esteja expressa na forma paramétrica, deve-se utilizar o comando "ParametricPlot", que é muito parecido com o comando "Plot".

A seguir apresentaremos alguns exemplos de figuras construídas parametricamente, utilizando o comando "ParametricPlot".

Exemplo 2.5

Construir os gráficos das seguintes funções dadas em equações paramétricas:

a) x(t) = , y(t) = t cos t, 0 £ t £ 2p;
b) x(t) = sen 5t cos t , y(t) = sen 5t sen 4t,
- 4 £ t £ 4;
c) x(t) = cos 3t, y(t) = sin 5t, 0
£ t £ 2p .

Resolução

Utilizamos o comando "ParametricPlot" para resolver os exemplos dados acima. Consideramos várias opções que serão explicadas durante a construção.

a) In[ ]:= ParametricPlot[{Sqrt[t],t Cos[t]},{t,0,2 Pi}]

Out[ ]= -Graphics-

b) In[ ]:= ParametricPlot[{Cos[4 t]*Sin[2 t],Cos[4 t]*Cos[3 t]},{t,- 5,5}]

 

 Out[ ]= -Graphics-

Observação

Nos gráficos acima é possível notar que a escala dos eixos vertical e horizontal são diferentes. Para resolver este problema pode ser usada a opção "AspectRatio ->Automatic", que força a uniformidade entre as escalas. Utilizando a opção "Axes->False", eliminamos os eixos. Veja este caso a seguir:

In[ ]:= ParametricPlot[{Cos[4 t]*Sin[2 t], Cos[4 t]*Cos[3 t]}, {t,- 5,5}, AspectRatio->Automatic, Axes->False]

 

Out[ ]= -Graphics-

c) In[ ]:= ParametricPlot[{Sin[2 t], Cos[5 t]},{t,0,2 Pi}, AxesOrigin->{- 1.05,- 1.05}]

 

Out[ ]= -Graphics-

Observações

De maneira análoga à utilizada no comando "Plot", caso se queira representar mais de uma equação paramétrica no mesmo conjunto de eixos, deve-se fornecer como primeiro argumento uma lista que possua as funções que especifiquem as coordenadas.

Exemplo 2.6

 Construir o gráfico das funções dadas:

 ;

e

.

no mesmo sistema de coordenadas.

Resolução

O gráfico é construído usando-se o seguinte comando:

In[ ]:= ParametricPlot[{{t^3,t^2},{t^2,t^3}},{t,- 3,3}]

 

Out[ ]= -Graphics-

Nos próximos dois exemplos apresentamos curvas especiais: Epiciclóide, Epitrocóide, Hipociclóide e Hipotrocóide, respectivamente, com duas formas diferentes de cada uma delas.

Exemplo 2.7

 Construir os gráficos das funções dadas, na mesma tela:

a)

e

;

b)

e

.

Resolução

Utilizamos os seguintes comandos para construir o gráfico desejado:

a) In[ ]:= Clear[g1,g2]
              g1=ParametricPlot[{14 Cos[t]
- 4 Cos[3.5 t], 14 Sin[t]- 4 Sin[3.5 t]},{t,- 7,7},
                       AspectRatio->Automatic, Axes->False,PlotLabel->"Epiciclóide"]
              g2=ParametricPlot[{14.5 Cos[t]
- 4.5 Cos[14.5 t/4.5],
                       14.5 Sin[t]
- 4.5 Sin[14.5 t/4.5]},{t,- 30,30},AspectRatio->Automatic,
                       Axes->False, PlotLabel->"Epiciclóide larga"]
            Show[GraphicsArray[{{g1,g2}}]]

 

Out[ ]= -GraphicsArray-

b) In[ ]:= Clear[g1,g2]
              g1=ParametricPlot[{14 Cos[t]
- 8 Cos[3.5 t],14 Sin[t]- 8 Sin[3.5 t]},{t,- 7,7},
                      AspectRatio->Automatic, Axes->False,PlotLabel->"Epitrocóide"]
              g2=ParametricPlot[{14.5 Cos[t]
- 8 Cos[14.5 t/4.5],14.5 Sin[t]- 8 Sin[14.5 t/4.5]},{t,- 29,29},
                      AspectRatio->Automatic, Axes->False,PlotLabel->"Epitrocóide larga"]
             Show[GraphicsArray[{{g1,g2}}]]

 

Out[ ]= -GraphicsArray-

2.3.3 Gráficos em coordenadas polares

Para construir um gráfico em coordenadas polares devemos, primeiramente, carregar o pacote que possui a definição do comando "PolarPlot", executando o seguinte comando:

In[ ]:= Needs["Graphics`Graphics`"]

A seguir apresentamos alguns exemplos de construção de curvas em coordenadas polares.

Exemplo 2.8

Construir o gráfico da curva  r = 2 sen(3 t), 0 £ t £ 2p , dada em coordenadas polares:

Resolução

Para construir o gráfico da função utilizamos o seguinte comando:

In[ ]:= PolarPlot[2 Sin[3 t],{t,0,2 Pi}]

Out[ ]= -Graphics-

Da mesma forma como nos comandos "Plot" e "ParametricPlot", podemos construir mais de uma função sobre o mesmo conjunto de eixos. Para tanto utilizamos o comando "PolarPlot". Veja o exemplo a seguir:

Exemplo 2.9

Construir os gráficos das seguintes curvas dadas em coordenadas polares, na mesma tela, em eixos diferentes:

r1 = 3 sen(4t), 0 £ t £ 2p ,
r2 = cos(9t/4), 0 £ t £ 8p .

Resolução

Para construir o gráfico da função damos o seguinte comando:

In[ ]:= Clear[g1,g2]
          g1=PolarPlot[3 Sin[4 t],{t,0,2 Pi}]
          g2=PolarPlot[Cos[9 t/4],{t,0,8 Pi}]
       Show[GraphicsArray[{{g1,g2}}, PlotLabel->"Rosáceas"]]

 

Out[ ]= -GraphicsArray-

A seguir damos exemplos de algumas curvas especiais.

Exemplo 2.10

Construir os gráficos das seguintes curvas (espirais diferentes) dadas em coordenadas polares, na mesma tela, em eixos diferentes:

a)  r1 = 2- 0.1 t2 , 0 £ t £ 10p ,
     r2 = 2 t , 0
£ t £ 10p ,
     r3 = , 0
£ t £ 12p .

 Resolução

Para construir o gráfico da função acionamos os seguintes comandos:

In[ ]:= Clear[g1,g2,g3]
          g1=PolarPlot[2-0.1*(t^2),{t,0,10 Pi},PlotLabel->"Espiral de Galileu"]
          g2=PolarPlot[2*t,{t,0,10Pi}, PlotLabel->"Espiral de Arquimedes"]
          g3=PolarPlot[Sqrt[t],{t,0,10 Pi}, PlotLabel->"Espiral de Fermet"]
       Show[GraphicsArray[{{g1,g2,g3}}]]

Out[ ]= -GraphicsArray-

Exemplo 2.11

Construir os gráficos das seguintes curvas, dadas em coordenadas polares, na mesma tela e em eixos diferentes:

r1 = 2 + 2 cos t , 0 £ t £ 2p ,
r2 = - cos t - 0.5 cos(2t) , 0 £ t £ 2p .

Resolução

Para construir o gráfico da função damos o seguinte comando:

In[ ]:= Clear[g1,g2]
           g1=PolarPlot[2+2 Cos[t],{t,0,2 Pi}, PlotLabel->"Cardióide"]
           g2=PolarPlot[
- Cos[t]-0.5 Cos[2 t],{t,0,2 Pi},PlotLabel->"Astróide"]
        Show[GraphicsArray[{{g1,g2}}]]

Out[ ]= -GraphicsArray-

2.3.4 Gráficos de funções definidas implicitamente

Consideremos a equação F(x,y) = 0. Dizemos que a função y = f(x) é definida implicitamente pela equação F(x,y) = 0 se, ao substituirmos y por f(x) em F(x,y) = 0, esta equação se transforma numa identidade.

Para fazer gráficos de funções definidas implicitamente também é necessário carregar um pacote. Executamos o seguinte comando:

In[ ]:= Needs["Graphics`ImplicitPlot`"].

O comando "ImplicitPlot" é também similar ao comando "Plot", exceto pelo fato de que ao invés de uma expressão envolvendo somente uma variável, deve ser dada uma equação envolvendo duas variáveis (convencionalmente x e y). Veja os exemplos a seguir.

Exemplo 2.12

Construir o gráfico da seguinte curva escrita implicitamente:

(x2 + y2)2 = x + y , - 2 £ x £ 2;

Resolução

Para construir o gráfico da função damos o seguinte comando:

In[ ]:= ImplicitPlot[(x^2+y^2)^2==x+y,{x,-2,2}]

 

 Out[ ]= -Graphics-

 Observações

A seguir construímos os gráficos de duas funções definidas implicitamente.

Exemplo 2.13

Construir os gráficos das seguintes curvas escritas implicitamente, no mesmo eixo de coordenadas e na mesma tela:

 y=x2 - 1 e y2 =2x + 6, - 4 £ x £ 4.

Resolução

Primeiramente construímos o gráfico no mesmo eixo e depois na mesma tela. Para construir o gráfico da função damos o seguinte comando:

In[ ]:= ImplicitPlot[{y==x^2- 1,y^2==2 x+6},{x,- 4,4}, PlotRange->{-4,4}]

Out[ ]= -Graphics-

Observamos no gráfico acima, que não conseguimos identificar todas as curvas apresentadas. Para não se ter este problema, apresentamos os gráficos nomnais utilizando o comando "Show".

In[ ]:= Clear[g1,g2,g3]
          g1=ImplicitPlot[y==x^2
- 1,{x,- 4,4}, PlotRange->{- 4,4}, PlotLabel->"g1"]
          g2=ImplicitPlot[y^2==2 x+6,{x,
- 4,4}, PlotRange->{- 4,4}, PlotLabel-> "g2"]
          g3=ImplicitPlot[{y==x^2
- 1,y^2==2 x+6}, {x,- 4,4},PlotRange->{- 4,4}, PlotLabel->"g3"]
       Show[GraphicsArray[{g1,g2,g3}]]

 

Out[ ]= -GraphicsArray-

Podemos também utilizar o comando "DisplayTogether", disponível no pacote "Graphics", para construir mais de um gráfico ao mesmo tempo, com coordenadas diferentes. Veja o exemplo a seguir.

Exemplo 2.14

Construir os gráficos das seguintes curvas com coordenadas distintas, no mesmo eixo de coordenadas e na mesma tela:

r = 1 + 2 sen t, 0 £ t £ 2p (coordenadas polares);
x(t) = sen(7 t) cos t, y(t) = sen(5 t) sen t, 0 £ t £ 3p /2 (equações paramétricas);
e
x2 = y, - 2 £ t £ 2 (forma implícita).

Resolução

Antes de iniciar devemos carregar os pacotes necessários:

In[ ]:= Needs["Graphics`Graphics`"]
In[ ]:= Needs["Graphics`ImplicitPlot`"]

Primeiramente, construímos o gráfico no mesmo eixo de coordenadas, utilizando o comando "DisplayTogether", e depois na mesma tela utilizando o comando "Show". Para construir o gráfico da função acionamos o seguinte comando:

In[ ]:= DisplayTogether[PolarPlot[1+2 Sin[t],{t,0,2Pi}],
         ParametricPlot[{Sin[7 t] Cos[t],Sin[5 t] Sin[t]},{t,0,3Pi/2}],
         ImplicitPlot[x^2==y,{x,-2,2}], AspectRatio->Automatic]

Out[ ]= -Graphics-

Para se ter uma visão mais clara dos gráficos, apresentamos o exemplo acima separadamente:

 In[ ]:= Clear[g1,g2,g3]
           g1=PolarPlot[1+2 Sin[t],{t,0,2 Pi}, PlotLabel->"g1"]
           g2=ParametricPlot[{Sin[7 t] Cos[t], Sin[5 t] Sin[t]},{t,0,3 Pi/2}, PlotLabel->"g2"]
           g3=ImplicitPlot[x^2==y,{x,-2,2}, PlotLabel->"g3"]
        Show[GraphicsArray[{g1,g2,g3}, AspectRatio->Automatic]]

Out[ ]= -GraphicsArray-

Observações