plot con linee di spessore discendente

  • Creatore
    Topic
  • #37724
    Up
    0
    Down
    ::


    Uso PSTricks per disegnare una famiglia di epicicloidi: esiste un modo per far sì che linewidth diventi sempre minore col procedere dei plot (in modo da non “sovraccaricare il disegno e renderlo di lettura meno difficile, oltre che per dare un effetto grafico particolare)?

    Ecco come ho provato io (ma è ovvio che non funzioni, TeX non “sa” fare il conto all’interno di \psset…)

    `\begin{pspicture}(-3,-3)(3,3)
    \multido{\r=1.+.75}{12}{
    \def\l{1/\r}
    \psset{\linewidth=\l pt}
    \parametricplot[algebraic,linecolor=blue,,plotpoints=400]{-3.14}{3.14}{%
    1/\r*((\r +1)*cos(t) – cos((\r +1)*t)) |
    1/\r*((\r +1)*sin(t) – sin((\r +1)*t))
    }}
    \end{pspicture}`

Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #37725
      Up
      0
      Down
      ::

      Uso PSTricks per disegnare una famiglia di epicicloidi: esiste un modo per far sì che linewidth diventi sempre minore col procedere dei plot (in modo da non “sovraccaricare il disegno e renderlo di lettura meno difficile, oltre che per dare un effetto grafico particolare)?

      Ecco come ho provato io (ma è ovvio che non funzioni, TeX non “sa” fare il conto all’interno di \psset…)

      `\begin{pspicture}(-3,-3)(3,3)
      \multido{\r=1.+.75}{12}{
      \def\l{1/\r}
      \psset{\linewidth=\l pt}
      \parametricplot[algebraic,linecolor=blue,,plotpoints=400]{-3.14}{3.14}{%
      1/\r*((\r +1)*cos(t) – cos((\r +1)*t)) |
      1/\r*((\r +1)*sin(t) – sin((\r +1)*t))
      }}
      \end{pspicture}`

      `\begin{pspicture}(-3,-3)(3,3)
      \multido{\r=1.+.75}{12}{
      \psset{linewidth=%
      \number\numexpr(65536*65536/(\dimexpr\r pt))\relax sp}
      \parametricplot[algebraic,linecolor=blue,,plotpoints=400]{-3.14}{3.14}{%
      1/\r*((\r +1)*cos(t) – cos((\r +1)*t)) |
      1/\r*((\r +1)*sin(t) – sin((\r +1)*t))
      }}
      \end{pspicture}`
      Spiegazione: \dimexpr dentro un \numexpr ritorna la dimensione in unità di punti scalati (65536sp = 1pt). La divisione 65536/\r così eseguita darebbe il fattore giusto, ma prima moltiplico ancora per 65536 perché altrimenti TeX tronca. Poi uso questo numero come dimensione in sp.

      Ciao
      Enrico

    • #37726
      Up
      0
      Down
      ::


      Impagabile.

Visualizzazione 1 filone di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top