Problema Latex Tikz
Salve a tutti,
premetto che non so se questa è la sezione giusta per quest'argomento, ma ci sono incastrato da ore.
Sto compilando un documento in latex ed ho la necessità di inserire alcuni grafici, in particolare vorrei inserire una sfera con meridiani e paralleli. Sono riuscito a costruirla in 2d su Geogebra e la volevo esportare in PGF/.Tikz.
Quando vado ad inserire ilo codice nel file .txt non da alcun errore però nel pdf non compaiono i meridiani e i paralleli. Qualcuno ha qualche idea per risolvere i problema?
Posto il codice qui sotto.
Il disegno è ancora incompleto, però le curve che ho disegnato non vengono visualizzate.
premetto che non so se questa è la sezione giusta per quest'argomento, ma ci sono incastrato da ore.
Sto compilando un documento in latex ed ho la necessità di inserire alcuni grafici, in particolare vorrei inserire una sfera con meridiani e paralleli. Sono riuscito a costruirla in 2d su Geogebra e la volevo esportare in PGF/.Tikz.
Quando vado ad inserire ilo codice nel file .txt non da alcun errore però nel pdf non compaiono i meridiani e i paralleli. Qualcuno ha qualche idea per risolvere i problema?
Posto il codice qui sotto.
Il disegno è ancora incompleto, però le curve che ho disegnato non vengono visualizzate.
\documentclass[10pt]{article} \usepackage{pgf,tikz,pgfplots} \pgfplotsset{compat=1.15} \usepackage{mathrsfs} \usetikzlibrary{arrows} \pagestyle{empty} \usepackage{graphicx,caption} \begin{document} \begin{tikzpicture}[line cap=round,line join=round,>=triangle 45,x=1cm,y=1cm] \shadedraw[ball color = white](0.,0.) circle (2.); \clip(-5.170605128599033,-4.518248377191176) rectangle (6.411478171043815,3.1238654495409754); \draw [line width=1.2pt,fill=black,fill opacity=0.21] (0,0) circle (2cm); \draw[line width=2pt, smooth,samples=100,domain=0:3.141592653589793] plot[parametric] function{-2*cos((t)),-1/sqrt(2)*2*sin((t))}; \draw[line width=2.8pt,dash pattern=on 1pt off 1pt, smooth,samples=100,domain=-3.141592653589793:0] plot[parametric] function{-2*cos((t)),-1/sqrt(2)*2*sin((t))}; \draw[line width=2pt,dash pattern=on 1pt off 1pt, smooth,samples=100,domain=-0.5235987755982988:3.665191429188092] plot[parametric] function{1.73*cos((t)),1/sqrt(2)*(cos((t))-2*sin((t)))}; \draw[line width=2pt, smooth,samples=100,domain=-3.665191429188092:-0.5235987755982988] plot[parametric] function{1.73*cos((t)),1/sqrt(2)*(cos((t))-2*sin((t)))}; \draw[line width=2pt, smooth,samples=100,domain=-0.5235987755982988:2.6179938779914944] plot[parametric] function{1.73*cos((t)),1/sqrt(2)*(-cos((t))+2*sin((t)))}; \draw[line width=2pt,dash pattern=on 1pt off 1pt, smooth,samples=100,domain=2.6179938779914944:5.759586531581287] plot[parametric] function{1.73*cos((t)),1/sqrt(2)*(-cos((t))+2*sin((t)))}; \end{tikzpicture} \end{document}
Risposte
I meridiani compaiono, non così i paralleli; sono presenti nel sorgente? A quale riga?
Nel sorgente se non sbaglio dovrebbero esserci 2 meridiani e l'equatore. Tuttavia a me non compare nessuno di loro.
tu hai fatto qualcosa di particolare?
tu hai fatto qualcosa di particolare?
L'ho solo compilato; che versione di TeX? Che OS? Che visualizzatore di pdf usi?
Uso Windows, come programma per scrivere e visualizzare ho usato texmaker ma ho provato anche con texworks. Non capisco quale possa essere il problema.
Ecco il problema: usi Windows.
Scherzi a parte, è difficile dirlo a distanza e senza delle specifiche; un artefatto del visualizzatore PDF, un problema con la distro di TeX (ma è assai poco probabile), un problema con il compilatore che texmaker non chiama correttamente... Prova a compilare da terminale, semmai scrivendoti un .bat (spero che almeno usi texlive e non il castello errante -participio presente del verbo errare- di miktex).
Scherzi a parte, è difficile dirlo a distanza e senza delle specifiche; un artefatto del visualizzatore PDF, un problema con la distro di TeX (ma è assai poco probabile), un problema con il compilatore che texmaker non chiama correttamente... Prova a compilare da terminale, semmai scrivendoti un .bat (spero che almeno usi texlive e non il castello errante -participio presente del verbo errare- di miktex).
invece uso proprio miktex.
Comunque ho notato che in generale non riseco a visualizzare nessuna curva parametrica.
Comunque ho notato che in generale non riseco a visualizzare nessuna curva parametrica.
Non sono molto pratico dei plot parametrici di TikZ, ma non ho trovato granché sulla sintassi che hai usato tu.
Innanzitutto `sin()` e `cos()` dovrebbero accettare i loro argomenti in gradi, e non in radianti, quindi dovrai quanto meno cambiare `sin(t)` con `sin(deg(t))`.
Puoi provare con queste sostituzioni:
che risultano in questo file:
Ho evidenziato ogni linea in un colore diverso, quindi puoi vedere che vengono tutte disegnate.
Innanzitutto `sin()` e `cos()` dovrebbero accettare i loro argomenti in gradi, e non in radianti, quindi dovrai quanto meno cambiare `sin(t)` con `sin(deg(t))`.
Puoi provare con queste sostituzioni:
\draw[...] plot[parametric] function{f((t)), g((t))}; ↓ \draw[..., variable=\t] plot ({f(deg(\t))}, {f(deg(\t))});
che risultano in questo file:
\documentclass[10pt]{article} \usepackage{pgf,tikz,pgfplots} \pgfplotsset{compat=1.15} % \usepackage{mathrsfs} \usetikzlibrary{arrows} \pagestyle{empty} \usepackage{graphicx,caption} \begin{document} \begin{tikzpicture}[line cap=round,line join=round,>=triangle 45,x=1cm,y=1cm] \shadedraw[ball color = white](0.,0.) circle (2.); \clip(-5.170605128599033,-4.518248377191176) rectangle (6.411478171043815,3.1238654495409754); \draw [line width=1.2pt,fill=black,fill opacity=0.21] (0,0) circle (2cm); \draw[red, line width=2pt, smooth,samples=100,domain=0:3.141592653589793, variable=\t] plot ({-2*cos(deg(\t))},{-1/sqrt(2)*2*sin(deg(\t))}); \draw[blue, line width=2.8pt,dash pattern=on 1pt off 1pt, smooth,samples=100,domain=-3.141592653589793:0, variable=\t] plot ({-2*cos(deg(\t))},{-1/sqrt(2)*2*sin(deg(\t))}); \draw[green, line width=2pt,dash pattern=on 1pt off 1pt, smooth,samples=100,domain=-0.5235987755982988:3.665191429188092, variable=\t] plot ({1.73*cos(deg(\t))},{1/sqrt(2)*(cos(deg(\t))-2*sin(deg(\t)))}); \draw[yellow, line width=2pt, smooth,samples=100,domain=-3.665191429188092:-0.5235987755982988, variable=\t] plot ({1.73*cos(deg(\t))},{1/sqrt(2)*(cos(deg(\t))-2*sin(deg(\t)))}); \draw[orange, line width=2pt, smooth,samples=100,domain=-0.5235987755982988:2.6179938779914944, variable=\t] plot ({1.73*cos(deg(\t))},{1/sqrt(2)*(-cos(deg(\t))+2*sin(deg(\t)))}); \draw[line width=2pt,dash pattern=on 1pt off 1pt, smooth,samples=100,domain=2.6179938779914944:5.759586531581287, variable=\t] plot ({1.73*cos(deg(\t))},{1/sqrt(2)*(-cos(deg(\t))+2*sin(deg(\t)))}); \end{tikzpicture} \end{document}
Ho evidenziato ogni linea in un colore diverso, quindi puoi vedere che vengono tutte disegnate.
Grazie per la risposta, proverò a controllare se effettivamente funziona, ma io non ho effettivamente scritto nulla mi sono limitato ad esportare in formato tikz un disegno fatto con geogebra. Quindi a questo punto penso che sia quello il problema.