- Questo topic ha 6 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 14 anni, 9 mesi fa da
Elrond.
-
CreatoreTopic
-
11 Dicembre 2011 alle 11:33 #67509::
Il codice è questo
`
\usetikzlibrary{shapes,arrows,trees,positioning,through}
\usetikzlibrary{calc}
\def\raggio{2cm};
\begin{tikzpicture}
\coordinate [label=$C$] (C) at (0,0);
\node (D) at (1,2) {};
\draw (C)[draw] circle (\raggio);
\draw (C) – – ($ (C)!\raggio!(D) $);
\end{tikzpicture}
`
Vorrei mettere una lettera nel punto di intersezione
tra il raggio e la circonferenza.
Ho trovato che tick è in grado di trovare il punto di
intersezione tra due rette ma è il grado di farlo con una circonferenza e una retta?
grazie
claudio
-
CreatoreTopic
-
AutoreRisposte
-
-
11 Dicembre 2011 alle 11:43 #67510::
`\usetikzlibrary{shapes,arrows,trees,positioning,through}
\usetikzlibrary{calc}
\def\raggio{2cm};
\begin{tikzpicture}
\coordinate [label=$C$] (C) at (0,0);
\node (D) at (1,2) {};
\coordinate [label=$D$] (D) at (1,2);
\draw (C)[draw] circle (\raggio);
\draw (C) – – ($ (C)!\raggio!(D) $);
\draw (0,0);
\end{tikzpicture}`Intendi questo?
-
11 Dicembre 2011 alle 12:33 #67511::
claudio” post=66525Il codice è questo
`
\usetikzlibrary{shapes,arrows,trees,positioning,through}
\usetikzlibrary{calc}
\def\raggio{2cm};
\begin{tikzpicture}
\coordinate [label=$C$] (C) at (0,0);
\node (D) at (1,2) {};
\draw (C)[draw] circle (\raggio);
\draw (C) – – ($ (C)!\raggio!(D) $);
\end{tikzpicture}
`
Vorrei mettere una lettera nel punto di intersezione
tra il raggio e la circonferenza.
Ho trovato che tick è in grado di trovare il punto di
intersezione tra due rette ma è il grado di farlo con una circonferenza e una retta?
grazie
claudioCiao,
secondo me questo è uno dei casi in cui sarebbe meglio usare PGF con il comando \pgfintersectionofpaths{path 1}{path 2}. Lo trovi nelle pagine 576 e 577 del pgfmanual versione October 25, 2010 (quella che puoi leggere con texdoc tikz) e richiede la libreria intersections.
Ciao
Claudio
-
11 Dicembre 2011 alle 12:39 #67512::
grufolando qua e la
ho scritto il seguente codice
`
\usetikzlibrary{shapes,arrows,trees,positioning,through,intersections}
\usetikzlibrary{calc}
\def\raggio{2cm};
\begin{tikzpicture}
\coordinate [label=$C$] (C) at (0,0);
\node (D) at (0,2) {};
\node (F) at(1,2){};
\node (cc) [name path=cc,draw,circle through=(D)] at (C) {};
\path [name path=C–F] (C) — (F);
\path [name intersections={of=cc and C–F}];
\coordinate [label=above:$A$] (M) at (intersection-1);\path [name path=C–D] (C) — (D);
\path [name intersections={of=cc and C–D}];
\coordinate [label=above:$B$] (N) at (intersection-1);\draw (C) –(M);
\draw(C)–(N);
\end{tikzpicture}
`ma non funziona 🙁
perché le coordinate di N
non sono corrette?
Claudio
-
11 Dicembre 2011 alle 13:26 #67513::
claudio” post=66529grufolando qua e la
ho scritto il seguente codice
`
\usetikzlibrary{shapes,arrows,trees,positioning,through,intersections}
\usetikzlibrary{calc}
\def\raggio{2cm};
\begin{tikzpicture}
\coordinate [label=$C$] (C) at (0,0);
\node (D) at (0,2) {};
\node (F) at(1,2){};
\node (cc) [name path=cc,draw,circle through=(D)] at (C) {};
\path [name path=C–F] (C) — (F);
\path [name intersections={of=cc and C–F}];
\coordinate [label=above:$A$] (M) at (intersection-1);\path [name path=C–D] (C) — (D);
\path [name intersections={of=cc and C–D}];
\coordinate [label=above:$B$] (N) at (intersection-1);\draw (C) –(M);
\draw(C)–(N);
\end{tikzpicture}
`ma non funziona 🙁
perché le coordinate di N
non sono corrette?
ClaudioCredo che succeda perché C–D non interseca cc, quindi usa l’ultimo punto di intersezione conosciuto, cioè M (infatti se inverti l’ordine della determinazione dei punti di intersezione tikz ti dirà che non è riuscito a trovare l’intersezione fra C–D e cc).
Se la prossima volta commenti il codice o spieghi che vuoi fare aiuti chi ti vuole aiutare, ho impiegato 10 minuti solo per capire le tue intenzioni, anche se il codice era relativamente semplice.
EDIT: Così funziona:
`\usetikzlibrary{shapes,arrows,trees,positioning,through,intersections}
\usetikzlibrary{calc}
\begin{tikzpicture}
\pgfmathsetmacro{\raggio}{2};
\coordinate [label=below:$C$] (C) at (0,0);
\coordinate (D) at (0,2); % puoi anche usare \node, ma mettendo l'opzione “shape=coordinate”, che è equivalente a questo comando più semplice
\coordinate (F) at (1,2); % stessa osservazione del rigo di sopra
\draw[name path=cc] (C) circle (\raggio); % se preferisci puoi comunque disegnare la circonferenza usando through
\path [name path=C–D] (C) — (D);
\path [name path=C–F] (C) — (F);
\draw [name intersections={of=cc and C–F,by=M}] (C) — (M) node[above right]{$A$};
\draw [name intersections={of=cc and C–D,by=N}] (C) — (N) node[above]{$B$};
\end{tikzpicture}`
-
11 Dicembre 2011 alle 14:16 #67514::
Elrond” post=66533
grufolando qua e la
ho scritto il seguente codice
`
\usetikzlibrary{shapes,arrows,trees,positioning,through,intersections}
\usetikzlibrary{calc}
\def\raggio{2cm};
\begin{tikzpicture}
\coordinate [label=$C$] (C) at (0,0);
\node (D) at (0,2) {};
\node (F) at(1,2){};
\node (cc) [name path=cc,draw,circle through=(D)] at (C) {};
\path [name path=C–F] (C) — (F);
\path [name intersections={of=cc and C–F}];
\coordinate [label=above:$A$] (M) at (intersection-1);\path [name path=C–D] (C) — (D);
\path [name intersections={of=cc and C–D}];
\coordinate [label=above:$B$] (N) at (intersection-1);\draw (C) –(M);
\draw(C)–(N);
\end{tikzpicture}
`ma non funziona 🙁
perché le coordinate di N
non sono corrette?
ClaudioCredo che succeda perché C–D non interseca cc, quindi usa l’ultimo punto di intersezione conosciuto, cioè M (infatti se inverti l’ordine della determinazione dei punti di intersezione tikz ti dirà che non è riuscito a trovare l’intersezione fra C–D e cc).
Se la prossima volta commenti il codice o spieghi che vuoi fare aiuti chi ti vuole aiutare, ho impiegato 10 minuti solo per capire le tue intenzioni, anche se il codice era relativamente semplice.
EDIT: Così funziona:
`\usetikzlibrary{shapes,arrows,trees,positioning,through,intersections}
\usetikzlibrary{calc}
\begin{tikzpicture}
\pgfmathsetmacro{\raggio}{2};
\coordinate [label=below:$C$] (C) at (0,0);
\coordinate (D) at (0,2); % puoi anche usare \node, ma mettendo l'opzione “shape=coordinate”, che è equivalente a questo comando più semplice
\coordinate (F) at (1,2); % stessa osservazione del rigo di sopra
\draw[name path=cc] (C) circle (\raggio); % se preferisci puoi comunque disegnare la circonferenza usando through
\path [name path=C–D] (C) — (D);
\path [name path=C–F] (C) — (F);
\draw [name intersections={of=cc and C–F,by=M}] (C) — (M) node[above right]{$A$};
\draw [name intersections={of=cc and C–D,by=N}] (C) — (N) node[above]{$B$};
\end{tikzpicture}`Scusa hai perfettamente ragione e ti ringrazio per la pazienza
dovevo disegnare una circonferenza ed un angolo per introdurre il concetto di radiante
la cosa curiosa è che se uso circle la circonferenza ha raggio 2
mentre qui sembra che il raggio è più grande o sbaglio?
claudio
-
11 Dicembre 2011 alle 14:24 #67515::
claudio” post=66534Scusa hai perfettamente ragione e ti ringrazio per la pazienza
dovevo disegnare una circonferenza ed un angolo per introdurre il concetto di radiante
la cosa curiosa è che se uso circle la circonferenza ha raggio 2
mentre qui sembra che il raggio è più grande o sbaglio?
claudioEssenzialmente il problema era che definendo i nodi D e F con
`\node (D) at (0,2) {};
\node (F) at(1,2){};`
sembra che le loro posizioni fossero leggermente più spostate verso il basso (questo creava problemi per D ma non per F perché F doveva trovarsi comunque oltre la circonferenza). Non ti so spiegare precisamente perché succeda questo, probabilmente leggendo con attenzione il manuale di tikz lo si capirebbe, però sta di fatto che usando
`\coordinate (D) at (0,2);
\coordinate (F) at (1,2);`
(oppure gli equivalenti `\node [shape=coordinate]’) il problema non si presenta più. Il resto del codice che ho scritto fa essenzialmente le stesse cose che facevi tu, solo in qualche punto in maniera più sintetica.
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.