Anda di halaman 1dari 13

Sistemas de coordenadas no TikZ

O TikZ trabalha com dois sistemas de coordenadas: retangulares e polares. Abordaremos aqui
algumas formas de se desenhar figuras no TikZ usando essas coordenadas na sua posição absoluta e
relativa.

Coordenadas Retangulares
Um sistema de coordenadas retangulares ou coordenadas cartesianas no plano consiste de um par
ordenado (x, y) onde x é a entrada referente ao eixo horizontal e y é a entrada referente ao eixo vertical
do plano cartesiano.

P1
1

0 2 x

Figura 1: Plano cartesiano

No TikZ vamos interpretar em primeiro momento como coordenadas retangulares em posição


absoluta, visto que depois reveremos um pequena variação deste item. Em TikZ as coordenadas
retangulares são expressas da mesma forma como a conhecemos nas notações matemáticas, entre
parênteses: (x,y)
As entradas x e y aceitam qualquer valor real.
Obs: Por padrão a unidade de medida do TikZ é cm. Mas o TikZ aceita mm, pt (ponto) 1 cm =
28.45 pt, in (polegada) 1 in = 25.4 mm, etc.

Régis , 2011 http://latexbr.blogspot.com/ 1


Vejamos alguns exemplos:

Exemplo 1: ponto
Vamos desenhar um ponto na coordenada (2, 1), para isso digite:
\ fill [ blue ] (2 ,1) circle (1 mm ) node [ above right ] {$ P _1$};

O trecho node[above right] {$P_1$} é para inserir uma legenda no ponto.

2
P1
1

0 1 2 3 4 x

Figura 2: Ponto em coord. retangular

Note que o ponto de origem no sistema de coordenadas retangulares em posição absoluta é o


ponto (0, 0).

Exemplo 2: reta
Para desenhar uma reta precisamos de pelo menos dois pontos.
\ draw [ - > , blue ] (0 ,0) -- (2 ,1) ;

Uma reta saindo da origem e indo até o ponto (2, 1).

2
P2
1
P1
0 1 2 3 4 x

Figura 3: Reta em coord. retangular

Régis , 2011 http://latexbr.blogspot.com/ 2


Exemplo 3: retângulo
Veja no código a seguir que as coordenadas de um retângulo são dadas pelos pontos P1 e P2 .
\ draw [ blue ] (1 ,1) rectangle (4 ,3) ;

4
P2
3

1
P1

0 1 2 3 4 x

Figura 4: Retângulo 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, é dado por:

x = a + x1
y = b + y1
ou (x, y) = (a, b) + (x1 , y1 ).
Ou seja, (a, b) é a nova origem no sistema de coordenadas relativas e (x1 , y1 ) é o ponto que deve
ser “somado” à nova origem para se obter o novo ponto (x, y).

P1
y y1

b x1
O

0 a x x

Figura 5: Coordenadas relativas.

Régis , 2011 http://latexbr.blogspot.com/ 3


Exemplo 4: ponto
\ fill (2 ,1) circle (1 mm ) node [ below left ] { O };
\ fill [ blue ] (2 ,1) +(1 ,1) circle (1 mm ) node [ above right ] {$ P _1$};

P1
2

1
O

0 1 2 3 4 x

Figura 6: Ponto em coord. relativa

Repare que o ponto (2, 1) é a nova origem e (1, 1) é o ponto que somado à nova origem resulta no
ponto (3, 2).

Exemplo 5: reta
Escreva o código a seguir:
\ draw [ - > , blue ] (2 ,1) -- +(2 ,1) ;
Comparando com a reta desenhada anteriormente a única diferença é que agora a nova origem é o
ponto (2, 1) e a reta vai até o ponto (4, 2). Ou seja, o comprimento da reta é o mesmo, porém a reta
se deslocou duas unidades para a direita e uma unidade para cima.

3
P2
2
P1
1
O

0 1 2 3 4 x

Figura 7: Reta em coord. relativa

Régis , 2011 http://latexbr.blogspot.com/ 4


Este recurso é bastante interessante quando se deseja desenhar a mesma figura em várias posições
diferentes. Veja um exemplo:
\ draw [ - > , blue ] (2 ,1) -- +(2 ,1) ;
\ draw [ - > , blue ] (3 ,3) -- +(2 ,1) ;
\ draw [ - > , blue ] (1 ,4) -- +(2 ,1) ;

0 1 2 3 4 x

Figura 8: Retas em coord. relativa

Exemplo 6: retângulo
Vamos desenhar o mesmo retângulo da figura anterior, só que agora nos preocuparemos com seu
comprimento e sua altura.
\ draw [ blue ] (1 ,1) rectangle +(3 ,2) ;

O ponto inicial é o mesmo P1 dado por (1, 1) só que agora o comprimento é 3 unidades e a altura
é 2 unidades.
y

4
P2
3

2 2

1
P1
3
0 1 2 3 4 x

Figura 9: Retângulo em coord. relativa

Régis , 2011 http://latexbr.blogspot.com/ 5


Diferença entre + e ++
Em coordenadas relativas podemos usar os sı́mbolos + e ++. A diferença é que enquanto ++
atualiza as coordenadas em relação ao último ponto, o + não atualiza, permanecendo sempre em
relação ao ponto inicial da figura.
Veja na figura a seguir que com o uso de ++ a coordenada é sempre relativa ao último ponto da
figura.
\ draw [ - > , blue ] (2 ,1) -- ++(1 ,0) -- ++(0 , -1) -- ++( -1 ,0) -- ++(0 ,1) ;

y y y y

3 3 3 3

2 2 2 2
P1 P2 P2 P1
1 1 1 1
P3 P4 P3 P4

0 1 2 3 x 0 1 2 3 x 0 1 2 3 x 0 1 2 3 x

Figura 10: Figura desenhada com ++.

No primeiro quadro a figura começa tendo P1 como origem e P2 como ponto final da linha;
No segundo quadro a origem é P2 e o ponto final é P3 ;
No terceiro quadro a origem é P3 e o ponto final é P4 ;
E no quarto quadro a origem é P4 e o ponto final é P1 .

Na figura seguinte o uso de + tem sempre o ponto (2, 1) como ponto de referência.
\ draw [ - > , blue ] (2 ,1) -- +(1 ,0) -- +(0 , -1) -- +( -1 ,0) -- +(0 ,1) ;

y y y y

3 3 3 3
P5
2 2 2 2
P1 P2 P1 P1 P1
1 1 1 P4 1
P3

0 1 2 3 x 0 1 2 3 x 0 1 2 3 x 0 1 2 3 x

Figura 11: Figura desenhada com +.

O ponto P1 em (2, 1) permanece fixo e os demais pontos têm sempre o ponto P1 como origem.

Régis , 2011 http://latexbr.blogspot.com/ 6


Coordenadas Polares
O sistema de coordenadas polares consiste de uma distância (ou raio) e da medida de um ângulo
em relação a um ponto fixo O chamado de pólo e uma semi-reta fixa chamada de eixo polar.

P (α : r)

O eixo polar A

Figura 12: Coordenadas polares.

O ponto P fica bem determinado através do par ordenado (α : r), onde α é a medida (em graus)
do ângulo orientado AOP, e r é a distância (ou raio) entre a origem e o ponto P . Note que o ângulo
segue o sentido anti-horário em relação ao ponto O.
Veja a seguir como é uma grade em coordenadas polares.

100◦ 90◦ 80◦


110◦ 70◦
120◦ 60◦

130◦ 50◦
4
140◦ 40◦

3
150◦ 30◦

2
160◦ 20◦

170◦ 1 10◦

180◦ 360◦
−4 −3 −2 −1 0 1 2 3 4

190◦ −1 350◦

200◦ −2 340◦

210◦ 330◦
−3

220◦ 320◦
−4
230◦ 310◦

240◦ 300◦
250◦ 290◦
260◦ 270◦ 280◦

Figura 13: Grade em coordenadas polares.

Régis , 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) ;

y y

2 P 2

P 3 135◦
1 2 1
45◦

0 x 0 x
−2 −1 1 2 −2 −1 1 2

−1 −1

−2 −2

(a) Reta no primeiro quadrante (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) ;

y y

2 2

1 1
210◦
315◦

0 x 0 x
−2 −1 1 2 −2 −1 1 2
2
P −1 −1
3

−2 −2
P

(a) Reta no terceiro quadrante (b) Reta no quarto quadrante

Figura 15: Retas em coordenadas polares

Para o último exemplo podemos escrever \draw (0,0) -- ++(-45:3); ou seja, usando o sinal de
− o ângulo muda para o sentido horário.

Régis , 2011 http://latexbr.blogspot.com/ 8


Exemplos 11: Combinando coordenadas relativas e coordenadas polares
Para 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) ;

P
2 2

45◦
1

0 1 2 3 x

Figura 16: Reta em coordenadas polares com origem num outro ponto.

A reta inicia-se em (2, 1) e possui um ângulo de 45◦ e 2 cm de comprimento.

Exemplos 12 e 13: Losango e Cı́rculo com raio


Um exemplo ideal para a utilização desta técnica é quando se deseja desenhar um losango de 3 cm
de comprimento e inclinação de 60◦ .
\ draw [ fill = yellow ] (0 ,0) -- (3 ,0) -- ++(60:2) -- ++( -3 ,0) -- cycle ;
Ou um cı́rculo de raio unitário com indicação do raio.
\ begin { tikzpicture }[ >= latex ]
\ draw (2 ,1) circle (1) ;
\ fill (2 ,1) circle (1 pt ) ;
\ draw [ - >] (2 ,1) -- ++(45:1) ;
\ end { tikzpicture }
Note que o cı́rculo está fora da origem.

60◦
3
(a) Losango (b) Cı́rculo com raio

Figura 17: Figuras em coordenadas polares

Régis , 2011 http://latexbr.blogspot.com/ 9


Operações algébricas com coordenadas
O TikZ calcula valores diretamente na entrada das coordenadas graças à ’biblioteca’ calc.
Exemplo 14: Soma e subtração de coordenadas
\ fill [ red ] (2 ,1) circle (2 pt ) ;
\ fill [ blue ] (2+1 ,1+1) circle (2 pt ) ;
\ fill [ blue ] (2 -1 ,1 -1) circle (2 pt ) ;

O ponto P2 foi obtido pela soma de 1 unidade em cada uma das entradas da coordenada. E o
ponto P3 pela subtração de 1 unidade em cada uma das entradas.

P2
2

P1
1

P3
0 1 2 3 x

Figura 18: Soma e subtração de coordenadas

Exemplo 15: Multiplicação e divisão de coordenadas


\ fill [ red ] (2 ,1) circle (2 pt ) ;
\ fill [ blue ] (2*2 ,1*2) circle (2 pt ) ;
\ fill [ blue ] (2/2 ,1/2) circle (2 pt ) ;

O ponto P2 foi obtido pela multiplicação por 2 em cada uma das entradas da coordenada, resultando
assim no ponto (4, 2). E o ponto P3 pela divisão por 2 em cada uma das entradas, resultando no ponto
(1, 0.5).

P2
2

P1
1
P3

0 1 2 3 x

Figura 19: Multiplicação e divisão de coordenadas

Régis , 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 divisão.


\ node [ below ] at (3/2 ,0) {$3$};
\ node at (45/2:1) {$60^\ circ $};

60◦

Figura 20: Losango com medidas.

Nomeando coordenadas
Um recurso muito interessante no TikZ é a possibilidade de usar pontos nomeados. Para nomear
uma 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 podemos
desenhar uma reta do ponto A ao ponto B.
\ draw ( A ) -- ( B ) ;

Figura 21: Coordenadas nomeadas

Veja o código 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 opções label=left:A e label=right:B colocam uma legenda a esquerda de A e a direita de
B, respectivamente.

Régis , 2011 http://latexbr.blogspot.com/ 11


Também é possı́vel desenhar um ponto e nomeá-lo logo na sequência. 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 triângulo.
\ draw ( A ) -- ( C ) ;

Veja o código 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 C

Figura 22: Coordenadas nomeadas

Exemplo 17: Reta paralela com comprimento definido


No código a seguir vamos desenhar uma reta paralela aos pontos A e B começando por C, que
está a uma distância de 3 mm 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 (1 pt ) ;
\ fill [ blue ] ( B ) circle (1 pt ) ;
\ draw [ - > , red ] ( A ) ++(0 ,3 mm ) coordinate [ label = C ] ( C ) -- ++(1 ,0) ;
\ fill [ red ] ( C ) circle (1 pt ) ;
\ end { tikzpicture }

Observe na linha \draw[->,red] (A)++(0,3mm) coordinate[label=C] (C) -- ++(1,0); que o


ponto (A)++(0,3mm) é chamado de C. Somente dessa forma que ele pode ser computado para a
coordenada onde se encontra, e a partir dai ser usado como ponto C.

A B

Figura 23: Reta paralela com comprimento definido

Régis , 2011 http://latexbr.blogspot.com/ 12


Exemplo 18
É claro que podemos usar o mesmo ponto várias vezes.
\ begin { tikzpicture }
\ coordinate ( A ) at (0 ,0) ;
\ coordinate ( B ) at (2 ,1) ;
% pontos
\ fill [ blue ] ( A ) circle (1 pt ) ( B ) circle (1 pt ) ;
% legendas
\ node [ left ] at ( A ) { A };
\ node [ right ] at ( B ) { B };
% retangulo
\ draw [ fill = yellow ] ( A ) rectangle ( B ) ;
% reta
\ draw ( A ) -- ( B ) ;
\ end { tikzpicture }

Figura 24: Exemplo de pontos nomeados

Este artigo também está disponı́vel no scribd.


Palavras-chave: TikZ, figuras, coordenadas cartesianas, coordenadas retangulares, coordenadas
relativas, coordenadas polares, posição absoluta, posição relativa

Régis , 2011 http://latexbr.blogspot.com/ 13