Re: Rotazione in TikZ

#73588
Up
0
Down
::

Marco87″ post=72723Ciao a tutti,

provando a disegnare con [tt]TikZ[/tt] l’immagine che potete vedere qui mi sono scontrato con alcuni problemi. L’immagine è stata ottenuta ruotando rispetto al punto “A” di un angolo alpha. Del punto “A”, in [tt]TikZ,[/tt] non ne conosco le coordinate, ma l’ho determinato come intersezione di due [tt]path.[/tt] Quello che vorrei disegnare in [tt]TikZ[/tt] è la parte in nero. I punti in blu sono il punto “A” e i punti a cui vorrei “ancorare” le etichette.

  1. Se scrivo:
    `\documentclass[a4paper,11pt,extrafontsizes,twoside,openright]{memoir}

    \usepackage{etextools}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage[italian]{babel}
    \usepackage{microtype}

    \usepackage{xcolor}
    \usepackage{tikz}
    \usetikzlibrary{arrows}
    \usetikzlibrary{backgrounds}
    \usetikzlibrary{calc}
    \usetikzlibrary{intersections}
    \usetikzlibrary{positioning}
    \usetikzlibrary{shadows}
    \usetikzlibrary{shapes}
    \usetikzlibrary{through}

    \begin{document}

    \begin{tikzpicture}
    \coordinate (A) at (0,0);
    \coordinate (B) at (2,0);
    \coordinate (C) at (2,2);
    \coordinate (D) at (0,2);
    \draw [rotate around={-45:($(A)!.5!(D)$)}] (A) rectangle (C);
    \end{tikzpicture}

    \end{document}`
    Ciò che ottengo non è affatto un rettangolo ruotato in senso orario di 45 gradi;

  2. Se scrivo un codice del tutto simile a quello sopra, ma in coordinate espresse esplicitamente di volta in volta, come questo:
    `\begin{tikzpicture}
    \coordinate (A) at (0,0);
    \coordinate (B) at (2,0);
    \coordinate (C) at (2,2);
    \coordinate (D) at (0,2);
    \draw [rotate around={-45:(1,0)}] (0,0) — (2,0);
    \draw [rotate around={-45:(1,0)}] (2,0) — (2,2);
    \draw [rotate around={-45:(1,0)}] (2,2) — (0,2);
    \draw [rotate around={-45:(1,0)}] (0,2) — (0,0);
    \draw

    (2.3,0) — (2.3,2);
    \draw [->,rotate around={-45:(1,0)}] (2.6,1) — (4.6,1);
    \coordinate [label=above:$\tau$,rotate around={-45:(1,0)}] (tau) at (2.3,0);
    \coordinate [label=above:$\sigma$,rotate around={-45:(1,0)}] (sigma) at (3.6,1);
    \end{tikzpicture}`
    ottengo un corretta rotazione degli elementi disegnati (in realtà il quadrato non è disegnato correttamente, basta guardare gli spigoli…), ma le etichette sembrano andare dove vogliono.

Evidentemente non ho capito bene come gestire le rotazioni in [tt]TikZ.[/tt] Qual è il modo corretto per disegnare la figura di cui ho fornito il link?

Grazie mille e ciao,
Marco.

Ciao,

hai provato ad inserire la rotazione come opzione dell’ambiente?

`
\begin{tikzpicture}[rotate=..]
`
Questo dovrebbe far si che tutti gli elementi seguano quel tipo di rotazione. Trovi un esempio in cui l’ho usata qui (e routa sia le label che il segmento usato come box).

Ciao
Claudio

Go to top