sistemas de coordenadas no tikz
TRANSCRIPT
Sistemas de coordenadas no TikZ
O TikZ trabalha com dois sistemas de coordenadas: retangulares e polares. Abordaremos aquialgumas formas de se desenhar figuras no TikZ usando essas coordenadas na sua posicao absoluta erelativa.
Coordenadas Retangulares
Um sistema de coordenadas retangulares ou coordenadas cartesianas no plano consiste de um parordenado (x, y) onde x e a entrada referente ao eixo horizontal e y e a entrada referente ao eixo verticaldo plano cartesiano.
2
1
0 x
y
P1
Figura 1: Plano cartesiano
No TikZ vamos interpretar em primeiro momento como coordenadas retangulares em posicaoabsoluta, visto que depois reveremos um pequena variacao deste item. Em TikZ as coordenadasretangulares sao expressas da mesma forma como a conhecemos nas notacoes matematicas, entreparenteses: (x,y)
As entradas x e y aceitam qualquer valor real.Obs: Por padrao a unidade de medida do TikZ e cm. Mas o TikZ aceita mm, pt (ponto) 1 cm =
28.45 pt, in (polegada) 1 in = 25.4mm, etc.
Regis , 2011 http://latexbr.blogspot.com/ 1
Vejamos alguns exemplos:
Exemplo 1: pontoVamos desenhar um ponto na coordenada (2, 1), para isso digite:
\fill[blue] (2,1) circle (1mm) node[above right] {$P_1$};
O trecho node[above right] {$P_1$} e para inserir uma legenda no ponto.
1
1
2
2
3
3
4
4
0 x
y
P1
Figura 2: Ponto em coord. retangular
Note que o ponto de origem no sistema de coordenadas retangulares em posicao absoluta e oponto (0, 0).
Exemplo 2: retaPara desenhar uma reta precisamos de pelo menos dois pontos.
\draw[->,blue] (0,0) -- (2,1);
Uma reta saindo da origem e indo ate o ponto (2, 1).
1
1
2
2
3
3
4
4
0 x
y
P1
P2
Figura 3: Reta em coord. retangular
Regis , 2011 http://latexbr.blogspot.com/ 2
Exemplo 3: retanguloVeja no codigo a seguir que as coordenadas de um retangulo sao dadas pelos pontos P1 e P2.
\draw[blue] (1,1) rectangle (4,3);
1
1
2
2
3
3
4
4
0 x
y
P1
P2
Figura 4: Retangulo em coord. retangular
Coordenadas Relativas
As coordenadas relativas funcionam da seguinte forma: dado um ponto fixo (a, b) em coordena-das absolutas o ponto (x, y), em coordenadas relativas, e dado por:
x = a+ x1
y = b+ y1
ou (x, y) = (a, b) + (x1, y1).Ou seja, (a, b) e a nova origem no sistema de coordenadas relativas e (x1, y1) e o ponto que deve
ser “somado” a nova origem para se obter o novo ponto (x, y).
0 x
y
a
b
x
y
x1
y1
O
P1
Figura 5: Coordenadas relativas.
Regis , 2011 http://latexbr.blogspot.com/ 3
Exemplo 4: ponto
\fill (2,1) circle (1mm) node[below left] {O};
\fill[blue] (2,1)+(1,1) circle (1mm) node[above right] {$P_1$};
1
1
2
2
3
3
4
4
0 x
y
O
P1
Figura 6: Ponto em coord. relativa
Repare que o ponto (2, 1) e a nova origem e (1, 1) e o ponto que somado a nova origem resulta noponto (3, 2).
Exemplo 5: retaEscreva o codigo a seguir:
\draw[->,blue] (2,1) -- +(2,1);
Comparando com a reta desenhada anteriormente a unica diferenca e que agora a nova origem e oponto (2, 1) e a reta vai ate o ponto (4, 2). Ou seja, o comprimento da reta e o mesmo, porem a retase deslocou duas unidades para a direita e uma unidade para cima.
1
1
2
2
3
3
4
4
0 x
y
O
P1
P2
Figura 7: Reta em coord. relativa
Regis , 2011 http://latexbr.blogspot.com/ 4
Este recurso e bastante interessante quando se deseja desenhar a mesma figura em varias posicoesdiferentes. Veja um exemplo:
\draw[->,blue] (2,1) -- +(2,1);
\draw[->,blue] (3,3) -- +(2,1);
\draw[->,blue] (1,4) -- +(2,1);
1
1
2
2
3
3
4
4
0 x
y
Figura 8: Retas em coord. relativa
Exemplo 6: retanguloVamos desenhar o mesmo retangulo da figura anterior, so que agora nos preocuparemos com seu
comprimento e sua altura.
\draw[blue] (1,1) rectangle +(3,2);
O ponto inicial e o mesmo P1 dado por (1, 1) so que agora o comprimento e 3 unidades e a alturae 2 unidades.
1
1
2
2
3
3
4
4
0 x
y
P1
P2
3
2
Figura 9: Retangulo em coord. relativa
Regis , 2011 http://latexbr.blogspot.com/ 5
Diferenca entre + e ++
Em coordenadas relativas podemos usar os sımbolos + e ++. A diferenca e que enquanto ++atualiza as coordenadas em relacao ao ultimo ponto, o + nao atualiza, permanecendo sempre emrelacao ao ponto inicial da figura.
Veja na figura a seguir que com o uso de ++ a coordenada e sempre relativa ao ultimo ponto dafigura.
\draw[->,blue] (2,1) -- ++(1 ,0) -- ++(0,-1) -- ++(-1,0) -- ++(0 ,1);
1
1
2
2
3
3
0 x
y
1
1
2
2
3
3
0 x
y
1
1
2
2
3
3
0 x
y
1
1
2
2
3
3
0 x
y
P1 P2 P2
P3 P3P4 P4
P1
Figura 10: Figura desenhada com ++.
No primeiro quadro a figura comeca tendo P1 como origem e P2 como ponto final da linha;No segundo quadro a origem e P2 e o ponto final e P3;No terceiro quadro a origem e P3 e o ponto final e P4;E no quarto quadro a origem e P4 e o ponto final e P1.
Na figura seguinte o uso de + tem sempre o ponto (2, 1) como ponto de referencia.
\draw[->,blue] (2,1) -- +(1,0) -- +(0,-1) -- +(-1,0) -- +(0,1);
1
1
2
2
3
3
0 x
y
1
1
2
2
3
3
0 x
y
1
1
2
2
3
3
0 x
y
1
1
2
2
3
3
0 x
y
P1 P1 P1 P1P2
P3
P4
P5
Figura 11: Figura desenhada com +.
O ponto P1 em (2, 1) permanece fixo e os demais pontos tem sempre o ponto P1 como origem.
Regis , 2011 http://latexbr.blogspot.com/ 6
Coordenadas Polares
O sistema de coordenadas polares consiste de uma distancia (ou raio) e da medida de um anguloem relacao a um ponto fixo O chamado de polo e uma semi-reta fixa chamada de eixo polar.
O
P (α : r)
eixo polar A
r
α
Figura 12: Coordenadas polares.
O ponto P fica bem determinado atraves do par ordenado (α : r), onde α e a medida (em graus)do angulo orientado AOP, e r e a distancia (ou raio) entre a origem e o ponto P . Note que o angulosegue o sentido anti-horario em relacao ao ponto O.
Veja a seguir como e uma grade em coordenadas polares.
10◦
20◦
30◦
40◦
50◦
60◦70◦
80◦90◦100◦110◦
120◦
130◦
140◦
150◦
160◦
170◦
180◦
190◦
200◦
210◦
220◦
230◦
240◦
250◦260◦ 270◦ 280◦
290◦300◦
310◦
320◦
330◦
340◦
350◦
360◦−4
−4
−3
−3
−2
−2
−1
−1
1
1
2
2
3
3
4
4
0
Figura 13: Grade em coordenadas polares.
Regis , 2011 http://latexbr.blogspot.com/ 7
Vejamos alguns exemplos de retas desenhadas em coordenadas polares:Exemplos 7 e 8
\draw (0,0) -- ++(45:2);
\draw (0,0) -- ++(135:3);
−2
−2
−1
−1
1
1
2
2
0 x
y
P
2
45◦
(a) Reta no primeiro quadrante
−2
−2
−1
−1
1
1
2
2
0 x
y
P
3 135◦
(b) Reta no segundo quadrante
Figura 14: Retas em coordenadas polares
Exemplos 9 e 10
\draw (0,0) -- ++(210:2);
\draw (0,0) -- ++(315:3);
−2
−2
−1
−1
1
1
2
2
0 x
y
P2
210◦
(a) Reta no terceiro quadrante
−2
−2
−1
−1
1
1
2
2
0 x
y
P
3
315◦
(b) Reta no quarto quadrante
Figura 15: Retas em coordenadas polares
Para o ultimo exemplo podemos escrever \draw (0,0) -- ++(-45:3); ou seja, usando o sinal de− o angulo muda para o sentido horario.
Regis , 2011 http://latexbr.blogspot.com/ 8
Exemplos 11: Combinando coordenadas relativas e coordenadas polaresPara que a origem da reta fique num ponto diferente de (0, 0) precisamos combinar coordenadas
relativas e coordenadas polares, para isso digite:
\draw (2,1) -- ++(45:2);
1
1
2
2
3
3
0 x
y
P
2
45◦
Figura 16: Reta em coordenadas polares com origem num outro ponto.
A reta inicia-se em (2, 1) e possui um angulo de 45◦ e 2 cm de comprimento.
Exemplos 12 e 13: Losango e Cırculo com raioUm exemplo ideal para a utilizacao desta tecnica e quando se deseja desenhar um losango de 3 cm
de comprimento e inclinacao de 60◦.
\draw[fill=yellow] (0,0) -- (3,0) -- ++(60:2) -- ++(-3,0) -- cycle;
Ou um cırculo de raio unitario com indicacao do raio.
\begin{tikzpicture }[>= latex]
\draw (2,1) circle (1);
\fill (2,1) circle (1pt);
\draw[->] (2,1) -- ++(45:1);
\end{tikzpicture}
Note que o cırculo esta fora da origem.
3
60◦
(a) Losango (b) Cırculo com raio
Figura 17: Figuras em coordenadas polares
Regis , 2011 http://latexbr.blogspot.com/ 9
Operacoes algebricas com coordenadas
O TikZ calcula valores diretamente na entrada das coordenadas gracas a ’biblioteca’ calc.Exemplo 14: Soma e subtracao de coordenadas
\fill[red] (2,1) circle (2pt);
\fill[blue] (2+1 ,1+1) circle (2pt);
\fill[blue] (2-1,1-1) circle (2pt);
O ponto P2 foi obtido pela soma de 1 unidade em cada uma das entradas da coordenada. E oponto P3 pela subtracao de 1 unidade em cada uma das entradas.
1
1
2
2
3
3
0 x
y
P1
P2
P3
Figura 18: Soma e subtracao de coordenadas
Exemplo 15: Multiplicacao e divisao de coordenadas
\fill[red] (2,1) circle (2pt);
\fill[blue] (2*2 ,1*2) circle (2pt);
\fill[blue] (2/2 ,1/2) circle (2pt);
O ponto P2 foi obtido pela multiplicacao por 2 em cada uma das entradas da coordenada, resultandoassim no ponto (4, 2). E o ponto P3 pela divisao por 2 em cada uma das entradas, resultando no ponto(1, 0.5).
1
1
2
2
3
3
0 x
y
P1
P2
P3
Figura 19: Multiplicacao e divisao de coordenadas
Regis , 2011 http://latexbr.blogspot.com/ 10
Exemplo 16: Medidas no losango
\begin{tikzpicture }[>= latex]
\draw[fill=yellow] (0,0) -- (3,0) -- ++(60:2) -- ++(-3,0) -- cycle;
\draw[->] (0,0) ++(.5 ,0) arc (0:60:.5);
\node[below] at (3/2 ,0) {$3$};
\node at (45/2:1) {$60^\ circ $};
\end{tikzpicture}
Repare nas linhas a seguir o uso do operador de divisao.
\node[below] at (3/2 ,0) {$3$};
\node at (45/2:1) {$60^\ circ $};
3
60◦
Figura 20: Losango com medidas.
Nomeando coordenadas
Um recurso muito interessante no TikZ e a possibilidade de usar pontos nomeados. Para nomearuma coordenada escreva:
\coordinate (A) at (0,0);
\coordinate (B) at (2,1);
Agora temos o ponto A na coordenada (0, 0) e o ponto B na coordenada (2, 1). Agora podemosdesenhar uma reta do ponto A ao ponto B.
\draw (A) -- (B);
A
B
Figura 21: Coordenadas nomeadas
Veja o codigo completo:
\begin{tikzpicture}
\coordinate[label=left:A] (A) at (0,0);
\coordinate[label=right:B] (B) at (2,1);
\draw (A) -- (B);
\end{tikzpicture}
As opcoes label=left:A e label=right:B colocam uma legenda a esquerda de A e a direita deB, respectivamente.
Regis , 2011 http://latexbr.blogspot.com/ 11
Tambem e possıvel desenhar um ponto e nomea-lo logo na sequencia. Digite:
\draw (A) -- (B) -- (4,0) coordinate[label=right:C] (C);
Acabamos de nomear o ponto C na coordenada (4, 0) diretamente no desenho da reta.Agora podemos fechar o triangulo.
\draw (A) -- (C);
Veja o codigo completo:
\begin{tikzpicture}
\coordinate[label=left:A] (A) at (0,0);
\coordinate[label=above:B] (B) at (2,1);
\draw (A) -- (B) -- (4,0) coordinate[label=right:C] (C);
\draw (A) -- (C);
\end{tikzpicture}
A
B
C
Figura 22: Coordenadas nomeadas
Exemplo 17: Reta paralela com comprimento definidoNo codigo a seguir vamos desenhar uma reta paralela aos pontos A e B comecando por C, que
esta a uma distancia de 3mm de A, e com comprimento de 1 cm.
\begin{tikzpicture}
\coordinate[label=left:A] (A) at (1,1);
\coordinate[label=right:B] (B) at (2,1);
\fill[blue] (A) circle (1pt);
\fill[blue] (B) circle (1pt);
\draw[->,red] (A)++(0 ,3mm) coordinate[label=C] (C) -- ++(1 ,0);
\fill[red] (C) circle (1pt);
\end{tikzpicture}
Observe na linha \draw[->,red] (A)++(0,3mm) coordinate[label=C] (C) -- ++(1,0); que oponto (A)++(0,3mm) e chamado de C. Somente dessa forma que ele pode ser computado para acoordenada onde se encontra, e a partir dai ser usado como ponto C.
A B
C
Figura 23: Reta paralela com comprimento definido
Regis , 2011 http://latexbr.blogspot.com/ 12
Exemplo 18E claro que podemos usar o mesmo ponto varias vezes.
\begin{tikzpicture}
\coordinate (A) at (0,0);
\coordinate (B) at (2,1);
%pontos
\fill[blue] (A) circle (1pt) (B) circle (1pt);
%legendas
\node[left] at (A) {A};
\node[right] at (B) {B};
%retangulo
\draw[fill=yellow] (A) rectangle (B);
%reta
\draw (A) -- (B);
\end{tikzpicture}
A
B
Figura 24: Exemplo de pontos nomeados
Este artigo tambem esta disponıvel no scribd.Palavras-chave: TikZ, figuras, coordenadas cartesianas, coordenadas retangulares, coordenadas
relativas, coordenadas polares, posicao absoluta, posicao relativa
Regis , 2011 http://latexbr.blogspot.com/ 13