Sistemas de coordenadas no TikZ O TikZ trabalha com dois sistemas de coordenadas: retangulares e polares. polares. Abordar Abordaremo emoss aqui algumas formas de se desenhar figuras no TikZ usando essas coordenadas na sua posi¸c˜ aaoo absoluta e relativa .
Coordenadas Retangulares Um sistema de coordenadas retangulares ou coordenadas cartesianas no plano consiste de um par ordenado (x, y) onde x ´e a entrada referente r eferente ao eixo ei xo horizontal hor izontal e y ´e a entrada referente ao eixo e ixo vertical do plano cartesiano. cartesiano. y
P 1
1 0
2
x
Figura 1: Plano cartesiano c˜ ao No TikZ vamos interpretar em primeiro momento como coordenadas retangulares em posi¸ absoluta, visto que depois reveremos um pequena varia¸c˜ ao ao deste deste item. Em TikZ as coordena coordenadas das retangular retangulares es s˜ao ao expressas da mesma forma como a conhecemos nas nota¸c˜oes oes matem´ matem´ aticas, aticas, entre entre parˆ pa rˆente entese ses: s: (x,y) As entradas x e y aceitam qualquer valor real. Obs: Por padr˜ ao ao 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 .4 mm, etc.
R´egis
2011
http://latexbr.blogspot.com/
1
Vejamos alguns exemplos: Exemplo 1: ponto
Vamos desenhar um ponto na coordenada coordenada (2 , 1), para isso digite: \ fill [ b l ue ue ] ( 2 , 1) 1) c i rc rc l e ( 1 mm m m ) node [ a b ov ov e r i gh gh t ] { $ P _1 _ 1 $ }; };
node[above e right] right] {$P_1$} {$P_1$} ´ O trecho node[abov e para inserir uma legenda no ponto. y
4 3 2 P 1
1 0
1
2
3
4
x
Figura 2: Ponto em coord. retangular c˜ c˜ ao ao abso ab solu luta ta ´ Note que o ponto de origem no sistema de coordenadas retangulares em posi¸ eo ponto (0, 0). Exemplo 2: reta
Para desenhar uma reta precisamos de pelo menos dois pontos. \ d r aw aw [ - > , b lu lu e ] ( 0 ,0 , 0 ) - - ( 2 , 1) 1) ;
Uma reta saindo da origem e indo at´e o ponto (2 , 1). y
4 3 2 P 2
1 P 1
0
1
2
3
4
x
Figura 3: Reta em coord. retangular
R´egis
2011
http://latexbr.blogspot.com/
2
Exemplo 3: retˆ angulo angulo
Veja no c´odigo odigo a seguir que as coordenadas de um retˆangulo s˜ ao ao dadas pelos pontos P 1 e P 2 . \ d r aw aw [ b l ue ue ] ( 1 , 1) 1) r e ct ct a ng n g l e ( 4 , 3) 3) ; y
4 P 2
3 2 1 0
P 1
1
2
3
4
x
Figura 4: Retˆangulo angulo em coord. retangular
Coordenadas Relativas As coordenadas relativas funcionam da seguinte forma: dado um ponto fixo ( a, b) em coordenadas absolutas o ponto ( x, y), em coordenadas relativas, ´e dado dad o por: 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 ). y
y b
0
P 1
y1
x1
O a
x
x
Figura 5: Coordenadas relativas.
R´egis
2011
http://latexbr.blogspot.com/
3
Exemplo 4: ponto \ fill ( 2 , 1) 1) c i rc rc l e ( 1 mm mm ) node [ b e lo lo w l e ft ft ] { O } ; \ fill [ b l ue ue ] ( 2 , 1) 1) + ( 1 , 1) 1) c i rc rc l e ( 1 mm m m ) node [ a b ov o v e r i gh gh t ] { $ P _ 1$ 1$ } ; y
4
3
P 1
2
1
O
0
1
2
3
4
x
Figura 6: Ponto em coord. relativa Repare que o ponto (2 , 1) ´e a nova origem orig em e (1 , 1) ´e o ponto que somado `a nova origem resulta no ponto (3, 2). Exemplo 5: reta Escreva o c´odigo odigo a seguir: \ d r aw aw [ - > , b lu lu e ] ( 2 ,1 , 1 ) - - + (2 (2 , 1 ) ;
Comparando com a reta desenhada anteriormente a ´unica diferen¸ca ca ´e que ago agora ra a nova origem ori gem ´e o ponto (2, 1) e a reta vai at´ e o ponto (4 , 2). Ou seja, o comprimento da reta ´e o mesmo, por´ p or´em em a reta se deslocou duas unidades para a direita e uma unidade para cima. y
4 3 P 2
2 P 1
1 0
O 1
2
3
4
x
Figura 7: Reta em coord. relativa
R´egis
2011
http://latexbr.blogspot.com/
4
Este recurso ´e bastante interessante interessante quando se deseja desenhar a mesma figura em v´arias posi¸c˜ c˜oes oes diferentes. Veja um exemplo: \ d r aw aw [ - > , b lu lu e ] ( 2 ,1 , 1 ) - - + (2 (2 , 1 ) ; \ d r aw aw [ - > , b lu lu e ] ( 3 ,3 , 3 ) - - + (2 (2 , 1 ) ; \ d r aw aw [ - > , b lu lu e ] ( 1 ,4 , 4 ) - - + (2 (2 , 1 ) ; y
4 3 2 1 0
1
2
3
x
4
Figura 8: Retas em coord. relativa Exemplo 6: retˆ angulo angulo
Vamos desenhar o mesmo retˆangulo angulo da figura anterior, s´o que agora nos preocuparemos com seu comprimento e sua altura. \ d r a w [ b l ue ue ] ( 1 , 1 ) r e c t a n g l e + ( 3 , 2 ) ;
O ponto inicial inicia l ´e o mesmo me smo P 1 dado por (1 , 1) s´o que agora o comprimento ´e 3 unidades e a altura ´e 2 unidad uni dades. es. y
4 P 2
3 2 1 0
2 P 1
3 1
2
3
4
x
Figura 9: Retˆangulo angulo em coord. relativa
R´egis
2011
http://latexbr.blogspot.com/
5
Diferen¸ ca ca entre
+
e
++
Em coordenadas coordenadas relativ relativas as podemos p odemos usar os s´ımbolos ımbolos + e ++. A diferen¸ diferen¸ca ca ´e que enquanto ++ atualiza as coordenadas em rela¸c˜ u ´ ltimo ponto, o + n˜ cao a˜o ao ultimo ao atualiza, permanecendo sempre em ao
rela¸c˜ cao a˜o ao ponto inicial da figura. Veja na figura a seguir que com o uso de ++ a coordenada coordenada ´e sempre sempre relativa relativa ao ´ultimo ultimo ponto da figura. \ d r aw aw [ - > , b lu lu e ] ( 2 ,1 , 1 ) - - + +( + ( 1 , 0) 0 ) - - + +( + ( 0 , - 1) 1) - - + +( +( - 1 , 0) 0 ) - - + +( + ( 0 , 1) 1) ;
y
y
y
y
3
3
3
3
2
2
1
1
2
2
P 1
P 2
P 2
1
P 1
1
P 3 0
1
2
x
3
0
1
2
3
P 4 x
0
1
P 3 2
3
P 4 x
0
1
2
3
x
Figura 10: Figura desenhada com ++. No primeiro quadro a figura come¸ca ca tendo P 1 como origem e P 2 como ponto final da linha; No segundo quadro a origem ´e P 2 e o ponto final ´e P 3 ; No terceiro quadro a origem o rigem ´e P 3 e o ponto po nto final ´e P 4 ; E no n o quarto qua rto quadro q uadro a origem or igem ´e P 4 e o ponto final ´e P 1 . Na figura seguinte o uso de + tem sempre o ponto (2 , 1) como ponto de referˆencia. encia. \ d r aw aw [ - > , b lu lu e ] ( 2 ,1 , 1 ) - - + ( 1 , 0 ) - - + ( 0 , - 1) 1 ) - - + ( - 1 , 0) 0 ) - - + (0 (0 , 1 ) ;
y
y
y
y
3
3
3
3
2
2
2
2
P 5 P 1
P 2
P 1
1
P 1
1
1
P 1
P 4
1
P 3 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 P 1 em (2, 1) permanece p ermanece fixo e os demais pontos p ontos tˆem em sempre o ponto p onto P 1 como origem.
R´egis
2011
http://latexbr.blogspot.com/
6
Coordenadas Polares O sistema de coordenadas polares consiste de uma distˆancia ancia (ou raio) e da medida de um ˆangulo angulo olo olo e uma semi-reta fixa chamada de eixo polar. em rela¸c˜ cao ˜ao a um ponto fixo O chamado de p´ P (α : r)
r α
eixo polar
O
A
Figura 12: Coordenadas polares. O ponto P fica bem determinado atrav´es es do par ordenado ( α : r), onde α ´e a medida (em graus) do ˆangulo angulo orientado AOP, e r ´e a dist di stˆˆancia ancia (ou raio) entre a origem e o ponto P . Note que o ˆangulo angulo ant i-ho hor´ r´ ario ar io em rela¸c˜ segue o sentido sentido antic˜ao ao ao ponto O. Veja a seguir como ´e uma grade em coordenadas p olares. ◦
100
◦
90
◦
80
◦
◦
110
70
◦
◦
120
60
◦
◦
130
50 4
◦
◦
140
40 3
◦
◦
150
30
2
◦
160
◦
20
1
◦
170
◦
10
◦
◦
180
360 −4
−3
−2
0
−1
◦
1
2
3
4 ◦
−1
190
◦
200
350
◦
340
−2
◦
◦
210
330 −3
◦
◦
220
320 −4
◦
◦
230
310 ◦
◦
240
300 ◦
◦
250
290 ◦
260
◦
270
◦
280
Figura 13: Grade em coordenadas polares.
R´egis
2011
http://latexbr.blogspot.com/
7
Vejamos alguns exemplos de retas desenhadas em coordenadas polares: Exemplos 7 e 8 \ d r aw aw ( 0 , 0) 0) - - + + (4 (4 5 :2 :2 ) ; \ d r aw aw ( 0 , 0) 0) - - + + (1 ( 1 3 5: 5: 3 ) ;
y
y
P
2
2
P 1
◦
3
135 1
2 ◦
45
−2
−1
0
1
2
x
−2
−1
0
−1
−1
−2
−2
(a) Reta no primeiro quadrante
1
x
2
(b) Reta no segundo quadrante
Figura 14: Retas em coordenadas polares Exemplos 9 e 10 \ d r aw aw ( 0 , 0) 0) - - + + (2 ( 2 1 0: 0: 2 ) ; \ d r aw aw ( 0 , 0) 0) - - + + (3 ( 3 1 5: 5: 3 ) ;
y
y
2
2
1
1
◦
210
◦
315
−2
−1
0
1
2
x
−2
−1
0
1
x
2
2
P
−1
−1
3
−2
−2
(a) Reta no terceiro quadrante
P
(b) Reta no quarto quadrante
Figura 15: Retas em coordenadas polares \draw (0,0) -- ++(-45:3) ++(-45:3); ; ou seja, usando o sinal de Para o ultimo u ´ ltimo exemplo podemos escrever \draw − o ˆangulo angulo muda para o sentido hor´ario. ario.
R´egis
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
relativ relativas as e coordenadas coordenadas polares, para isso digite: \ d r aw aw ( 2 , 1) 1) - - + + (4 (4 5 :2 :2 ) ; y
3 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 ˆangulo angulo de 45 e 2 cm de comprimento. ◦
Exemplos 12 e 13: Losango e C´ırculo com raio
Um exemplo ideal para a utiliza¸c˜ cao a˜o desta d esta t´ecnica ecnica ´e quando qu ando se deseja desenhar um losango l osango de 3 cm de comprimento e inclina¸c˜ c˜ao ao de 60 . ◦
\ d r a w [ fill = y el e l lo l o w ] ( 0 ,0 ,0 ) - - ( 3 ,0 ,0 ) - - + +( + ( 60 6 0 :2 : 2 ) - - + +( +( - 3 ,0 , 0 ) - - c yc y c le le ;
Ou um c´ırculo ırculo de raio unit´ario ario com indica¸c˜ c˜ao ao do raio. \ begin { t i k z p i c t u r e } [ > = l a t e x ] \ d r aw aw ( 2 , 1) 1) c i rc rc l e ( 1) 1) ; \ fill ( 2 , 1) 1) c i rc rc l e ( 1 pt pt ) ; \ d r aw aw [ - > ] ( 2 , 1) 1) - - + + (4 (4 5 :1 :1 ) ; \ en d { t i k z p i c t u r e }
Note que o c´ırculo est´a fora da origem.
60
◦
3 (a) Losango
(b) C´ırculo com raio
Figura 17: Figuras em coordenadas polares
R´egis
2011
http://latexbr.blogspot.com/
9
Opera¸ c˜ coes o ˜es alg´ ebricas ebrica s com coordena co ordenadas das O TikZ calcula valores valores diretamen diretamente te na entrada entrada das coordenadas coordenadas gra¸cas cas `a ’biblioteca’ calc . Exemplo 14: Soma e subtra¸c˜ c˜ao ao de coordenadas \ fill [ r ed e d ] ( 2 , 1) 1) c i rc rc l e ( 2 pt pt ) ; \ fill [ b l ue ue ] ( 2 +1 +1 , 1 + 1) 1) c i rc rc l e ( 2 pt pt ) ; \ fill [ b l ue ue ] ( 2 -1 - 1 , 1 - 1) 1) c i rc rc l e ( 2 pt pt ) ;
O ponto P 2 foi obtido obtido pela soma de 1 unidade unidade em cada uma das entrad entradas as da coorden coordenada ada.. E o P ponto 3 pela subtra¸c˜ c˜ao ao de 1 unidade em cada uma das entradas. y
3 P 2
2 P 1
1 P 3
0
1
2
x
3
Figura 18: Soma e subtra¸c˜ c˜ao ao de coordenadas Exemplo 15: Multiplica¸c˜ c˜ao ao e divis˜ao ao de coordenadas coordenadas \ fill [ r ed e d ] ( 2 , 1) 1) c i rc rc l e ( 2 pt pt ) ; \ fill [ b l ue ue ] ( 2 *2 *2 , 1 * 2) 2) c i rc rc l e ( 2 pt pt ) ; \ fill [ b l ue ue ] ( 2 /2 /2 , 1 / 2) 2) c i rc rc l e ( 2 pt pt ) ;
O ponto P 2 foi obtido pela multiplica¸c˜ cao a˜o por 2 em cada uma das entradas da coordenada, resultando assim no ponto (4 , 2). E o ponto P 3 pela divis˜ ao por 2 em cada uma das entradas, resultando no ponto ao (1, 0.5). y
3 P 2
2 P 1
1
0
P 3
1
2
3
x
Figura 19: Multiplica¸c˜ c˜ao ao e divis˜ao ao de coordenadas coordenadas
R´egis
2011
http://latexbr.blogspot.com/
10
Exemplo 16: Medidas no losango \ begin { t i k z p i c t u r e } [ > = l a t e x ] \ d r a w [ fill = y el e l lo l o w ] ( 0 ,0 ,0 ) - - ( 3 ,0 ,0 ) - - + +( + ( 60 6 0 :2 : 2 ) - - + +( +( - 3 ,0 , 0 ) - - c yc y c le le ; \ d r aw aw [ - > ] ( 0 , 0) 0) + + (. (. 5 , 0 ) a rc r c ( 0 :6 : 6 0 :. :. 5 ) ; \ node [ b e lo l o w ] a t ( 3/ 3 / 2 , 0) 0 ) { $ 3$ 3$ } ; \ node a t ( 4 5 / 2: 2: 1 ) { $ 6 0 ^\ ^\ c i r c $ } ; \ en d { t i k z p i c t u r e }
Repare nas linhas a seguir o uso do operador de divis˜ao. \ node [ b e lo l o w ] a t ( 3/ 3 / 2 , 0) 0 ) { $ 3$ 3$ } ; \ node a t ( 4 5 / 2: 2: 1 ) { $ 6 0 ^\ ^\ c i r c $ } ;
60
◦
3
Figura 20: Losango com medidas.
Nomeando coordenadas Um recurso muito interessante no TikZ ´e a possibilidade de usar pontos nomeados. Para nomear uma coordenada escreva: \ c o o rd rd i na n a t e ( A ) a t ( 0 , 0) 0) ; \ c o o rd rd i na n a t e ( B ) a t ( 2 , 1) 1) ;
Agora temos o ponto A na coordenada (0 , 0) e o ponto B na coordenada (2 , 1). Ago Agora ra podemos podemos A B desenhar uma reta do ponto ao ponto . \ d ra ra w ( A ) - - ( B ) ;
B A Figura Figura 21: Coordenadas Coordenadas nomeadas nomeadas Veja o c´odigo odigo completo: \ begin { t i k z p i c t u r e } \ c o o rd r d i na n a t e [ l ab ab e l = le l e ft f t : A ] ( A ) a t ( 0 , 0) 0) ; \ c o o rd r d i na n a t e [ l ab ab e l = ri r i g ht ht : B ] ( B ) a t ( 2 , 1) 1) ; \ d ra ra w ( A ) - - ( B ) ; \ en d { t i k z p i c t u r e }
As op¸c˜ c˜oes oes label=left:A e label=right:B colocam uma legenda a esquerda de A e a direita de B, respectivamente.
R´egis
2011
http://latexbr.blogspot.com/
11
Tamb´ em em ´e poss´ po ss´ıvel ıvel desenha des enharr um ponto po nto e nome´ nome ´a-lo a-lo logo l ogo na sequˆencia. encia. Digite: \ d r aw aw ( A ) - - ( B ) - - ( 4 , 0) 0) c o or o r d in i n a te t e [ l a b el el = r i gh gh t : C ] ( C ) ;
Acabamos de nomear o ponto C na coordenada (4 , 0) diretamen diretamente te no desenho desenho da reta. Agora podemos fechar o triˆangulo. angulo. \ d ra ra w ( A ) - - ( C ) ;
Veja o c´odigo odigo completo: \ begin { t i k z p i c t u r e } \ c o o rd r d i na n a t e [ l ab ab e l = le l e ft f t : A ] ( A ) a t ( 0 , 0) 0) ; \ c o o rd r d i na n a t e [ l ab ab e l = ab a b o ve ve : B ] ( B ) a t ( 2 , 1) 1) ; \ d r aw aw ( A ) - - ( B ) - - ( 4 , 0) 0) c o or o r d in i n a te t e [ l a b el el = r i gh gh t : C ] ( C ) ; \ d ra ra w ( A ) - - ( C ) ; \ en d { t i k z p i c t u r e }
B A
C
Figura Figura 22: Coordenadas Coordenadas nomeadas nomeadas Exemplo 17: Reta paralela paralela com compriment comprimentoo definido definido
No c´odigo odigo a seguir vamos desenhar uma reta paralela aos pontos A e B come¸cando cando por C, que A mm cm est´ a a uma distˆancia ancia de 3 de , e com comprimento de 1 . \ begin { t i k z p i c t u r e } \ c o o rd r d i na n a t e [ l ab ab e l = le l e ft f t : A ] ( A ) a t ( 1 , 1) 1) ; \ c o o rd r d i na n a t e [ l ab ab e l = ri r i g ht ht : B ] ( B ) a t ( 2 , 1) 1) ; \ fill [ b l ue ue ] ( A ) c i rc rc l e ( 1 pt pt ) ; \ fill [ b l ue ue ] ( B ) c i rc rc l e ( 1 pt pt ) ; \ d r aw aw [ - > , re r e d ] ( A ) + +( +( 0 , 3 mm m m ) c o or o r d in i n a te t e [ l a b el el = C ] ( C ) - - + +( + ( 1 , 0) 0) ; \ fill [ r e d ] ( C ) c i rc rc l e ( 1 pt pt ) ; \ en d { t i k z p i c t u r e }
\draw[->,red ,red] ] (A)++(0,3 (A)++(0,3mm) mm) coordinat coordinate[la e[label=C bel=C] ] (C) -- ++(1,0); ++(1,0); que o Observe na linha \draw[-> ponto (A)++(0,3mm) ´e chamado chama do 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.
C A
B
Figura 23: Reta paralela com comprimento definido
R´egis
2011
http://latexbr.blogspot.com/
12
Exemplo 18
´ claro que podemos usar o mesmo ponto v´arias vezes. E
\ begin { t i k z p i c t u r e } \ c o o rd r d i na n a t e ( A ) a t ( 0 , 0) 0) ; \ c o o rd r d i na n a t e ( B ) a t ( 2 , 1) 1) ; %pontos \ fill [ b l ue ue ] ( A ) c i rc rc l e ( 1 p t ) ( B ) c i rc rc l e ( 1 pt pt ) ; %legendas \ node [ l ef ef t ] a t ( A ) { A } ; \ node [ r ig i g ht h t ] a t ( B ) { B }; }; %retangulo \ d r a w [ fill = y e ll l l o w ] ( A ) r e ct c t a ng ng l e ( B ) ; %reta \ d ra ra w ( A ) - - ( B ) ; \ en d { t i k z p i c t u r e }
B
A Figura 24: Exemplo de pontos nomeados Este artigo tamb´em em est´a dispon disp on´´ıvel no scribd. scrib d. PalavrasPalavras-cha chave: ve: TikZ, figuras, figuras, coordenadas coordenadas cartesiana cartesianas, s, coordenadas coordenadas retangular retangulares, es, coordenadas coordenadas relativas, coordenadas polares, posi¸c˜ cao ˜ao absoluta, posi¸c˜ c˜ao ao relativa
R´egis
2011
http://latexbr.blogspot.com/
13