Re: etichette per linee curve

#90825
Up
0
Down
::


Questo è sicuramente uno di quei casi in cui utilizzare il mio [tt]insert node[/tt] torna comodo. La sua definizione è: `
\tikzset{insert node/.style args={#1 at #2}{
postaction=decorate,
decoration={
markings,
mark= at position #2
with
{
#1
}
}
}
}
` Richiede la libreria [tt]decorations.markings[/tt] e permette di “piazzare” un nodo in qualsiasi punto del percorso. Infatti, è ben noto che in alcuni tipi di path, non è sempre possibile con il metodo normale: arc è uno di quei casi. Trovi la motivazione e un metodo di soluzione simile al mio qui.

Il mio metodo, rispetto al link, è più generale: in [tt]insert node[/tt] si può inserire un nodo con opzioni qualsiasi. Per il resto, il concetto di posizionamento è del tutto simile alla chiave [tt]pos=[/tt]: l’inizio del percorso è 0, la fine 1; scegli un valore intermedio che ti soddisfi . Nel tuo caso: `
\draw[->,insert node={\node[above] {$\beta$};} at 0.7] (\sraggio/\xy,0 ) arc (0:\angolon:\sraggio/\xy);
`

Il codice completo (ho tolto qualche libreria inutile e fatto qualche semplificazione): `
\documentclass[a4paper,11pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[upright]{fourier}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{arrows,decorations,decorations.markings}

\tikzset{insert node/.style args={#1 at #2}{
postaction=decorate,
decoration={
markings,
mark= at position #2
with
{
#1
}
}
}
}

\begin{document}
\begin{tikzpicture}[>=triangle 45]
%\tikzset{samples=600}
\pgfmathsetmacro{\raggio}{2};
\pgfmathsetmacro{\angolob}{50};
\pgfmathsetmacro{\angolo}{\angolob};
\pgfmathsetmacro{\angolon}{\angolob+180};
\pgfmathsetmacro{\y}{3};
\pgfmathsetmacro{\xy}{4};
%\pgfmathsetmacro{\XM}{\raggio};
\pgfmathsetmacro{\sraggio}{1.9*\raggio};
\coordinate [label=below right:$O$] (oo) at (0,0);
\draw[->] (-\raggio-1,0) — (\raggio+1,0) node[above] {$x$} ;
\draw[->] (0,-\raggio-1) — (0,\raggio+1) node[above] {$y$} ;
\draw (\raggio,-\raggio-1) — (\raggio,\raggio+1) ;
\draw (oo) circle (\raggio) ;
\coordinate[label=above:$P$] (P) at ({\raggio*cos(\angolo)},{\raggio*sin(\angolo)});
\coordinate[label=below:$Q$] (Q) at ({\raggio*cos(\angolon)},{\raggio*sin(\angolon )});
\coordinate[label=below right:$T$] (T) at (\raggio,{\raggio*tan(\angolon )});
%\coordinate [label=above left:$M$] (M) at ($((-\raggio,0)!(\angolo:\raggio)!(\raggio,0)$);
\coordinate[label=above right:$y_1$] (X1) at (0,{\raggio*sin(\angolo)});
\coordinate[label=below right:$y_2$] (X2) at (0,{\raggio*sin(\angolon)});

\foreach \posto in {oo,P,Q,T,X1,X2}{
\filldraw[black,radius=1pt] (\posto) circle;
}

\foreach \sorg/\dest in {Q/P,X1/P,X2/P}
\draw[dashed](\sorg)–(\dest);

% notazione modificata di arc
\draw[->,insert node={\node

{$\alpha$};} at 0.5] (\sraggio/\y,0 ) arc[radius=\sraggio/\y,start angle=0,end angle=\angolo];

% mantenuto la stessa notazione di arc
\draw[->,insert node={\node[above] {$\beta$};} at 0.7] (\sraggio/\xy,0 ) arc (0:\angolon:\sraggio/\xy);

\foreach \sorg/\dest in {oo/P,oo/Q,T/Q}
\draw[dashed](\sorg)–(\dest);
\end{tikzpicture}
\end{document}
`

Ciao
Claudio

Go to top