Discussioni su argomenti di Informatica

Regole del forum

Consulta il nostro regolamento e la guida per scrivere le formule
Rispondi al messaggio

Problema Latex Tikz

17/07/2020, 13:37

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.
Codice:
\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}

Re: Problema Latex Tikz

17/07/2020, 15:17

I meridiani compaiono, non così i paralleli; sono presenti nel sorgente? A quale riga?

Re: Problema Latex Tikz

17/07/2020, 16:10

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?

Re: Problema Latex Tikz

17/07/2020, 19:00

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

Re: Problema Latex Tikz

18/07/2020, 11:53

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

Re: Problema Latex Tikz

18/07/2020, 12:13

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

Re: Problema Latex Tikz

18/07/2020, 12:22

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

Re: Problema Latex Tikz

20/07/2020, 07:29

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:

Codice:
\draw[...] plot[parametric] function{f((t)), g((t))};



\draw[..., variable=\t] plot ({f(deg(\t))}, {f(deg(\t))});


che risultano in questo file:

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

Re: Problema Latex Tikz

23/07/2020, 17:53

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 al messaggio


Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000— Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.