Re: Le mie (dis)avventure con TikZ

#96739
Liverpool
Partecipante
    Up
    0
    Down
    ::

    lorenzo.pantieri” post=97491
    1. Perché la griglia delle help lines è sfalsata rispetto al piano cartesiano?

    [tt]grid[/tt] è un’istruzione di TikZ, non di pgfplots. Il passo della griglia è di 1 cm per default. Invece l’unità di misura del grafico non è 1 cm, ma dipende anche dal valore di [tt]width[/tt]. Il risultato è che la griglia è sfasata rispetto al grafico.
    Di per sé pgfplots ha una chiave per disegnare la griglia, che si chiama proprio [tt]grid[/tt]. Io userei quella, ma nel tuo caso non funziona. Perché? Perché hai scelto di non mostrare le tacche sull’asse y. Ma allora uno si chiede: che senso ha aggiungere la griglia e rimuovere le tacche sull’asse y? Forse dovresti ripensarci: lasciare le tacche e rimuovere solo le etichette.

    lorenzo.pantieri” post=97491
    2. Come aiutare TikZ a disegnare meglio la semicirconferenza, saldandola all’asse delle ascisse?

    Domanda: se vuoi disegnare la semicirconferenza nel rettangolo [-2,2]x[0,2], perché hai preso il dominio tra -5 e 5 (che tra l’altro è il default) e il codominio in [-10,10]? Dovrebbe bastare semplicemente:
    `\addplot [samples=200, grafico] {sqrt(4-x^2)};`Ma così non va: mancano i punti sull’asse delle ascisse. Il motivo è che dividendo il dominio in 200 punti a partire da x=-5, con le inevitabili approssimazioni del sistema, nessuno dei campioni corrisponde a x=-2 o a x=2. Allora prova con
    `\addplot [domain=-2:2, samples=200, grafico] {sqrt(4-x^2)};`
    Così ci troviamo in x=-2, ma non in x=2 per lo stesso motivo. Allora il trucco consiste nel prendere un numero dispari di campioni:
    `\addplot [domain=-2:2, samples=199, grafico] {sqrt(4-x^2)};`Osservazione: per disegnare una semicirconferenza con questo metodo hai bisogno di 200 campioni o poco meno con l’interpolazione. Invece con le curve di Bézier avresti bisogno di una manciata di punti e la memoria e le dimensioni del file te ne sarebbero grate. Allora perché non ricorrere ai comandi di TikZ? Potresti usare l’istruzione [tt]arc[/tt], ma dovresti conoscere l’unità di misura delle ascisse per determinare il raggio e abbiamo detto di non saperla (almeno io). Allora puoi combinare due curve di Bézier definite dalla posizione dei punti notevoli in questo modo
    `\draw (axis cs:2,0) to [out=90, in=0] (axis cs:0,2) to [out=180, in=90] (axis cs:-2,0);`L’ipotesi restrittiva alla base è che il sistema di riferimento sia monometrico e il tuo, al momento, non lo è necessariamente.

    Go to top