azoun

Risposte nei forum create

Stai visualizzando 15 risposte – dal 31 al 45 (di 112 totali)
  • Autore
    Risposte
  • in risposta a: Disegnare con LaTeX #59360
    Up
    0
    Down
    ::

    Ivan ha ragione a dire che non fa diagrammi 3D, non parché non si possano fare, ma perché è difficilissimo farli senza interfaccia adatta.

    Il problema, secondo me, è la mancanza del rendering dell’immagine 3D.

    Qualcosa si sta muovendo appunto con la CVS di PGFplots e con Sketch i quali disegnano per primi i poligoni più lontani dalll’osservatore, disegnandoci sopra quelli più vicini.

    Purtroppo lo svantaggio di geometrie più complesse è la visibilità dei lati dei poligoni che compongono il modello. Si può ovviare a questo come fa De Marco nelle sue figure, ma comunque, anche se ottime, si ha un senso di piattezza che non si avrebbe se il sistema di rendering riconoscesse i bordi da disegnare.

    Ho provato a cercare qualcosa a riguardo, ma ho scoperto che ci fanno dei corsi interi all’università, quindi è una materia che non si può imparare velocemente.

    La cosa bellissima(la butto tanto per…) sarebbe fare qualcosa con LuaTeX: immaginate di scrivere una scena 3D dentro un ambiente e lui te la renderizza e te la disegna come fa il programma Sketch.

    Saluti

    Michele

    in risposta a: Disegnare con LaTeX #59357
    Up
    0
    Down
    ::


    Ciao,

    io, per la mia esperienza, consiglio TikZ per fare tutta la grafica 2D, in quanto con questo strumento è impossibile fare del 3D a meno che non si usino programmi esterni come Sketch che generano codice TikZ di una scena 3D.

    Per quanto riguarda la conoscenza di TikZ, certo è impossibile ricordarsi tutti i comandi. Bisogna invece sapere cosa è capace di fare, perché una volta che si ha una soluzione per ottenere un determinato disegno, basta cercare i comandi sull’ottimo manuale.

    Inoltre stanno incominciando a nascere diversi pacchetti basati su PGF/TikZ. L’autore più prolifico è comunque il francese Alain Matthes, raggiunbile qui.

    Questo è quello che ho da dire.

    Saluti

    Michele

    in risposta a: Disegnare una parte di trave #59336
    Up
    0
    Down
    ::


    Ciao,

    hai chiesto una cosa che è tutto tranne che banale. Hai due strade:

    La prima è aiutarti con il pacchetto tkz-3dplot. In questo caso il codice che propongo è il seguente
    `
    \documentclass{standalone}

    \usepackage{tikz}
    \usetikzlibrary{calc,intersections}

    \usepackage{tikz-3dplot}

    \begin{document}
    \centering

    \def\radius{5}
    \def\h{3}
    \pgfmathsetmacro{\AC}{sqrt(\radius^2-\h^2)}
    \pgfmathsetmacro{\angleChord}{acos(\h/\radius)}
    \begin{tikzpicture}
    % circle
    \coordinate (O) at (0,0);
    \draw[thick,name path=circle] (O) circle[radius=\radius];

    % Chord
    \path[name path=rough_chord] ($(O)+(\radius,-\h)$)–($(O)-(\radius,\h)$);
    \path[name intersections={of=circle and rough_chord}];
    \coordinate (A) at (intersection-1);
    \coordinate (B) at (intersection-2);
    \draw (A)node

    {$A$}–(B)node

    {$B$};

    % High
    \coordinate (C) at ($(A)!(O)!(B)$);
    \draw[dashed](O)–(C)node[midway,right]{$h$};

    % draw center
    \fill (O)circle(.5mm)node[above]{$O$};

    % draw angle
    \draw[dashed](A)–(O)–(B);
    \draw[<->]($(O)-(0,\h/2)$)arc[radius = \h/2,
    start angle = 270,
    delta angle = -\angleChord];
    \node[below] (theta) at ($(O)+({-90-\angleChord/2}:\h/2)$){$\theta$};
    \end{tikzpicture}

    \vskip 2cm

    \tdplotsetmaincoords{70}{30}
    \begin{tikzpicture}[tdplot_main_coords]
    \def\MetaLunghezza{3}

    % ARCS
    %->1
    \tdplotsetrotatedcoords{0}{90}{-90}
    \coordinate (Shift) at (\MetaLunghezza,0,0);
    \tdplotsetrotatedcoordsorigin{(Shift)}
    \tdplotdrawarc[tdplot_rotated_coords,]{(0,0,0)}{\radius}{90-\angleChord}{90+\angleChord}{}{}

    %->2
    \def\ang{65}
    \coordinate (Shift) at (-\MetaLunghezza,0,0);
    \tdplotsetrotatedcoordsorigin{(Shift)}
    \tdplotdrawarc[tdplot_rotated_coords,]{(0,0,0)}{\radius}{90-\angleChord}{\ang}{}{}

    % plane cut
    \draw[dashed] (-\MetaLunghezza,0,0)–(\MetaLunghezza,0,0);
    \draw[fill=white](-\MetaLunghezza,-\AC,-\h)–
    (-\MetaLunghezza,\AC,-\h)–
    (\MetaLunghezza,\AC,-\h)–
    (\MetaLunghezza,-\AC,-\h)–
    cycle;

    % connecting line
    \pgfmathsetmacro{\pointX}{-\MetaLunghezza}
    \pgfmathsetmacro{\pointY}{-\radius*cos(\ang)}
    \pgfmathsetmacro{\pointZ}{-\radius*sin(\ang)}
    \coordinate (point) at (\pointX,\pointY,\pointZ);
    \draw(point)–++(2*\MetaLunghezza,0,0);

    \end{tikzpicture}
    \end{document}
    `

    che da il seguente risultato(clicca sull’immagine per ingrandire):

    Hai quattro parametri con cui giocare:
    1. \radius
    2. \h distaza della corda dal centro dlla sezione circolare
    3. \MetaLunghezza della trav
    4. \ang angolo che serve per disegnae bene la retta inferiore che unisce le sue curve in prospettiva

    La seconda soluzione è affidarti al programma Sketch raggiungibile qui

    Nellaa seconda non dovresti usare il trucchetto che ho usato con il parametro \ang, ma dovresti dare ad ogni faccia del cilindro un colore diverso.

    Spero di esserti stato di aiuto.

    Michele

    P.S. Il disegno ti serve nell’ambito della teoria delle travi, in particolare per la formula di Jourawski per determinare il taglio?

    in risposta a: Ridefinire \@makecaption e \caption #59003
    Up
    0
    Down
    ::


    Qualcuno mi può scrivere la definizione del comando \caption o dirmi dove lo trovo?

    Grazie

    Michele

    in risposta a: Ridefinire \@makecaption e \caption #59002
    Up
    0
    Down
    ::


    Ciao,

    ecco la soluzione che ho trovato
    `
    %%%%%%%%%%%%%%%%
    % FLOAT FIGURE %
    %%%%%%%%%%%%%%%%
    %\def\StarTrekFontScreen{\setromanfont{SWISS 911 UCm BT}}

    \newlength\@figureWidth
    %\show\fnum@figure

    \newlength\@captionHeight
    %\show\@captionHeight

    \newenvironment*{tikzgraphic}[5]{%
    % #1 = h t p oppure b
    % #2 = total picture width(cm)
    % #3 = picture name
    % #4 = caption
    % #5 = label
    \@float{figure}[#1]
    \centering
    \def\@CAP{#4}
    \def\@LAB{#5}

    \begin{tikzpicture}[remember picture]
    \def\@Ydist{1.5ex}
    \def\@Xdist{1ex}
    \def\@YH{5ex}
    \def\@topHeight{.4cm}
    \def\@bigRadius{.5cm}
    \def\@smallRadius{.1cm}

    \pgfmathsetlength{\@figureWidth}{(#2-(2*(\@Xdist+\@YH)))}
    \node[inner sep=-\pgflinewidth/2] (figure) at (0,0){\includegraphics[width=\@figureWidth]{#3}};

    \advance \c@figure by 1

    \node[minimum width = \@figureWidth,
    anchor = north west,
    fill = \mycolor,
    draw = \mycolor,
    inner xsep = 1ex,
    inner ysep = 1ex] (caption) at ($(figure.south west)+(0,-\@Ydist)$)
    {\begin{minipage}{\@figureWidth-2ex}
    {\StarTrekFontScreen\Large \fnum@figure}

    {\normalsize #4}
    \end{minipage}};

    \getheightofnode{\@captionHeight}{caption}

    \node[anchor = south,
    minimum width = \@figureWidth,
    minimum height = \@topHeight,
    fill = \mycolor,
    draw = \mycolor] (top) at ($(figure.north)+(0,\@Ydist)$){};

    \foreach \sign/\loc in {+/east,-/west}{
    \coordinate (E\loc) at ($(caption.south \loc)+(\sign\@Xdist,0)$);
    \coordinate (F\loc) at ($(E\loc)+(0,\@captionHeight)$);
    \coordinate (H\loc) at ($(top.north \loc)+(\sign\@Xdist,0)$);
    \coordinate (G\loc) at ($(top.south \loc)+(\sign\@Xdist,0)$);
    \fill[HEAD] (E\loc)arc[radius=\@bigRadius,start angle=-90,delta angle=\sign90]–
    ($(H\loc)+(\sign\@bigRadius,-\@bigRadius)$)
    arc[radius=\@bigRadius,start angle={90-\sign 90},delta angle=\sign90]–
    (G\loc)
    arc[radius=\@smallRadius,start angle=90,delta angle=-\sign90]–
    ($(F\loc)+(\sign\@smallRadius,\@smallRadius)$)
    arc[radius=\@smallRadius,start angle={90-\sign 90},delta angle=-\sign90]–
    cycle;}
    }{\end{tikzpicture}
    \caption{\@CAP}\label{\@LAB}\end@float}

    %%%%%%%%%%%
    % CAPTION %
    %%%%%%%%%%%
    \long\def\@makecaption#1#2{%
    \advance \c@figure by -1
    }
    `

    Codice da far girare con XeLaTeX o LuaLaTeX oppure togiere la riga in cui si definisce un font che ho installato sul mio OS.

    L’idea è questa…

    Praticamente ho imbrogliato il comando caption perché scrivo la didascalia come nodo nell’ambiente tikzpicture dove nelle righe precedendi faccio avanzare il counter \c@figure
    per mettere il numero giusto(altrimenti LaTeX stamperebbe tutti i numeri meno uno).

    Il comando \@makecaption invece lo svuoto completamente, lasciando comunque due input, e lo sostituisco con una sottrazione di uno del counter \c@figure.

    Il risultato si può vedere qui sotto

    Che ne dite? avreste affrontato il problema in modo diverso?

    Ora l’ulteriore passo è adattare il tutto, magari creando ambienti apposta, a tabelle, figure create con tikz e pgfplots e la cosa più difficile(immagino) adattarlo a delle subfigure create con il pacchetto subfig.

    Michele

    in risposta a: [Risolto]Quale è il font dell’università di Pisa? #58963
    Up
    0
    Down
    ::


    Ho trovato il font “incriminato” sul sito http://www.dafont.com grazie riconoscitore di font messo a disposizione.

    Purtroppo è un font a pagamento di nome Trajan Regular e costa 35$

    Saluti

    Michele

    in risposta a: [Risolto]Quale è il font dell’università di Pisa? #58962
    Up
    0
    Down
    ::


    Bella questa applicazione.

    Purtroppo spulciando il sito si capisce che il font che mi interessa sapere è usato in delle scritte salvate in file .gif quindi il programma immagino che non funzioni.

    Che il sito indicato usasse il font Times New Roman me ne ero accorto spulciando il sorgente del sito.

    Grazie comunque….

    La domanda rimane ancora aperta

    Michele

    in risposta a: Ridefinire \@makecaption e \caption #59000
    Up
    0
    Down
    ::


    Mi sono accorto che cambiando l’ambiente figure perdo il controllo delle opzioni [htpb].

    Mi sbaglio?

    Come faccio a recuperarle?

    Michele

    in risposta a: Ridefinire \@makecaption e \caption #58999
    Up
    0
    Down
    ::

    PS: ho leggermente modificato il tuo messaggio, se vuoi sapere dove, cerca \ddt. 😉

    Ops… scusate la volgarità…

    Vi farò sapere come risolverò il mio problema.

    Michele

    in risposta a: Ridefinire \@makecaption e \caption #58997
    Up
    0
    Down
    ::


    Si è stato il mio primo tentativo, ecco il codice:

    `
    \newlength\figureWidth
    \newenvironment*{tikzgraphic}[4]{%
    % #1 = total picture width(cm)
    % #2 = picture name
    \@float{figure}
    \centering
    \edef\CAP{#3}
    \edef\LAB{#4}
    \begin{tikzpicture}[remember picture]
    \def\Ydist{1ex}
    \def\Xdist{.5ex}
    \def\YH{5ex}
    \def\XH{\YH}
    \def\TH{2ex}
    \pgfmathsetmacro{\PictureWidth}{(#1-(2*(\Xdist+\YH)))*2.54/72}
    \node[inner sep=-\pgflinewidth/2] (figure) at (0,0){\includegraphics[width=\PictureWidth cm]{#2}};
    \edef\ddt{width=\PictureWidth cm}
    %\show\ddt
    \foreach \sign/\loc in {+/north,-/south}{
    \coordinate (A\loc) at ($(figure.\loc)+(\PictureWidth/2,\sign\Ydist)$);
    \coordinate (B\loc) at ($(A\loc)+(0,\sign\YH)$);
    \coordinate (C\loc) at ($(B\loc)-(\PictureWidth,0)$);
    \coordinate (D\loc) at ($(C\loc)+(0,-\sign\YH)$);
    \fill[HEAD](A\loc)–(B\loc)–(C\loc)–(D\loc)–cycle;
    }

    \foreach \sign/\loc in {+/east,-/west}{
    \coordinate (E\loc) at ($(figure.south \loc)+(\sign\Xdist,-\Ydist)$);
    \coordinate (F\loc) at ($(E\loc)+(0,-\YH)$);
    \coordinate (G\loc) at ($(figure.north \loc)+(\sign\Xdist,\Ydist)$);
    \coordinate (H\loc) at ($(G\loc)+(0,+\YH)$);
    \fill[HEAD] (F\loc)arc[radius=\YH,start angle=-90,delta angle=\sign90]–
    ($(current bounding box.north \loc)-(0,\YH)$)
    arc[radius=\YH,start angle={90-\sign 90},delta angle=\sign90]–
    (G\loc)arc[radius={\YH-\TH},start angle=90,delta angle=-\sign90]–
    ($(current bounding box.south \loc)+(-\sign\TH,{2*\YH-\TH})$)
    arc[radius={\YH-\TH},start angle={90-\sign 90},delta angle=-\sign90]–
    cycle;
    }}{\end{tikzpicture}\caption{\CAP}\label{\LAB}\end@float}
    `

    il risultato è questo

    L’intento è di inserire la caption all’interno del rettangolo inferiore, il quale avrà le seguenti dimensioni:

      larghezza: larghezza testo se inferiore alla larghezza della figura, larghezzafigura se caption troppo lunga
      altezza: pari al numero di righe in cui si divide il testo della caption

    Dopo essere riuscito a disegnare la cornice intorno alla figura, mi sono reso conto che non sono buono a passare certi parametri al comando caption, quindi ora sto battendo la strada della modifica del comando \caption.

    Consigli?

    Michele

    in risposta a: [Risolto]Quale è il font dell’università di Pisa? #58960
    Up
    0
    Down
    ::


    A pensare che lo volevo scrivere…

    Volevo sapere il font del carattere usato sotto il cherubino grande al centro della pagina internet raggiungibile qui

    Grazie

    Michele

    in risposta a: calcolare prodotto scalare con l’ausilio di pgfmath #58496
    Up
    0
    Down
    ::


    grazie mille per la chiarissima risposta!!

    in risposta a: calcolare prodotto scalare con l’ausilio di pgfmath #58493
    Up
    0
    Down
    ::


    Cavoli, non mi ero accorto di aver risposto nello stesso istante in cui a risposto egreg9

    \A non è una lista di token della forma richiesta, lo è la sua espansione.
    Enrico

    Vorrei capire meglio la soluzione che ha dato Gregorio. Per questo avrei delle domandine:

      1. Il fatto che nel mio codice mettessi \A significava che 1,1,1 era visto come un unico token?
      2. La soluzione è quindi fare espandere \A(cioè creare una lista ed un numero di token) prima di \vectorDotI(e per questo l’uso combinato di \edef ed \noexpand)?
      3. Passando al commando \vectorDotI, facendo rifarimento al codice da te suggerito e definendo prima \A e \B come faccio io, quando lo uso è come se scrivessi il codice di seguito?
      `\begingroup\endgroup\vectorDotI(1,1,1)(1,1,1)`
      4. Se si, \begingroup\endgroup serve per espandere solamente (#1)(#2) senza qualcosa precedente?

    Spero che le domande siano pertinenti e corrette.

    Saluti

    in risposta a: calcolare prodotto scalare con l’ausilio di pgfmath #58492
    Up
    0
    Down
    ::


    è quello che sto tentando di fare, vi farò sapere se ce la faccio…

    in risposta a: Consiglio su scalatura fotografie #56890
    Up
    0
    Down
    ::


    Grazie mille!
    Inizio subito la scalatura di tutte le immagini…

    Saluti

    Michele

Stai visualizzando 15 risposte – dal 31 al 45 (di 112 totali)

Go to top