Re: Il disegno programmato nell’Arte di scrivere con LaTeX

#72718
OldClaudio
Partecipante
    Up
    0
    Down
    ::


    Sul fatto che smooth possa ridurre il numero dei campioni siamo d’accordo; mi pare giusta l’osservazione di @maumau sul fatto che con un numero dispari di campioni si ottenga la simmetria. Ora guardate questo diagramma dove il rpeambolo del documento è sempre lo stesso:
    `
    \begin{tikzpicture}
    \begin{axis}[
    ymin=-1.5,
    ymax=1.5,
    xmin=0,
    xmax=400,
    axis lines=middle]
    \addplot [
    domain=0:360,
    samples=40,
    smooth,
    thick,
    color=blue
    ]
    {sin(x)};
    \draw[red] (0,150) .. controls (71,283) and (109,283) .. (180,150);
    \draw[red] (180,150) .. controls (251,17) and (289,17) .. (360,150);
    \end{axis}
    \end{tikzpicture}
    `

    Il diagramma con 40 campioni eseguito con pgfplots e il diagramma con tre camcpioni ottenuto con \draw praticamente si sovrappongono; certo i punti di controllo li ho dovuti cercare a tentoni, mentre almeno pgfplots li trova doa solo; ma…
    Il mio punto è che nonostante pgflotos con smooth usi le spline cubiche, coasa che nessuno di noi ha mai messo in dubbio, e che questo fatto consenta di diminuire il numero di campioni, cosa sulla quale abbiamo potuto convergere dopo diversi messaggi, il lavoro di pgfplots produce delle spline troppo tese. la tensione è un concetto che deriva dalla terminologia di METAFONT/METAPOST; una spline è tesa quando la concavità al centro dell’arco tende a zero (ovvero il raggio di curvatura della circonferenza osculante tende a infinito). questo vuol dire che il livello di arbitrarietà nel definire i due punti di controllo per mantenere ai nodi la continuità della tangente e della curvatura, in pgfplots è usato in modo tale da avere i punti di cointrllo piuttosto vicini ai nodi così a ottenere un curva piuttosto tesa. Devo dire che i parametri di default di METAFONT/METAPOST producono un risultato migliore di quello che fa pgfplots.

    Per capire queste affermazioni e valutare che cosa intendo per “migliore”, ahimè, bisogna avere un discreta/notevole esperienza con METAFONT/METAPOST; so che siamo in pochi ad usare questi programmi; ma credetemi; il lavoro di pgfplots è modesto a meno che i punti di interpolazione (i nodi) non siano piuttosto ravvicinati; ecco perché occorrono molti nodi anche con smooth, anche se il numero ottimale con smooth è decisamente inforiore a quello dell’interpolazione lineare; 40 conto 200 per tracciare la curva del seno la dice lunga a favore di smooth; ma tre contro 40 la dice ancora più lunga sulla potenza delle spline di Bézier usate nella loro piena efficienza; peccato che anche con la curva del seno il lavoro manuale da fare sia molto pesante e sia molto più facile specificare 40 campioni, piuttosto che rimanere con soli tre campioni e tribolare una buona oretta per trovare “sperimentalmente” le coordinate dei punti di controllo.

    Go to top