Problema Latex Tikz

jas1231
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.
\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
solaàl
I meridiani compaiono, non così i paralleli; sono presenti nel sorgente? A quale riga?

jas1231
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?

solaàl
L'ho solo compilato; che versione di TeX? Che OS? Che visualizzatore di pdf usi?

jas1231
Uso Windows, come programma per scrivere e visualizzare ho usato texmaker ma ho provato anche con texworks. Non capisco quale possa essere il problema.

solaàl
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).

jas1231
invece uso proprio miktex.
Comunque ho notato che in generale non riseco a visualizzare nessuna curva parametrica.

claudio862
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:

\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.

jas1231
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.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.