- Questo topic ha 9 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 10 anni, 8 mesi fa da
Matteo.
-
CreatoreTopic
-
28 Dicembre 2015 alle 12:33 #104474::

Ciao a tutti. Qualcuno ha tempo e voglia di darmi una mano con questa figura?
Non devo riprodurla esattamente: ho una certa libertà di manovra.
Non saprei da che parte iniziare per riprodurre la spiaggia sulla destra. Anche la rosa dei venti richiederà una certa pazienza (in mancanza di strumenti più veloci)…
Grazie anticipate,
Lorenzo
-
CreatoreTopic
-
AutoreRisposte
-
-
28 Dicembre 2015 alle 13:10 #104475
-
28 Dicembre 2015 alle 14:36 #104476
-
28 Dicembre 2015 alle 14:54 #104477::
Qui serve hobby 😉Riporto un esempio da cui prendere spunto: per dare una forma più frastagliata basta incrementare il numero di punti. `\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{hobby}\begin{document}
\begin{tikzpicture}
\draw[help lines,step=0.5] (0,0)grid(4,4);
% spiaggia
\fill[gray!50] (2.35,4)
to[curve through={(2.65,3.75)..(3,3.5)..(2.8,3.45)..(2.7,3.25)..(2.9,2.95)..(3.5,2.85)..(3.4,2)}]
(4,1)–(4,4)–(3,4);
% bordo spiaggia
\draw(2.35,4)
to[curve through={(2.65,3.75)..(3,3.5)..(2.8,3.45)..(2.7,3.25)..(2.9,2.95)..(3.5,2.85)..(3.4,2)}]
(4,1);
% città
\node [circle,fill=black,text=black,inner sep=1pt,label={above:A}](A)at(2.9,2.95){};
\node [circle,fill=black,text=black,inner sep=1pt,label={above:B}](B)at(3.4,2){};
\end{tikzpicture}\end{document}`
Ciao
Claudio
-
28 Dicembre 2015 alle 16:20 #104478::
`\begin{tikzpicture}[font=\small,scale=1.5]
\draw [help lines,step=0.25] (0,0) grid (4,4);
% spiaggia
\fill [gray!50] (2.35,4) to [curve through={(2.65,3.75)..(3,3.5)..(2.8,3.45)..(2.7,3.25)..(3,3)..(3.5,2.85)..(3.5,1.5)}]
(4,1)–(4,4)–(3,4);
% bordo spiaggia
\draw (2.35,4) to [curve through={(2.65,3.75)..(3,3.5)..(2.8,3.45)..(2.7,3.25)..(3,3)..(3.5,2.85)..(3.5,1.5)}]
(4,1);
% città
\node [circle,fill=black,text=black,inner sep=1pt,label={above:A}](A) at (3,3){};
\node [circle,fill=black,text=black,inner sep=1pt,label={right:B}](B) at (3.5,1.5){};\draw [thick,red] (3,3) — (1.5,1.5);
\draw [thick,red] (3.5,1.5) — (1.5,1.5);\draw (1.5,1.5) [red,fill=red,very thick] circle (1pt);
\draw (0.75,2.5) [thick,fill=gray!50] circle (1.5pt);
\node [above=2pt] at (0.75,2.5) {Isola Rotonda};
\end{tikzpicture}`
Grazie al tuo codice ho quasi risolto. Riesci a darmi una mano anche per la bussola? Basta anche qualcosa di più stilizzato rispetto all’ottimo originale…
-
28 Dicembre 2015 alle 18:27 #104479::
Credo che questa possa essere una soluzione`\documentclass[a4paper,11pt,twoside,openright,final]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}\usepackage{pgfplots,relsize,pgfplotstable,lmodern,pgfkeys, pgfmath}
\pgfplotsset{compat=1.3}
\pgfkeys{
/pgf/number format/.cd, % “change directory”
use comma
}
\usetikzlibrary{plotmarks,arrows.meta,calc,intersections,through,backgrounds,bending}
\usetikzlibrary{positioning,patterns,decorations.markings}\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}
\draw[step=1cm,gray,very thin](0,0) grid (16,11);\path[draw=black,fill=gray] (11,11).. controls (11.2,10.5) .. (11.3,10) .. controls
(11.5,9.5) .. (12,9).. controls
(12.1,8.6) .. (12,8).. controls
(11.7,7).. (12,6.8).. controls
(13,7.1)..(13.5,7).. controls
(13.7,6.5)..(13.2,6)..controls
(13.1,5.7)..(13.2,5).. controls
(13.1,4.2)..(13.5,4)..controls
(14,3.8)..(14.3,3)..controls
(15,2.3)..(15.3,2)..controls
(15.3,1.8)..(15.5,1.8)..controls
(15.6,1.8)..(16,1.7)–(16,11)–cycle;\path[draw=black,fill=black] (12,9) circle
(0.1) node[right, xshift=3] () {A};\path[draw=black,fill=black] (14.3,3) circle
(0.1) node[right, xshift=3] () {B};\path[draw=black,fill=gray] (2,6) circle
(0.1) node[above, yshift=3] () {Isola Rotonda};\coordinate (R) at (4,9);
\foreach \angle in {0, 90,180,270}
{\draw[draw=black,fill=black] (R)–($(R)+(\angle-45:0.2)$)–($(R)+(\angle:1)$)–cycle;
\draw[draw=black,fill=white] (R)–($(R)+(\angle+45:0.2)$)–($(R)+(\angle:1)$)–cycle;
\coordinate (D) at ($(R)+(\angle+45:0.2)$);
\draw[draw=black,fill=black](D)–($(D)+(\angle-9.3535:0.0906)$)–($(D)+(\angle+45:0.5)$)–cycle;
\draw[draw=black,fill=white](D)–($(D)+(\angle+99.3535:0.0906)$)–($(D)+(\angle+45:0.5)$)–cycle;};\node at ($(R)+(0:1.2)$) {E};
\node at ($(R)+(45:1.2)$) {NE};
\node at ($(R)+(90:1.2)$) {N};
\node at ($(R)+(135:1.2)$) {NO};
\node at ($(R)+(180:1.2)$) {O};
\node at ($(R)+(215:1.2)$) {SO};
\node at ($(R)+(270:1.2)$) {S};
\node at ($(R)+(315:1.2)$) {SE};\end{tikzpicture}
\end{figure}
\end{document}`Probabilmente si può migliorare il bordo, ma i punti sono stati valutati a occhio!
-
30 Dicembre 2015 alle 8:47 #104480::
`\begin{tikzpicture}[font=\small,scale=1.39]\draw [cyan!5,fill=cyan!7.5] (0,0) rectangle (4,4);
\draw [help lines,step=0.25] (0,0) grid (4,4);
\coordinate (R) at (1.5,3.5);
\begin{scope}[scale=0.3,font=\scriptsize]
\foreach \angle in {0, 90,180,270}
{\draw[draw=black,fill=black] (R)–($(R)+(\angle-45:0.2)$)–($(R)+(\angle:1)$)–cycle;
\draw[draw=black,fill=white] (R)–($(R)+(\angle+45:0.2)$)–($(R)+(\angle:1)$)–cycle;
\coordinate (D) at ($(R)+(\angle+45:0.2)$);
\draw[draw=black,fill=black](D)–($(D)+(\angle-9.3535:0.0906)$)–($(D)+(\angle+45:0.5)$)–cycle;
\draw[draw=black,fill=white](D)–($(D)+(\angle+99.3535:0.0906)$)–($(D)+(\angle+45:0.5)$)–cycle;};\node at ($(R)+(0:1.2)$) {E};
\node at ($(R)+(45:1.2)$) {NE};
\node at ($(R)+(90:1.2)$) {N};
\node at ($(R)+(135:1.2)$) {NO};
\node at ($(R)+(180:1.2)$) {O};
\node at ($(R)+(215:1.2)$) {SO};
\node at ($(R)+(270:1.2)$) {S};
\node at ($(R)+(315:1.2)$) {SE};
\end{scope}% spiaggia
\fill [Maroon!50] (2.35,4) to [curve through={(2.65,3.75)..(3,3.5)..(2.8,3.45)..(2.7,3.25)..(3,3)..(3.5,2.85)..(3.5,1.5)}]
(4,1)–(4,4)–(3,4);
% bordo spiaggia
\draw (2.35,4) to [curve through={(2.65,3.75)..(3,3.5)..(2.8,3.45)..(2.7,3.25)..(3,3)..(3.5,2.85)..(3.5,1.5)}]
(4,1);
% città
\node [circle,fill=black,text=black,inner sep=1pt,label={above:A}](A) at (3,3){};
\node [circle,fill=black,text=black,inner sep=1pt,label={right:B}](B) at (3.5,1.5){};\draw [thick,red] (3,3) — (1.5,1.5);
\draw [thick,red] (3.5,1.5) — (1.5,1.5);\draw [thick,dashed] (1.5,1.5) — (0.75,1.5);
\draw [thick,dashed] (0.75,1.5) — (0.75,2.5);
\draw [blue,thick,dashed] (0.75,2.5) — (1.5,1.5);%\draw [thick] (3,3) — (1.5,3);
\draw (1.5,1.5) [red,fill=red,very thick] circle (1pt);
\draw (0.75,2.5) [thick,fill=Maroon!50] circle (1.5pt);
\node [above=2pt] at (0.75,2.5) {Isola Rotonda};\end{tikzpicture}`
Grazie a tutti i vostri interventi, ce l’ho fatta! 🙂
-
30 Dicembre 2015 alle 15:49 #104481::
cfiandra” post=104524Qui serve hobby 😉
Riporto un esempio da cui prendere spunto: per dare una forma più frastagliata basta incrementare il numero di punti. `\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{hobby}\begin{document}
\begin{tikzpicture}
\draw[help lines,step=0.5] (0,0)grid(4,4);
% spiaggia
\fill[gray!50] (2.35,4)
to[curve through={(2.65,3.75)..(3,3.5)..(2.8,3.45)..(2.7,3.25)..(2.9,2.95)..(3.5,2.85)..(3.4,2)}]
(4,1)–(4,4)–(3,4);
% bordo spiaggia
\draw(2.35,4)
to[curve through={(2.65,3.75)..(3,3.5)..(2.8,3.45)..(2.7,3.25)..(2.9,2.95)..(3.5,2.85)..(3.4,2)}]
(4,1);
% città
\node [circle,fill=black,text=black,inner sep=1pt,label={above:A}](A)at(2.9,2.95){};
\node [circle,fill=black,text=black,inner sep=1pt,label={above:B}](B)at(3.4,2){};
\end{tikzpicture}\end{document}`
Ciao
ClaudioHo provato a lanciare questo esempio compilabile, ma mi da come errore
(c:/texlive/2015/texmf-dist/tex/latex/hobby/pml3array.sty
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! LaTeX error: “kernel/command-not-defined”
!
! Control sequence \__msg_show_variable:Nnn undefined.
!
! See the LaTeX3 documentation for further information.
!
! For immediate help type H.
!………………………………………..l.185 …riant:Nn \__msg_show_variable:Nnn { Nno }
?
Ho installato TeXlive da qualche mese e con la versione completa, è possibile che io debba aggiornare qualcosa o il problema è di altra natura?
-
30 Dicembre 2015 alle 16:01 #104482::
schwarz89it” post=104551
Qui serve hobby 😉
Riporto un esempio da cui prendere spunto: per dare una forma più frastagliata basta incrementare il numero di punti. `\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{hobby}\begin{document}
\begin{tikzpicture}
\draw[help lines,step=0.5] (0,0)grid(4,4);
% spiaggia
\fill[gray!50] (2.35,4)
to[curve through={(2.65,3.75)..(3,3.5)..(2.8,3.45)..(2.7,3.25)..(2.9,2.95)..(3.5,2.85)..(3.4,2)}]
(4,1)–(4,4)–(3,4);
% bordo spiaggia
\draw(2.35,4)
to[curve through={(2.65,3.75)..(3,3.5)..(2.8,3.45)..(2.7,3.25)..(2.9,2.95)..(3.5,2.85)..(3.4,2)}]
(4,1);
% città
\node [circle,fill=black,text=black,inner sep=1pt,label={above:A}](A)at(2.9,2.95){};
\node [circle,fill=black,text=black,inner sep=1pt,label={above:B}](B)at(3.4,2){};
\end{tikzpicture}\end{document}`
Ciao
ClaudioHo provato a lanciare questo esempio compilabile, ma mi da come errore
(c:/texlive/2015/texmf-dist/tex/latex/hobby/pml3array.sty
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! LaTeX error: “kernel/command-not-defined”
!
! Control sequence \__msg_show_variable:Nnn undefined.
!
! See the LaTeX3 documentation for further information.
!
! For immediate help type H.
!………………………………………..l.185 …riant:Nn \__msg_show_variable:Nnn { Nno }
?
Ho installato TeXlive da qualche mese e con la versione completa, è possibile che io debba aggiornare qualcosa o il problema è di altra natura?
Purtroppo è un problema noto: la soluzione è scaricare da https://github.com/loopspace/hobby il .dtx, compilarlo e inserire nel proprio albero personale i file del pacchetto (hobby.code.tex, pgflibraryhobby.code.tex, tikzlibraryhobby.code.tex). Non è una gran soluzione, ma funziona. Per qualcosa di definitivo bisognerà aspettare che l’autore carichi su CTAN la nuova versione.
Ciao
Claudio
-
30 Dicembre 2015 alle 16:07 #104483
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.