Disegnare una molla con LaTeXDraw

  • Creatore
    Topic
  • #111727
    Up
    0
    Down
    ::


    Ciao a tutti! Sto scrivendo la tesi e dovrei fare un disegno più o meno come quello qui allegato ma con LaTeXDraw non so nemmeno da che parte iniziare e altri modi non ne conosco. Se qualcuno avesse qualche suggerimento per me ne sarei infinitamente grata!

    Attachments:
    You must be logged in to view attached files.
Visualizzazione 8 filoni di risposte
  • Autore
    Risposte
    • #111728
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Bevenuta nel forum del GuIT.

        LaTeXDraw a stretto rigore non fa parte del sistema TeX. è uno script in linguaggio Java che fa da interfaccia fra l’utente e PSTricks; questo invece è un pacchetto del sistema TeX che nativamente produce disegni in formato PostScript. Non c’è dubbio che in file .ps o .eps può poi essere trasformato in formato .pdf; non c’è dubbio che PSTriks sia molto potente ed abbia estensioni per disegnare virtualmente qualunque cosa, ma…

        Il sistema TeX e il markup latex dispongono di pacchetti propri per disegnare qualuque cosa, forse un po’ meno di PSTricks,ma poi di fatto possono disegnare tutto.

        Nativamente LaTeX è dotato del suo ambiente picture con il quale si possono fare disegnini relativamente semplici (anche se io l’ho usato per miei testi di elettronica disegnando con questo ambiente anche i circuiti elettronici di cui trattavo nel testo, un po’ laborioso ma efficace). Per diegnare una molla credo che sia sufficiente; istruzioni nella guida tematica Il LaTeX Reference Manual commentato da scaricare dalla sezione Documentazione di questo sito.

        Poi c’è lo stupendo pacchetto TikZ (istruzioni: apri un terminale o prompt dei comandi; scrivici dentro il comando texdoc tikz; premi il tasto invio per eseguire il comando e leggi la documentazione).
        Non hai bisogno di leggere tutte le centinaia di pagine per usare TikZ, ma ti bastano le prime pagine che sono sostanzialmente un tutorial anche divertente da leggere. È ovvio che siccome TikZ fa tantissime cose, la sua documentazione è molto ampia, ma certamente è lo strumento da usare, se picture non basta, quando si vogliono fare disegni veramente belli. Te lo ocnsiglio vivamente.

      • #111729
        robitex
        Amministratore del forum
          Up
          0
          Down
          ::

          Vercesi” post=112024Ciao a tutti! Sto scrivendo la tesi e dovrei fare un disegno più o meno come quello qui allegato ma con LaTeXDraw non so nemmeno da che parte iniziare e altri modi non ne conosco. Se qualcuno avesse qualche suggerimento per me ne sarei infinitamente grata!

          Ciao.
          Temo che non sia così facile ottenere la curva dell’elica “coil” con i decoration path di TikZ.
          Questo modulo, descritto nel manuale di TikZ, offre comandi di alto livello per generare la curva, ma sono pensati per essere costruiti su un path tra due nodi.
          Quello che ti consiglio è quindi di disegnare la curva con \draw usando i controls, ovvero curve di Bezier, che del resto è il risultato di basso livello del decoration.path.
          Se avrò tempo vorrei, prossimamente, proporti un esempio di codice.
          Comunque usare TikZ ti permetterà di includere figure di qualità eccellente.
          Un saluto.
          R.

        • #111730
          Up
          0
          Down
          ::


          Ci ho lavorato 4 ore ma alla fine sono riuscita, grazie a tutti!
          Ho usato TikZ e il manuale (letto non integralmente, in alcune sue parti)

          Attachments:
          You must be logged in to view attached files.
        • #111731
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Brava. Ora dovresti rendere un po’ più spesse le linee degli oggetti rispetto alle aste dei vetori.
            Poi il disegno è perfetto.

          • #111732
            Up
            0
            Down
            ::


            È vero potrebbe essere una bella idea, magari lo aggiungo se ho tempo, grazie 🙂

          • #111733
            robitex
            Amministratore del forum
              Up
              0
              Down
              ::

              Vercesi” post=112042È vero potrebbe essere una bella idea, magari lo aggiungo se ho tempo, grazie 🙂

              Sono curioso. Come hai generato la curva della molla, tramite il plot matematico? Puoi postare il codice?
              Tra l’altro, nel pdf che hai allegato l’asse di “piegamento” non è verticale.

              A mio avviso, il disegno vettoriale di una molla, potrebbe essere un buon articolo per ArsTeXnica, la rivista dell’associazione.
              Pensaci!
              Un saluto.
              R.

            • #111734
              OldClaudio
              Partecipante
                Up
                0
                Down
                ::


                Be’, non metto in dubbio che per @Vercesi essere riuscita a disegnare una molla con TikZ le abbia insegnato moltissimo.

                Che sia un codice difficile, non, non lo è, tant’è che con l’ambiente picture + pacchetto pict2e (eventualmente con l’aggiunta di curve2e, non necessario ma più semplificare il codice utente) la spirale della molla si disegna altrettanto bene anche se deve rappresentare qualcosa diverso da una molla; nell’immagine che allego è rappresentata una induttanza
                [attachment=1956]Molla.pdf[/attachment]
                Ho scritto il codice molto prima che esistesse TikZ; con il pacchetto circuito, che ho scritto nei primi anni ’90, quando non esisteva quasi niente (ancora LaTeX 2.09), ci ho messo una decina di giorni perché dovevo inventarmi tutto e dovevo disegnare circuiti con tutti i componenti elettronici che mi servivano per le dispense che ho scritto per i miei allievi, ma una volta fatto, la scrittura delle dispense è andata avanti con una velocità impensabile prima.


                @Vercesi
                dice di averci messo 4 ore; è stata brava, molto brava; perché è partita da zero e si è dovuta studiare diverse decine di pagine della monumentale documentazione di TikZ.

                Non credo che la molla sia sufficiente per un articolo su ArsTeXnica. come non credo che lo sia un articolo sul mio pacchetto circuito.sty (per altro non pubblicato e quindi non disponibile). Sia chiaro; come primo interessato ad ArsTeXnica, mi fa piacere che i frequentatori del forum vengano stimolati a condividere i loro risultati con gli altri utenti italiani. Quando @Vercesi avrà finito la tesi, se vorrà, potrà raccogliere tutte le idee che ha realizzato per comporre la sua tesi e farne un articolo; La sua esperienza maturata in situazioni reali può essere preziosa per molti altri utenti.

                Attachments:
                You must be logged in to view attached files.
              • #111735
                Up
                0
                Down
                ::


                `\documentclass{article}
                \usepackage{tikz}
                \usepackage{amsmath}
                \usepackage{amssymb}
                \begin{document}
                %retta
                \begin{center}
                \begin{tikzpicture} %linea e frecce
                \draw (-3,0) — (3,0) node [near start,above]{$\mathbb{R}^+$};
                \node [above] at (0,0) {$0$};
                \node [fill=black,inner sep=1pt,circle] at (0,0) {};
                \draw [->] (2,-0.5) — (3.5,-2) node [near start,right=5pt]{$\varphi$};
                \draw [->] (-2,-0.5) — (-3.5,-2) node [near start,left=5pt]{$\psi$};
                \end{tikzpicture}\\
                \end{center}
                \begin{tikzpicture} %molla
                \draw[domain=-360:0,smooth,variable=\t] plot (\t/360,{cos(\t)},{sin(\t)});
                \draw[domain=0:360,smooth,variable=\t] plot (\t/360,{cos(\t)},{sin(\t)});
                \draw[domain=360:720,smooth,variable=\t] plot (\t/360,{cos(\t)},{sin(\t)});
                \node at (-2,-1) {$\mathbb{R}^+$};
                \node [fill=black,inner sep=1pt,circle] at (0.05,0) {};
                \node

                at (0.05,0) {$0$};
                \node [fill=black,inner sep=1pt,circle] at (1.05,0) {};
                \node

                at (1.05,0) {$2\pi$};
                \draw [->] (3,0) — (6,0) node [midway,above]{$\varepsilon$};
                \draw (7.5,0) circle [radius=20pt];
                \node at (8.5,-1) {$U_1$};
                \node

                at (8.35,0) {$1$};
                \node [fill=black,inner sep=1pt,circle] at (8.2,0) {};
                \end{tikzpicture}
                \end{document}
                `

                Ci sono un po’ di cose su cui ho (consapevolmente) barato:
                ad esempio i pallini sulla molla non sono punti della molla, sono punti del piano “bidimensionale” del Latex, per interderci, se ho capito giusto il principio. Non avrei saputo come etichettare un punto nella “terza dimensione” (non quella sul piano della pagina, per capirci)… Il dominio della molla l’ho definito a tratti perchè definendolo “integralmente” mi dava dei fastidiosiissimi spigoli, mentre così no. Anche qui penso sia un problema di 3-dimensionalità, ma in verità non lo so, teorizzo. Questo disegno non è associato ad alcuna pubblicazione è banalmente un sollevamento ed è un disegno esplicativo di un processo dimostrativo, perciò mi seriviva che fosse chiaro e mi sembra che la resa sia abbastanza buona, provo ad ingrassare un po’ le linee se faccio in tempo che ammetto potrebbe solo migliorare la figura! Grazie a tutti comunque 🙂

              • #111736
                robitex
                Amministratore del forum
                  Up
                  0
                  Down
                  ::

                  Vercesi” post=112045`\documentclass{article}
                  \usepackage{tikz}
                  \usepackage{amsmath}
                  \usepackage{amssymb}
                  \begin{document}
                  %retta
                  \begin{center}
                  \begin{tikzpicture} %linea e frecce
                  \draw (-3,0) — (3,0) node [near start,above]{$\mathbb{R}^+$};
                  \node [above] at (0,0) {$0$};
                  \node [fill=black,inner sep=1pt,circle] at (0,0) {};
                  \draw [->] (2,-0.5) — (3.5,-2) node [near start,right=5pt]{$\varphi$};
                  \draw [->] (-2,-0.5) — (-3.5,-2) node [near start,left=5pt]{$\psi$};
                  \end{tikzpicture}\\
                  \end{center}
                  \begin{tikzpicture} %molla
                  \draw[domain=-360:0,smooth,variable=\t] plot (\t/360,{cos(\t)},{sin(\t)});
                  \draw[domain=0:360,smooth,variable=\t] plot (\t/360,{cos(\t)},{sin(\t)});
                  \draw[domain=360:720,smooth,variable=\t] plot (\t/360,{cos(\t)},{sin(\t)});
                  \node at (-2,-1) {$\mathbb{R}^+$};
                  \node [fill=black,inner sep=1pt,circle] at (0.05,0) {};
                  \node

                  at (0.05,0) {$0$};
                  \node [fill=black,inner sep=1pt,circle] at (1.05,0) {};
                  \node

                  at (1.05,0) {$2\pi$};
                  \draw [->] (3,0) — (6,0) node [midway,above]{$\varepsilon$};
                  \draw (7.5,0) circle [radius=20pt];
                  \node at (8.5,-1) {$U_1$};
                  \node

                  at (8.35,0) {$1$};
                  \node [fill=black,inner sep=1pt,circle] at (8.2,0) {};
                  \end{tikzpicture}
                  \end{document}
                  `

                  Ci sono un po’ di cose su cui ho (consapevolmente) barato:
                  ad esempio i pallini sulla molla non sono punti della molla, sono punti del piano “bidimensionale” del Latex, per interderci, se ho capito giusto il principio. Non avrei saputo come etichettare un punto nella “terza dimensione” (non quella sul piano della pagina, per capirci)… Il dominio della molla l’ho definito a tratti perchè definendolo “integralmente” mi dava dei fastidiosiissimi spigoli, mentre così no. Anche qui penso sia un problema di 3-dimensionalità, ma in verità non lo so, teorizzo. Questo disegno non è associato ad alcuna pubblicazione è banalmente un sollevamento ed è un disegno esplicativo di un processo dimostrativo, perciò mi seriviva che fosse chiaro e mi sembra che la resa sia abbastanza buona, provo ad ingrassare un po’ le linee se faccio in tempo che ammetto potrebbe solo migliorare la figura! Grazie a tutti comunque 🙂

                  I tre comandi \draw si possono unificare in un solo. La direttiva plot infatti, di default prende solo 25 punti dell’intervallo, perciò la curva può apparire una spezzata, specie dove la curvatura è alta. Più punti si ottengono con l’opzione samples.

                  Inoltre, essendo la figura unica, è più corretto costruirla all’interno di un unico ambiente tikzpicture.

                  Quanto alla modifica del punto di vista da cui si osserva la curva 3D, non mi pare che nel manuale vengano descritte opzioni in tal senso. plot è orientato al 2d.

                  Mi interesserebbe approfondire la questione di come plottare una curva 3D in base ad un punto di vista. Si tratta di un misto di matematica e tecniche grafiche che ai lettori penso non dispiacerebbe.
                  R.

              Visualizzazione 8 filoni di risposte
              • Devi essere connesso per rispondere a questo topic.

              Go to top