Re: Spettro elettromagnetico con TikZ

#85171
Up
0
Down
::


OK, sono completamente sconvolto! Io non ci sarei mai arrivato!!

Questa pignoleria del TikZ non mi sorprende visto che pacchetto pignolo è, ma mi ha comunque lasciato interdetto! Vi mostro lo spettro per come l’ho fatto. Vorrei fare un ulteriore aggiustamento: mi piacerebbe che anche lo spazio bianco tra le linee curve che fanno da zoom per il visibile fosse fatta ad arcobaleno, ma con un’opacità del 50%. Son convinto che non basti farne una curva chiusa e usare shade con il raimbow per farlo, vero?

Ciao,

Andrea

`
% !TEX encoding = UTF-8 Unicode
% !TEX TS-program = pdflatex
%%%%%%%
%%%%%%%
%%%%%%%
%%%%%%%
\documentclass[10pt,fleqn,oneside]{article}

\usepackage[a4paper]{geometry}
\geometry{height=210mm,width=145mm}

%— Testo
\usepackage[LGRx,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}

%— Pacchetti utili
\usepackage{lmodern}
\usepackage{amsmath,amssymb,amsthm,bm}
\usepackage{siunitx}
\sisetup{text-micro=\textgreek{m},
math-micro=\textgreek{m}}
\usepackage{microtype}
\usepackage[dvipsnames*,svgnames]{xcolor}
\usepackage{pgf,tikz}
\usetikzlibrary{shadings}
\usepackage{caption}
\captionsetup{font=footnotesize,format=hang,
labelfont={bf},labelsep=period}

%%%%%%%
%%%%%%%
%%%%%%%

%— Inizio del documento:

\begin{document}

%%%%%%
%%%%%%
%%%%%%

\begin{center}
\begin{tikzpicture}[scale=0.88,font=\footnotesize,
line cap=round,
line join=round,
x=1.0cm,y=1.0cm]
% Spectrum
\pgfdeclarehorizontalshading{rainbow}{100bp}{
color(0bp)=(violet); color(25bp)=(violet);
color(35bp)=(blue); color(45bp)=(cyan);
color(55bp)=(green); color(65bp)=(yellow);
color(75bp)=(red); color(100bp)=(red)}
\shade[shading=rainbow] (0,0) rectangle (9,1);

\draw[very thin] (0,0) rectangle (9,1);
\draw (0,0) — (9,0);
\foreach \x in {0,0.5,…,9} \draw[thin] (\x,0) — (\x,-0.1);
\foreach \x/\num in {0.5/400,3/500,5.5/600,8/700}
\draw[semithick] (\x,0) — (\x,-0.2)
node[below,font=\tiny] {$\SI{\num}{\nano\meter}$};
%% Altro spettro
\fill[black] (-2.5,3) — (12.5,3) — (13,3.5) — (12.5,4) — (-2.5,4) — (-3,3.5) — cycle;
% Microvisibile
\shade[shading=rainbow] (3,3) rectangle (3.35,4);
% Linee di collegamento
\draw[thin] (3,2.95) ..controls +(-90:1.5) and +(20:1).. (0,1.05);
\draw[thin] (3.35,2.95) ..controls +(-90:1.5) and +(170:1.2).. (9,1.05);
%
\foreach \x in {-2,-1,…,12} \draw (\x,3) — (\x,2.9);
%\foreach \x in {-2,-1,…,12} \draw (\x,4) — (\x,4.1);
\begin{scope}[font=\tiny]
% Scala dello spettro
\node[below] at (-2,2.9) {$\SI{0.001}{\nano\meter}$};
\node[below] at (1,2.9) {$\SI{1}{\nano\meter}$};
\node[below] at (4,2.9) {$\SI{1000}{\nano\meter}$};
\node[below] at (7,2.9) {$\SI{1}{\milli\meter}$};
\node[below] at (8,2.9) {$\SI{1}{\meter}$};
\node[below] at (10,2.9) {$\SI{1}{\kilo\meter}$};
\begin{scope}
% Nome delle onde
\node

at (-2.2,3.6)
{\begin{minipage}[t]{1cm}raggi\\cosmici\end{minipage}};
\node

at (-0.7,3.6)
{\begin{minipage}[t]{1cm}raggi\\gamma\end{minipage}};
\node

at (0.6,3.6)
{\begin{minipage}[t]{1cm}raggi X\\\null\end{minipage}};
\node

at (2.1,3.6)
{\begin{minipage}[t]{1cm} UV\\\null\end{minipage}};
\node

at (3.4,3.6)
{\begin{minipage}[t]{1.2cm}\centering infrarosso\\(IR)\end{minipage}};
\node

at (4.8,3.6)
{\begin{minipage}[t]{1.2cm}microonde\\\null\end{minipage}};
\node

at (6.6,3.6)
{\begin{minipage}[t]{1cm}radar\\\null\end{minipage}};
\node

at (7.6,3.6)
{\begin{minipage}[t]{2cm}radio\\\null\end{minipage}};
\node

at (9.6,3.6)
{\begin{minipage}[t]{1cm}banda\\larga\end{minipage}};
\end{scope}
\end{scope}
\end{tikzpicture}
\end{center}

\end{document}
`

Go to top