Risposte nei forum create
-
AutoreRisposte
-
::
lorenzo.pantieri” post=99016Ciao a tutti. Devo realizzare il seguente disegno.

Siccome ho molti disegni di questo tipo nel mio documento, ho bisogno di un metodo “solido”. Ho pensato di definire due nodi (uno per il primo e uno per l’ultimo termine del trinomio e di lavorare con quelli, ma poi sono in difficoltà con la spaziatura orizzontale nella formula (che deve essere quella standard) e con l’allineamento verticale…
Che dite?
Suppongo che il disegno non sia in linea con il resto del testo. Il trucco c’è ma non si vede (= l’esponente fantasma).
`\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{tikzmark}\begin{document}
\begin{tikzpicture} [remember picture]
\node {$\subnode{a}{$a$}^2+8a+\subnode{c}{$16$}$};
\node (a1) [yshift=-6ex] at (a.base) {$\phantom{^2}(a)^2$};
\node (c1) [yshift=-6ex] at (c.base) {$\phantom{^2}(4)^2$};
\draw [->, shorten <=2pt, red] (a.base) -- +(270:4.4ex); \draw [->, shorten <=2pt, red] (c.base) -- +(270:4.4ex); \end{tikzpicture} \end{document}`::cfiandra” post=99040
`\newcommand{\sottolinea}[2][]{%
\begin{tikzpicture}[baseline=-.5ex]\node[inner sep=0pt,outer sep=-1pt](x){$#2$};
\draw[#1]([yshift=-1.5pt]x.south west)–([yshift=-1.5pt]x.south east);
\end{tikzpicture}%
}`A me sembra che vada benone. Perché dici che la spaziatura matematica non è rispettata? E che ne dici di questa minima variante?
`\newcommand{\sottolinea}[2][]{%
\begin{tikzpicture}[baseline=0]
\node [anchor=base, inner xsep=0, inner ysep=1.2bp, outer sep=-0.1em] (x) {$#2$};
\draw[#1] (x.south west) — (x.south east);
\end{tikzpicture}%
}`
::OldClaudio” post=98957Visto che l’appetito vie mangiando, saresti anche capace di disegnare una lossodromia fra due punti dati?
Grazie Claudio, la lossodromia credo sia un po’ più fastidiosa e forse è un lavoro più adatto a pgfplots. Ci penserò.
Per venire incontro alle richieste dell’OP, ho aggiunto un pic [tt]coordinata[/tt] che si usa in questo modo:
`\pic [posizione={latitudine}{longitudine}, raggio=1] {coordinata=P};`
Il pic genera un nodo di tipo coordinata di nome P nella posizione assegnata. Anche in questo caso il raggio è facoltativo. La coordinata così generata può essere successivamente utilizzata nel disegno, ad esempio per marcare dei punti o aggiungere delle etichette. L’utilità consiste nella trasformazione automatica delle coordinate geografiche in coordinate cartesiane.Ho aggiornato l’intervento precedente con le modifiche al codice. Faccio notare che, per disegnare un pallino nel sistema di riferimento della tela bisogna specificare l’unità di misura del raggio, altrimenti il pallino viene disegnato sul piano [xy].
::
Riapro questa vecchia conversazione perché, approfittando delle festività, ho messo su una bozza di soluzione. Se non ricordo male il problema di tracciare l’arco di cerchio massimo tra due punti di una sfera era già stato sollevato come curiosità da @OldClaudio, perciò rispondo qui in una sola volta.
La soluzione sembra funzionare correttamente, ma non ci metterei le mani sul fuoco perché mi sembra “troppo semplice”, perciò se qualcuno fosse interessato a dargli un’occhiata, farebbe cosa gradita alla comunità.
Il cuore del codice è il pic [tt]ortodromia[/tt] che richiede almeno due opzioni: [tt]partenza[/tt] per le coordinate del punto di partenza e [tt]arrivo[/tt] per le coordinate del punto di arrivo. Le coordinate vanno espresse in gradi nella forma [tt]={latitudine}{longitudine}[/tt]. La latitudine 0 corrisponde al piano [xy], la longitudine 0 al semipiano [xz] di ascisse positive. Va da se che i punti non possono essere antipodali oppure coincidenti, altrimenti il problema è indeterminato. Una terza chiave facoltativa, [tt]raggio[/tt], permette di variare il raggio della sfera e deve essere espressa come multiplo dell’unità di misura (credo dell’asse x), cioè come numero adimensionale. Inoltre l’opzione [tt]opposto[/tt] permette di tracciare l’arco più lungo dello stesso cerchio massimo tra i due punti. Infine è possibile passare ulteriori opzioni di tracciatura relative al colore o al tipo di linea. Il codice non richiede alcuna libreria opzionale e può essere riassunto in questi passi:
1) trasformazione delle coordinate geografiche in coordinate cartesiane per i due punti che indichiamo con A e B
2) determinazione del vettore OP complanare con OA e OB e ortogonale a OA
3) determinazione del versore OC parallelo ed equiverso ad OP
4) tracciatura dell’arco sul piano cartesiano avente gli assi coordinati paralleli a OA e OC (l’asse z è ininfluente perché l’arco è sempre tracciato sul piano [xy]).Se qualcuno trova degli errori oppure vuole semplicemente migliorare il codice, è il benvenuto.
P.S.: se si conoscono due punti non degeneri dello stesso cerchio, si può comunque costruire una semicirconferenza o una circonferenza spezzandola in due archi contigui.
`\documentclass{standalone}
\usepackage{tikz}% componenti dei versori degli assi coordinati
% rispetto alla base della tela
\pgfmathsetlengthmacro{\xx}{-1cm*sqrt(3)/2}
\pgfmathsetlengthmacro{\xy}{-0.5cm}
\pgfmathsetlengthmacro{\yx}{1cm*sqrt(3)/2}
\pgfmathsetlengthmacro{\yy}{-0.5cm}
\pgfmathsetlengthmacro{\zx}{0cm}
\pgfmathsetlengthmacro{\zy}{1cm}\tikzset{
latA/.initial=0,
lonA/.initial=0,
latB/.initial=0,
lonB/.initial=0,
partenza/.style 2 args={latA=#1, lonA=#2},
arrivo/.style 2 args={latB=#1, lonB=#2},
posizione/.style 2 args={latA=#1, lonA=#2},
raggio/.initial=1,
raggio/.code={\tikzset{/tikz/scale=#1}},
lungo/.initial=0,
opposto/.code={\tikzset{/tikz/lungo=1}},
ortodromia/.pic={
% conversione delle coordinate geografiche in cartesiane
\pgfmathsetmacro{\Ax}{cos(\pgfkeysvalueof{/tikz/latA})*cos(\pgfkeysvalueof{/tikz/lonA})}
\pgfmathsetmacro{\Ay}{cos(\pgfkeysvalueof{/tikz/latA})*sin(\pgfkeysvalueof{/tikz/lonA})}
\pgfmathsetmacro{\Az}{sin(\pgfkeysvalueof{/tikz/latA})}
\pgfmathsetmacro{\Bx}{cos(\pgfkeysvalueof{/tikz/latB})*cos(\pgfkeysvalueof{/tikz/lonB})}
\pgfmathsetmacro{\By}{cos(\pgfkeysvalueof{/tikz/latB})*sin(\pgfkeysvalueof{/tikz/lonB})}
\pgfmathsetmacro{\Bz}{sin(\pgfkeysvalueof{/tikz/latB})}
% prodotto scalare (OA\cdot OB)
\pgfmathsetmacro{\ps}{\Ax*\Bx + \Ay*\By + \Az*\Bz}
% vettore OP complanare con OA e OB e ortogonale al primo
\pgfmathsetmacro{\Px}{-\Ax*\ps + \Bx}
\pgfmathsetmacro{\Py}{-\Ay*\ps + \By}
\pgfmathsetmacro{\Pz}{-\Az*\ps + \Bz}
% versore CP parallelo a OP
\pgfmathsetmacro{\Cx}{\Px/sqrt((\Px)^2 + (\Py)^2 + (\Pz)^2)}
\pgfmathsetmacro{\Cy}{\Py/sqrt((\Px)^2 + (\Py)^2 + (\Pz)^2)}
\pgfmathsetmacro{\Cz}{\Pz/sqrt((\Px)^2 + (\Py)^2 + (\Pz)^2)}
% angolo tra i due vettori OA e OB
\pgfmathsetmacro{\angolo}{acos(\ps)-360*\pgfkeysvalueof{/tikz/lungo}}
\draw [x={(\Ax*\xx+\Ay*\yx+\Az*\zx, \Ax*\xy+\Ay*\yy+\Az*\zy)},
y={(\Cx*\xx+\Cy*\yx+\Cz*\zx, \Cx*\xy+\Cy*\yy+\Cz*\zy)}, pic actions]
(1,0,0) arc (0:\angolo:1);
},
coordinata/.pic={
\pgftransformshift{
\pgfpointspherical{90-\pgfkeysvalueof{/tikz/lonA}}{\pgfkeysvalueof{/tikz/latA}}{1}
}
\pgfnode{coordinate}{center}{}{#1}{}
}
}% stile usato per le linee dei meridiani e paralleli
\tikzset{griglia/.style={blue!40, very thin}}\begin{document}
\begin{tikzpicture} [x={(\xx,\xy)}, y={(\yx,\yy)}, z={(\zx,\zy)}]
% disegna i meridiani e i paralleli
\foreach \i in {0,10,…,170}{
\pic [partenza={0}{\i}, arrivo={90}{\i}, griglia] {ortodromia};
\pic [partenza={0}{\i}, arrivo={90}{\i}, opposto, griglia] {ortodromia};
}
\foreach \i in {-80,-70,…,80}
\draw [griglia] (0,0,{sin(\i)}) circle ({cos(\i)});
% disegna l'arco
\pic [partenza={30}{-50}, arrivo={30}{90}, red] {ortodromia};
\pic [posizione={30}{-50}] {coordinata=A};
\pic [posizione={30}{90}] {coordinata=B};
% marca i due punti
\fill (A) circle (0.8pt)
(B) circle (0.8pt);
% assi coordinati
\draw [-latex] (1,0,0) — (2,0,0);
\draw [-latex] (0,1,0) — (0,2,0);
\draw [-latex] (0,0,1) — (0,0,2);
\end{tikzpicture}
\end{document}`[attachment=1225]prova3_2014-12-29.png[/attachment]
Attachments:
You must be logged in to view attached files.::
`\pgfplotsextra{
\pgfplotstransformdirectionx{1}
\pgfmathsetlengthmacro{\ex}{\pgfmathresult*\pgfplotsunitxlength}
}\draw [->] (axis cs:2,0) arc (0:45:\ex);`
[tt]\ex[/tt] è l’unità di misura delle lunghezze per l’asse delle ascisse e ti serve al posto di 1 nell’istruzione per generare l’arco affinché pgfplots intenta 1 unità di misura. In questo caso, avendo usato un sistema di riferimento monometrico, puoi scrivere direttamente [tt]45[/tt] come misura di ampiezza dell’arco.Ciao
4 Dicembre 2014 alle 16:28 in risposta a: Rimuovere notazione scientifica dagli assi di un grafico #98648::OldClaudio” post=98472Ciò premesso, ti raccomando di non mettere triangoli sopra i simboli dei tre vertici accostati; altrimenti devi mettere un simbolo di quadrato sulle quattro lettere che identificano i vertici di una quadrato, il simbolo di rettangolo, sopra… e via di questo passo; lo richiede la coerenza.
Il triangolino sulla lettera centrale si mette solo ed esclusivamente per distinguere il triangolo dall’angolo. Questo problema non si pone con i poligoni di più lati perciò la coerenza è assolutamente salvaguardata. D’altra parte, come dici tu il triangolino andrebbe messo solo per evitare confusione e quindi non nel caso in cui sia esplicitamente scritta la parola “triangolo”. Ma può capitare di voler scrivere in una dimostrazione che due triangoli sono congruenti e in tal caso il triangolino è certamente utile per distinguere la figura dall’angolo.
Ciao
4 Dicembre 2014 alle 16:11 in risposta a: Rimuovere notazione scientifica dagli assi di un grafico #98646::Bonalumi” post=98474In teoria precision dovrebbe indicare i decimali, non ne sono sicuro al 100%, ma solitamente è sempre così. Ma comunque se uso precision ottengo un errore, dubito che cambiando il valore la cosa si risolva.
Non devi usare [tt]precision=3[/tt] ma [tt]/pgf/number format/precision=3[/tt].
Comunque sarebbe stato più indicato aprire un altro filone e inserire un esempio compilabile.
::Pescetelli” post=98391Ho inserito un immagine e vorrei che cliccando sulla didascalia si apra l’immagine, cioè venga visualizzata come se la stessi aprendo in modo classico ….
Si potrebbe fare, ma alcuni visualizzatori – tra i quali anche Adobe Reader – hanno disattivato questo tipo di comportamento per evitare l’avvio involontario di software malevolo. Perciò alla fine potrebbe essere un lavoro sprecato.
Ciao
::lorenzo.pantieri” post=98238Dimostrazioni nel mio lavoro non ce ne sono. Che faccio? Tolgo tutti i qed?
Ora non posso controllare ma, se non ricordo male, ci sono pochi esercizi in cui dici “prova che…” (mi sembra sui limiti). Se li togli (i qed), pensi che non si riesca ad individuare subito la fine dell’esercizio?
Se non sbaglio tutti gli esercizi finiscono con un altro esercizio o con un nuovo paragrafo, quindi non ci dovrebbero essere problemi…Ciao
::
Qui siamo veramente troppo OT. Comunque credo che non c’entrino niente il rinnovo dell’abbonamento o il caricamento dei file. Avrai subito un attacco.
Se hai una copia di backup, io reinstallerei quella. Altrimenti proverei ad accedere alle cartelle ftp per vedere cosa c’è di corrotto partendo da [tt]index.php[/tt] e [tt].htaccess[/tt]Ciao
-
AutoreRisposte