Desenhando No Tikz Com Imagem de Refer en CIA

7
Desenhando no TikZ com Imagem de Referˆ encia Este t´ opico ´ e uma continua¸ ao de Curvas no TikZ e ´ e baseado no artigo tikz for image analysis de Hans Meine. A id´ eia ´ e usar uma imagem como referˆ encia para junto com o TikZ e o KTikZ redesenh´ a-la veto- rialmente no LaTeX. Aten¸c˜ ao: Esta t´ ecnica com o KTikZ s´ e poss´ ıvel no Windows por oferecer um previem em tempo real. ao sei por que motivo n˜ ao funciona no Linux. Como uma alternativa para o Linux podemos usar o TeXMaker. Mas neste caso devemos inserir o c´ odigo completo e compilar, ou seja: \documentclass{article} \usepackage{tikz} \ begin {document} \ begin {tikzpicture} %imagem aqui \ end {tikzpicture} \ end {document} Vamos considerar que vocˆ e usar´ ao Windows com o QTikZ instalado, ent˜ ao fa¸ ca o seguinte: 1. Abra o QTikZ; 2. Escreva o seguinte c´ odigo: %definicao de largura e escala da imagem \newlength\imagewidth \newlength\imagescale %tamanho da imagem na tela \pgfmathsetlength{\imagewidth}{10cm} %escala da imagem para o desenho vetorial \pgfmathsetlength{\imagescale}{\imagewidth/100} %ajuste da escala e direcao do eixo y \ begin {tikzpicture}[x=\imagescale,y=\imagescale] %posicione a imagem \ node [anchor=south west,inner sep=0pt,outer sep=0pt] at (0,0) {\includegraphics[width=\imagewidth]{nome_da_imagem}}; %aqui comeca o desenho %grade \draw[lightgray,dashed,xstep=10,ystep=10] (0,0) grid (100,77); %... \ end {tikzpicture} egis , 2011 http://latexbr.blogspot.com/ 1

Transcript of Desenhando No Tikz Com Imagem de Refer en CIA

Desenhando no TikZ com Imagemde Referencia

Este topico e uma continuacao de Curvas no TikZ e e baseado no artigo tikz for image analysis deHans Meine.

A ideia e usar uma imagem como referencia para junto com o TikZ e o KTikZ redesenha-la veto-rialmente no LaTeX.

Atencao: Esta tecnica com o KTikZ so e possıvel no Windows por oferecer um previem emtempo real. Nao sei por que motivo nao funciona no Linux. Como uma alternativa para o Linuxpodemos usar o TeXMaker. Mas neste caso devemos inserir o codigo completo e compilar, ou seja:

\documentclass{article}

\usepackage{tikz}

\begin{document}

\begin{tikzpicture}

%imagem aqui

\end{tikzpicture}

\end{document}

Vamos considerar que voce usara o Windows com o QTikZ instalado, entao faca o seguinte:

1. Abra o QTikZ;

2. Escreva o seguinte codigo:

%definicao de largura e escala da imagem

\newlength\imagewidth

\newlength\imagescale

%tamanho da imagem na tela

\pgfmathsetlength {\ imagewidth }{10cm}

%escala da imagem para o desenho vetorial

\pgfmathsetlength {\ imagescale }{\ imagewidth /100}

%ajuste da escala e direcao do eixo y

\begin{tikzpicture }[x=\ imagescale ,y=\ imagescale]

%posicione a imagem

\node[anchor=south west ,inner sep=0pt ,outer sep=0pt] at (0,0)

{\ includegraphics[width =\ imagewidth ]{nome_da_imagem }};

%aqui comeca o desenho

%grade

\draw[lightgray ,dashed ,xstep=10, ystep =10] (0,0) grid (100 ,77);

%...

\end{tikzpicture}

Regis , 2011 http://latexbr.blogspot.com/ 1

Onde \newlength define um novo valor de comprimento, \imagewidth e \imagescale sao os nomespara largura e escala da imagem, respectivamente.

\pgfmathsetlength{\imagewidth}{10cm} define o tamanho da imagem na tela e\pgfmathsetlength{\imagescale}{\imagewidth/100} e a escala para o desenho vetorial que fare-mos, no caso do QTikZ, preferi usar esta dimensao porque se usarmos um numero menor a imagemficara muito grande e dara um erro fechando o QTikZ imediatamente.

[x=\imagescale,y=\imagescale] sao as dimensoes predefinidas dentro do ambiente tikzpicture.\node[anchor=south west,inner sep=0pt,outer sep=0pt] figura inserida na parte inferior es-

querda da tela e sem distancia de separacao entre nos.\includegraphics[width=\imagewidth]{nome_da_imagem} insere a imagem. Repare que em

width=\imagewidth usamos a largura pre-definida inicialmente.

Como dito inicialmente a ideia e redesenhar uma figura vetorialmente. Podemos desenhar qualquercoisa, desde simples retangulos a figura complexas com o uso de curvas. A ideia inicial e descobriro tamanho maximo da imagem e atraves de uma grade medir as proporcoes da imagem, a partir daıcomecamos nosso desenho.

Formatos: O TikZ aceita imagens no formato: jpg, png e pdf.Nota: Ao salvar um arquivo no QTikZ ele salva com a extensao .pgf, caso voce queira inserir

a figura dentro de um arquivo tex com a opcao \input{} voce devera renomear sua figura para aextensao .tex.

1) Vamos ao primeiro desenho: baixe a imagem cubos 04.jpg, abra o QTikZ e digite o codigomencionado anteriormente. Troque o nome nome_da_imagem por cubos_04. Nao precisa digitar aextensao. Vamos salvar nosso arquivo como figcubos.

Neste caso, vamos editar a grade para verificar quais sao as medidas da imagem. E nossa gradeficou com 100,120, entao:

%definicao de largura e escala da imagem

\newlength\imagewidth

\newlength\imagescale

%tamanho da imagem na tela

\pgfmathsetlength {\ imagewidth }{10cm}

%escala da imagem para o desenho vetorial

\pgfmathsetlength {\ imagescale }{\ imagewidth /100}

%ajuste da escala e direcao do eixo y

\begin{tikzpicture }[x=\ imagescale ,y=\ imagescale ,scale =.5]

%posicione a imagem

\node[anchor=south west ,inner sep=0pt ,outer sep=0pt] at (0,0)

{\ includegraphics[width =\ imagewidth ]{cubos _04}};

%aqui comeca o desenho

%grade

\draw[lightgray ,dashed ,xstep=10, ystep =10] (0,0) grid (100 ,120);

%...

\end{tikzpicture}

Regis , 2011 http://latexbr.blogspot.com/ 2

A segunda parte do codigo e sair desenhando. Veja a resultado.

%desenho

\draw[blue] (37,5) -- (63,5) -- (63 ,31) -- (68 ,35) -- (68 ,55) -- (63 ,59) --

(91 ,59) -- (95 ,63) -- (95 ,82) -- (91 ,86) -- (63 ,86) -- (68 ,90) -- (68 ,110)

-- (58 ,118) -- (40 ,118) -- (32 ,110) -- (32 ,90) -- (37 ,86) -- (8 ,86) --

(4,82) -- (4,63) -- (8,59) -- (37 ,59) -- (32 ,55) -- (32 ,35) -- (37 ,31) --

cycle;

\draw[blue ,dashed] (37 ,31) rectangle ++(26 ,28);

\draw[blue ,dashed] (37 ,86) rectangle ++(26 ,28);

\draw[blue ,dashed] (8,59) -- ++(0 ,27);

\draw[blue ,dashed] (37 ,59) -- ++(0 ,27);

\draw[blue ,dashed] (63 ,59) -- ++(0 ,27);

\draw[blue ,dashed] (91 ,59) -- ++(0 ,27);

\end{tikzpicture}

Ao final voce pode querer reduzir a escala e outras configuracoes para que a figura fique bemajustada na sua pagina. Neste caso, usei scale=.5 e tirei os line width.

(a) cubos 04 (b) figcubos

Figura 1: cubos redesenhados.

Veja o video desenhando no latex com tikz no youtube.

Regis , 2011 http://latexbr.blogspot.com/ 3

2) Agora baixe Carbon mtb frame carbon mountain bike frame FM003 3k.jpg. Troque o nomenome_da_imagem por Carbon_mtb_frame_carbon_mountain_bike_frame_FM003_3k. Vamos salvarnosso arquivo como figbike. Neste caso, a grade ficara com 100,80.

%definicao de largura e escala da imagem

\newlength\imagewidthb

\newlength\imagescaleb

%tamanho da imagem na tela

\pgfmathsetlength {\ imagewidthb }{10cm}

%escala da imagem para o desenho vetorial

\pgfmathsetlength {\ imagescaleb }{\ imagewidthb /100}

%ajuste da escala e direcao do eixo y

\begin{tikzpicture }[x=\ imagescaleb ,y=\ imagescaleb ,scale =.7]

%posicione a imagem

\node[anchor=south west ,inner sep=0pt ,outer sep=0pt] at (0,0)

{\ includegraphics[width =\ imagewidthb ]{ Carbon_mtb_frame_carbon_mountain_bike_

frame_FM 003_3k}};

%aqui comeca o desenho

%grade

\draw[lightgray ,dashed ,xstep=10, ystep =10] (0,0) grid (100 ,80);

%desenho

\draw[fill=red ,even odd rule] (6,74) -- (.5 ,58.5) -- (6 ,56.5) -- (6.7 ,58.5) --

(12 ,54) -- (49 ,7.5) -- (57 ,7.5) to[out=-45,in =180] (62 ,6.7) --

(70 ,7.1) to[out=12,in=180] (86 ,7.8) --

(100 ,7.8) -- (95 ,17) -- (88 ,25) -- (83.7 ,32) --

(82.7 ,33.4) to[out=145,in=-45] (76.5 ,40)

to[out=140,in=-45] (71.8 ,44)

-- (68 ,48.4) to[out=130,in=-110] (68 ,53.7)

-- (64.5 ,55) to[out=250,in=-30] (61 ,53.4)

-- (11 ,70.2) -- (11.5 ,71.5) -- cycle

[rounded corners =6mm] (10 ,66) -- (50 ,15) -- (62.5 ,48.5) -- cycle

[rounded corners =4mm] (52.5 ,11) -- (97 ,10) -- (65.5 ,47) -- cycle;

\draw[fill=gray] (50.6 ,8.7) circle (2.7mm);

\end{tikzpicture}

Atencao: Voce nao pode ter duas figuras com a mesma variavel \newlength (caso voce coloqueas duas dentro de um arquivo tex), entao de um nome diferente para cada um, no caso desta segundafigura usei \imagewidthb e \imagescaleb. E no nome nao pode ter numeros.

(a) Car-bon mtb frame carbon mountain bike frame FM003 3k

(b) figbike

Figura 2: bike

Regis , 2011 http://latexbr.blogspot.com/ 4

3) Agora comeca a “brincadeira”! Vamos comecar a desenhar com curvas. Pode nao ser muitofacil e pode demorar um pouco, mas o resultado e o que importa. Baixe design5b.png. O nomesera design5b. Vamos salvar nosso arquivo como figdesign5b. E a grade ficara com 70,30. Vamosdesenhar somente a figura verde.

As vezes pode ser necessario reduzir o tamanho da imagem, como neste caso onde a imagem ficou\includegraphics[width=.7\imagewidthd].

Baixe o codigo de figdesign5b.tex.

(a) design5b (b) figdesign5b

Figura 3: Design de produtos.

4) Baixe hand-1.jpg. O nome sera hand-1. Vamos salvar nosso arquivo como fighand. E a gradesera 400,600.

Veja o video Desenhando uma mao no LaTeX com TikZ no youtube.Baixe o codigo de fighand.tex.

(a) hand-1 (b) fighand

Figura 4: Mao

Regis , 2011 http://latexbr.blogspot.com/ 5

5) Baixe audi 2.jpg. O nome sera audi_2. Vamos salvar nosso arquivo como figaudi. E a gradeficara com 90,60.

Baixe o codigo figaudi.tex.

(a) audi 2 (b) figaudi

Figura 5: Modelo de design

6) Baixe femur.jpg. O nome sera femur. Vamos salvar nosso arquivo como figfemur. E a gradeficara com 500,1500.

Veja o video Desenhando um osso no LaTeX com TikZ no youtube.Baixe o codigo figfemur.tex.

(a) femur (b) figfemur

Figura 6: Femur

Regis , 2011 http://latexbr.blogspot.com/ 6

7) Baixe Vector-Girl-Face-Design full.jpg. O nome sera Vector-Girl-Face-Design_full. Vamossalvar nosso arquivo como figVector-Girl-Face-Design. E a grade ficara com 1300,1000.

Baixe o codigo figVector-Girl-Face-Design.tex.

(a) Vector-Girl-Face-Design full (b) figVector-Girl-Face-Design

Figura 7: Moca

8) Baixe logo copa 2014 2.jpg. O nome sera logo_copa_2014_2. Vamos salvar nosso arquivo comofiglogo copa 2014. E a grade ficara com 600,700.

Veja o video Desenhando logo da copa 2014 no LaTeX com TikZ no youtube.Baixe o codigo figlogo copa 2014.tex.

(a) logo copa 2014 2 (b) figlogo copa 2014

Figura 8: Logo Copa 2014

Regis , 2011 http://latexbr.blogspot.com/ 7