- Questo topic ha 18 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 14 anni, 5 mesi fa da
claudio.
-
CreatoreTopic
-
2 Aprile 2012 alle 18:24 #71872::
sbaglio qualcosa ma non trovo l’errore
perchè il nodo ac mi cade in c?
`\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{shapes,calc,arrows,trees,positioning,through,intersections,fadings}
\begin{document}\begin{tikzpicture}
\coordinate (a) at (0,0);
\coordinate (b) at (6,0);
\coordinate (c) at (9,6);
\draw[linea] (a)–(b);
\draw[linea](a)–(c);
\draw [linea](c)–(b);\node(A)[label=$A$] at (a) {$\bullet$};
\node(B)[label=50:$B$] at (b) {$\bullet$};
\node(C)[label=$C$] at (c) {$\bullet$};\node(c7) at (c)[draw,circle through=(b)] {};
\coordinate (ac) at (intersection 2 of c7 and a–c);
\node(Ca)[label=$aaaaa$] at (ac) {$\bullet$};\end{tikzpicture}
\end{document}`
claudio
-
CreatoreTopic
-
AutoreRisposte
-
-
2 Aprile 2012 alle 19:37 #71873::
A parte il fatto che il tuo esempio non è compilabile (manca lo stile [tt]linea[/tt]), penso che l’errore sta nel fatto che il nodo [tt]c7[/tt] coincide con [tt]c[/tt] visto tu hai detto di metterlo lì. Per fare la circonferenza (che puoi intersecare con il segmento AC) devi usare l’apposito comando
`\draw[name path=NOME] (CENTRO) circle (RAGGIO);`non un nodo di forma circolare
-
3 Aprile 2012 alle 3:48 #71874::
per la grafica ho usato questo doc`
\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{shapes,calc,arrows,trees,positioning,through,intersections,fadings}
\begin{document}\begin{tikzpicture}
\coordinate (a) at (0,0);
\coordinate (b) at (6,0);
\coordinate (c) at (9,6);
\draw (a)–(b);
\draw(a)–(c);
\draw (c)–(b);\node(A)[label=$A$] at (a) {$\bullet$};
\node(B)[label=50:$B$] at (b) {$\bullet$};
\node(C)[label=$C$] at (c) {$\bullet$};
\node(c7) at (c)[draw,circle through=(b)] {};
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\coordinate (ac) at (intersection 2 of c7 and a–c);\node(Ca)[label=$aaaaa$] at (ac) {$\bullet$};
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\end{tikzpicture}
\end{document}
`
l’errore è nella prima riga penso la seconda è solo di verifica
grazie per il vostro tempo
claudio
-
3 Aprile 2012 alle 4:06 #71875::
il problema è che codice uguale mi funziona
sto disegnando le bisettrici di un triangolo
tramite intersezioni di circonferenze…
`
\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{shapes,calc,arrows,trees,positioning,through,intersections,fadings}
\begin{document}
\begin{tikzpicture}[scale=0.5]
\coordinate (a) at (0,0);
\coordinate (b) at (6,0);
\coordinate (c) at (9,6);
\node(A)[label=$A$] at (a) {$\bullet$};
\node(B)[label=50:$B$] at (b) {$\bullet$};
\node(C)[label=$C$] at (c) {$\bullet$};
\draw[thick] (a)–(b)–(c)–cycle;
% \node(c1) at (a)[draw,circle through=(b)] {};
% \coordinate(ac) at(intersection 1 of c1 and a–c);
%
% \node(c2) at (ac)[draw,circle through=(b)] {};
% \node(c3) at (b)[draw,circle through=(ac)] {};
% \coordinate(bta) at(intersection 1 of c2 and c3 );
% \node(xx)[label=$C$] at (bta) {$\bullet$};
% \coordinate(bisa) at(intersection 1 of a–bta and b–c);
% \draw (a)–(bisa);
%%%%%%%%%%%%%%%%%%%%%%%%%%% funziona %%%%%%%%%%%%%%%%%%
\node(c4) at (b)[draw,circle through=(a)] {};
\coordinate(bc) at(intersection 1 of c4 and b–c);
\node(xx)[label=$prova$] at (bc) {$\bullet$};
\node(c5) at (bc)[draw,circle through=(a)] {};
\node(c6) at (a)[draw,circle through=(bc)] {};
\coordinate(btb) at(intersection 1 of c5 and c6 );
\node(xx)[label=$prova$] at (btb) {$\bullet$};
\coordinate(bisb) at(intersection 1 of b–btb and a–c);
\draw (b)–(bisb);
%%%%%%%%%%%%%%%%%%%%%%%%%%% funziona %%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%% non funziona %%%%%%%%%%%%%%%%%%
\node(c7) at (c)[draw,circle through=(b)] {};
\coordinate(ac) at(intersection 2 of c7 and a–c);
\node(xx)[label=$prova2$] at (ac) {$\bullet$};
%%%%%%%%%%%%%%%%%%%%%%%%%%% non funziona %%%%%%%%%%%%%%%%%%\end{tikzpicture}
\end{document}
`
saluti
claudio
-
3 Aprile 2012 alle 5:53 #71876::
Ho copiato le due tikzpicture e il preambolo in un solo documento e ho compilato senza errori di sorta.
`
\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{shapes,calc,arrows,trees,positioning,through,intersections,fadings}
\begin{document}\begin{tikzpicture}
\coordinate (a) at (0,0);
\coordinate (b) at (6,0);
\coordinate (c) at (9,6);
\draw (a)–(b);
\draw(a)–(c);
\draw (c)–(b);\node(A)[label=$A$] at (a) {$\bullet$};
\node(B)[label=50:$B$] at (b) {$\bullet$};
\node(C)[label=$C$] at (c) {$\bullet$};
\node(c7) at (c)[draw,circle through=(b)] {};
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\coordinate (ac) at (intersection 2 of c7 and a–c);\node(Ca)[label=$aaaaa$] at (ac) {$\bullet$};
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\end{tikzpicture}
\newpage
\begin{tikzpicture}[scale=0.5]
\coordinate (a) at (0,0);
\coordinate (b) at (6,0);
\coordinate (c) at (9,6);
\node(A)[label=$A$] at (a) {$\bullet$};
\node(B)[label=50:$B$] at (b) {$\bullet$};
\node(C)[label=$C$] at (c) {$\bullet$};
\draw[thick] (a)–(b)–(c)–cycle;
% \node(c1) at (a)[draw,circle through=(b)] {};
% \coordinate(ac) at(intersection 1 of c1 and a–c);
%
% \node(c2) at (ac)[draw,circle through=(b)] {};
% \node(c3) at (b)[draw,circle through=(ac)] {};
% \coordinate(bta) at(intersection 1 of c2 and c3 );
% \node(xx)[label=$C$] at (bta) {$\bullet$};
% \coordinate(bisa) at(intersection 1 of a–bta and b–c);
% \draw (a)–(bisa);
%%%%%%%%%%%%%%%%%%%%%%%%%%% funziona %%%%%%%%%%%%%%%%%%
\node(c4) at (b)[draw,circle through=(a)] {};
\coordinate(bc) at(intersection 1 of c4 and b–c);
\node(xx)[label=$prova$] at (bc) {$\bullet$};
\node(c5) at (bc)[draw,circle through=(a)] {};
\node(c6) at (a)[draw,circle through=(bc)] {};
\coordinate(btb) at(intersection 1 of c5 and c6 );
\node(xx)[label=$prova$] at (btb) {$\bullet$};
\coordinate(bisb) at(intersection 1 of b–btb and a–c);
\draw (b)–(bisb);
%%%%%%%%%%%%%%%%%%%%%%%%%%% funziona %%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%% non funziona %%%%%%%%%%%%%%%%%%
\node(c7) at (c)[draw,circle through=(b)] {};
\coordinate(ac) at(intersection 2 of c7 and a–c);
\node(xx)[label=$prova2$] at (ac) {$\bullet$};
%%%%%%%%%%%%%%%%%%%%%%%%%%% non funziona %%%%%%%%%%%%%%%%%%\end{tikzpicture}
\end{document}
`[attachment=186]TestTikzBisettrice.pdf[/attachment]
Be’, nella seconda figura ci sono un po’ di cose che si sovrappongono, ma credo che quello sia solo perché si tratta di un file di prova.
Attachments:
You must be logged in to view attached files. -
3 Aprile 2012 alle 5:54 #71877
-
3 Aprile 2012 alle 5:59 #71878
-
3 Aprile 2012 alle 6:09 #71879::
Seguendo il manuale di TikZ:
`\begin{tikzpicture}
\coordinate[label=$A$] (A) at (0,0);
\coordinate[label=$B$] (B) at (6,0);
\coordinate[label=$C$] (C) at (9,6);
\node (g) [name path=g, draw, circle through=(B)] at (C) {};
\path[name path=A–C] (A) — (C);
\path[name intersections={of=g and A–C}];
\coordinate [label=$D$] (D) at (intersection-1);
\foreach \point in {A,B,C,D}
\fill[black] (\point) circle (2pt);
\draw (A) — (B) — (C) — cycle;
\end{tikzpicture}`Scusa se ho cambiato i nomi agli enti e l’ordine dei comandi, ma preferisco prima definire gli oggetti e poi disegnare tutto.
-
3 Aprile 2012 alle 6:22 #71880::
Liverpool” post=71046Seguendo il manuale di TikZ:
`\begin{tikzpicture}
\coordinate[label=$A$] (A) at (0,0);
\coordinate[label=$B$] (B) at (6,0);
\coordinate[label=$C$] (C) at (9,6);
\node (g) [name path=g, draw, circle through=(B)] at (C) {};
\path[name path=A–C] (A) — (C);
\path[name intersections={of=g and A–C}];
\coordinate [label=$D$] (D) at (intersection-1);
\foreach \point in {A,B,C,D}
\fill[black] (\point) circle (2pt);
\draw (A) — (B) — (C) — cycle;
\end{tikzpicture}`Scusa se ho cambiato i nomi agli enti e l’ordine dei comandi, ma preferisco prima definire gli oggetti e poi disegnare tutto.
funziona ma perché il mio non funziona?
se guardi nei post precedenti
che funziona per i punti A e B che cosa ha C di speciale?
grazie claudio
-
3 Aprile 2012 alle 7:17 #71881::
claudio” post=71047funziona ma perché il mio non funziona?
La risposta è che avresti dovuto scrivere [tt]c–a[/tt] e non [tt]a–c[/tt]. Per il motivo, purtroppo non ne ho la più pallida idea. Sembra che si verifica sempre (?), quando intersechi un segmento con una circonferenza, che l’unica intersezione corretta ([tt]intersection 1[/tt]) è in realtà la seconda intersezione tra la retta orientata sulla quale giace il segmento e la circonferenza, nel verso di percorrenza che indichi. Perciò nel tuo codice, andando da A a C, la prima intersezione (quella reale) viene scartata e la seconda (quella del prolungamento di AC verso l’alto) viene considerata. Quando invece vai da C ad A, la prima intersezione è quella sul prolungamento (e viene scartata), la seconda è quella reale (e viene considerata). Invece l'[tt]intersection 2[/tt] è sempre sbagliata.
Il perché accada per me è un mistero, ma il codice che suggerisce il manuale di TikZ funziona sempre.Ciao
-
3 Aprile 2012 alle 7:29 #71882::
Guarda caso, il codice dell’esempio 2.6.1 sul documento che hai indicato, (che usa la [tt]intersection 2[/tt]) sembra non corrispondere alla figura che è riportata, ma ha la S in C come capitava a te con la [tt]intersection 2[/tt]. Il codice corretto sarebbe
`\coordinate[label=90:$S$](i) at (intersection 1 of c–a and c1);`
Avrai notato che scegliere la intersection 2 fa sballare anche l’altro arco di circonferenza e il punto \Phi.Nota: non ho potuto usare interamente il preambolo consigliato nel documento, perché non trovo la libreria shapes.scopes e pgfmath mi dà errori di funzioni già definite, perciò non posso essere sicuro al 100% che con quel preambolo il codice funzioni correttamente. Se qualcun altro può verificare, ci togliamo il pensiero.
-
3 Aprile 2012 alle 10:05 #71883::
ecco il risultato finale
`
\documentclass{article}
\usepackage{etex}
\usepackage{tikz,pgf}
\usetikzlibrary{calc,through,intersections}\begin{document}
\begin{tikzpicture}
\coordinate (a) at (0,0);
\coordinate (b) at (6,0);
\coordinate (c) at (9,6);
\node(A)[label=$A$] at (a) {$\bullet$};
\node(B)[label=50:$B$] at (b) {$\bullet$};
\node(C)[label=$C$] at (c) {$\bullet$};
\draw[thick] (a)–(b)–(c)–cycle;
\node(c1) at (a)[name path=c1,circle through=(b)] {};
\path[name path=a–c] (a) — (c);
\path[name intersections={of=c1 and a–c}];
\coordinate (ac) at (intersection-1);
\node(c2) at (ac)[name path=c2,circle through=(b)] {};
\node(c3) at (b)[name path=c3,circle through=(ac)] {};
\path[name intersections={of=c2 and c3}];
\coordinate (bta) at (intersection-2);
\path[name path=b–c] (b) — (c);
\path[name path=a–bta] (a) — (bta);
\path[name intersections={of=a–bta and b–c}];
\coordinate (bisa) at (intersection-1);
\draw(a)–(bisa);
\node(c4) at (b)[name path=c4,circle through=(a)] {};
\path[name path=b–c] (b) — (c);
\path[name intersections={of=c4 and b–c}];
\coordinate (bc) at (intersection-1);
\node(c5) at (bc)[name path=c5,circle through=(a)] {};
\node(c6) at (a)[name path=c6,circle through=(bc)] {};
\path[name intersections={of=c5 and c6}];
\coordinate (btb) at (intersection-1);
\path[name path=a–c] (a) — (c);
\path[name path=b–btb] (b) — (btb);
\path[name intersections={of=b–btb and a–c}];
\coordinate (bisb) at (intersection-1);
\draw(b)–(bisb);\node(c7) at (c)[name path=c7,circle through=(b)] {};
\path[name path=a–c] (a) — (c);
\path[name intersections={of=c7 and a–c}];
\coordinate (ca) at (intersection-1);
\node(c8) at (ca)[name path=c8,circle through=(b)] {};
\node(c9) at (b)[name path=c9,circle through=(ca)] {};
\path[name intersections={of=c8 and c9}];
\coordinate (btc) at (intersection-2);
\path[name path=a–b] (a) — (b);
\path[name path=c–btc] (c) — (btc);
\path[name intersections={of=c–btc and a–b}];
\coordinate (bisc) at (intersection-1);
\draw(c)–(bisc);% %
\coordinate(inc) at(intersection 1 of c–btc and a–bta);
\coordinate(piede) at($(a)!(inc)!(c)$);
\node(A)[label=$I$] at (inc) {$\bullet$};
\node(c10) at (inc)[name path=c10,draw,circle through=(piede)] {};\end{tikzpicture}
\end{document}
`trovato l’incentro !
questo è il codice con l’altro metodo
`
\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{shapes,calc,arrows,trees,positioning,through,intersections,fadings}
\begin{document}\begin{tikzpicture}
\coordinate (a) at (0,0);
\coordinate (b) at (6,0);
\coordinate (c) at (9,6);
\node(A)[label=$A$] at (a) {$\bullet$};
\node(B)[label=50:$B$] at (b) {$\bullet$};
\node(C)[label=$C$] at (c) {$\bullet$};
\draw[thick] (a)–(b)–(c)–cycle;
\node(c1) at (a)[circle through=(b)] {};
\coordinate(ac) at(intersection 1 of c1 and a–c);\node(c2) at (ac)[circle through=(b)] {};
\node(c3) at (b)[circle through=(ac)] {};
\coordinate(bta) at(intersection 1 of c2 and c3 );
% \node(xx)[label=$C$] at (bta) {$\bullet$};
\coordinate(bisa) at(intersection 1 of a–bta and b–c);
\draw (a)–(bisa);
\node(c4) at (b)[circle through=(a)] {};
\coordinate(bc) at(intersection 1 of c4 and b–c);\node(c5) at (bc)[circle through=(a)] {};
\node(c6) at (a)[circle through=(bc)] {};
\coordinate(btb) at(intersection 1 of c5 and c6 );
% \node(xx)[label=$C$] at (btb) {$\bullet$};
\coordinate(bisb) at(intersection 1 of b–btb and a–c);
\draw (b)–(bisb);
\node(c7) at (c)[circle through=(b)] {};
\coordinate(ca) at(intersection 1 of c7 and c–a);
%\node(xx)[label=$bbbb$] at (ca) {$\bullet$};
\node(c8) at (ca)[circle through=(b)] {};
\node(c9) at (b)[circle through=(ca)] {};
\coordinate(btc) at(intersection 1 of c8 and c9 );
%\node(xx)[label=$C$] at (btc) {$\bullet$};
\coordinate(bisc) at(intersection 1 of c–btc and a–b);
\draw (c)–(bisc);
\coordinate(inc) at(intersection 1 of c–btc and a–bta);
\coordinate(piede) at($(a)!(inc)!(c)$);
\node(A)[label=$I$] at (inc) {$\bullet$};
\node(c10) at (inc)[draw,circle through=(piede)] {};
\end{tikzpicture}\end{document}
`
la resa non è uguale tuttavia
il primo da[attachment=187]prova6.pdf[/attachment]
il secondo da
[attachment=188]prova4.pdf[/attachment]
il primo è migliore del secondo o no?
grazie claudio
Attachments:
You must be logged in to view attached files. -
4 Aprile 2012 alle 6:48 #71884
-
4 Aprile 2012 alle 7:45 #71885::
Liverpool” post=71084Claudio, hai provato a compilare l’esempio 2.6.1 del documento che hai indicato con il preambolo a pag. 4 per vedere se il codice funziona correttamente oppure no?
si l’ho fatto ma l’esempio non torna
ecco il codice
`
\documentclass{article}\usepackage{tikz,pgf}
\usetikzlibrary{calc,through,intersections}
\begin{document}
\begin{tikzpicture}
\coordinate [label=150:$A$](a) at (0,0);
\coordinate [label=0:$B$](b) at (4,0);
\coordinate [label=0:$C$](c) at (4,2);
\draw (a) — (b)– (c) — cycle ;
\draw (4,0) arc(90:atan(.5):-2);
\node(c1) at (c)[circle through=(b)] {};
\node [text width=3cm, fill=blue!30,draw,rectangle,rounded corners, text centered] at (1.3,3.8){Sezione aurea nel triangolo rettangolo con un cateto doppio dell’altro.};
\coordinate[label=90:$S$](i) at (intersection 2 of a–c and c1);
\node(c2) at (a)[circle through=(i)] {};
\coordinate[label=-90:$\Phi$](s) at (intersection 1 of a–b and c2);
\draw (s) arc(0:atan(.5):{(sqrt(5)-1)*2});
\end{tikzpicture}
\end{document}
`
ed ecco il risultato[attachment=189]prova7.pdf[/attachment]
Attachments:
You must be logged in to view attached files. -
4 Aprile 2012 alle 9:44 #71886::
salve
in altro forum mi hanno proposto due soluzioni
la prima che parla dell’ inversione a–c e c–a
l’altra decisamente più sofisticata che riposto
`
\documentclass{minimal}
\usepackage{etex}
\usepackage{tikz}
\usetikzlibrary{shapes,calc,arrows,through,intersections}
\begin{document}
\begin{tikzpicture}[scale=0.5]
\tikzset{mark coordinate/.style={inner sep=0pt,
outer sep=0pt,
minimum size=3pt,
fill=#1,
circle}
}
\draw[thick] (0,0) coordinate [mark coordinate=black,label=$A$] (a) —
(6,0) coordinate [mark coordinate=black,label=50:$B$] (b) —
(9,6) coordinate [mark coordinate=black,label=$C$] (c) — cycle ;\node [name path=Circle1,draw,circle through=(a)] at (b) {};
\path [name path=BC] (b) — (c);
\path [name intersections={of=BC and Circle1, name=i}]
(i-1) coordinate [mark coordinate=red];
\node [name path=Circle2,draw,circle through=(a)] at (i-1) {};
\node [name path=Circle3,draw,circle through=(i-1)] at (a) {};
\fill [name intersections={of=Circle2 and Circle3, name=j}]
(j-1) coordinate [mark coordinate=green];
\path [name path=AC] (a) — (c);
\path [name path=Bj-1] (b) — (j-1);
\fill [name intersections={of=Bj-1 and AC, name=k}]
(k-1) coordinate [mark coordinate=blue];
\draw [red] (b)–(k-1);
\node [name path=Circle4,draw,circle through=(b)] at (c) {};
\fill [name intersections={of=Circle4 and AC, name=l}]
(l-1) coordinate [mark coordinate=orange];
\end{tikzpicture}
\end{document}`
ciao claudio
-
4 Aprile 2012 alle 14:00 #71887::
Ho sovrapposto sullo stesso disegno le bisettrici determinate con i due modi che hai esposto nell’intervento n. 71052. E’ evidente che la bisettrice dell’angolo A assume una posizione differente a seconda del metodo. In particolare, nel secondo metodo la bisettrice non biseca perfettamente l’angolo. Ho verificato che questo è dovuto alla diversa posizione dell’intersezione tra il lato AC e la circonferenza in A di raggio AB.Certo che TikZ è un pacchetto potentissimo, ma secondo me avrebbe bisogno di una standardizzazione dei comandi. Abbiamo visto che la stessa operazione si può fare in più modi diversi e questo non sempre è un vantaggio, perché di solito si tende ad imparare un solo metodo e, quando ci si trova di fronte al codice prodotto da un’altra persona, si può avere difficoltà ad interpretarlo.
Ciao
[attachment=191]Incentro.png[/attachment]
Attachments:
You must be logged in to view attached files. -
4 Aprile 2012 alle 14:32 #71888
-
6 Aprile 2012 alle 5:48 #71889
-
6 Aprile 2012 alle 16:30 #71890
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.