tikzdraw/physics/michelson_morley.tex

75 lines
2.8 KiB
TeX
Executable File

\documentclass{standalone}
%
\usepackage{tikz}
\usetikzlibrary{bending,arrows.meta}
\usepackage{tkz-euclide}
\usetkzobj{all}
\usepackage{xcolor}
%
\definecolor{earth}{HTML}{0089FA}
\definecolor{moon}{HTML}{AFAFAF}
%
\usepackage{fontspec}
\setmainfont{Open Dyslexic}
%
\title{Michelson and Morley's experiment}
\begin{document}
\begin{tikzpicture}[>={[inset=0,angle'=27]Stealth}]
%
\draw [use as bounding box,color=white] (-13,11) -| (-13,-12) |- (11,-12) -| (11,11);
\begin{scope}
\draw [fill=moon] (0,0) circle (10cm);
%
\tkzDefPoint(0,0){O}
\tkzDefPoint(-3,0.25){A} \tkzDefPoint(3,0.25){B}
\tkzDefPoint(3,-0.25){C} \tkzDefPoint(-3,-0.25){D}
%
\tkzDefPointBy[rotation = center O angle 45](A) \tkzGetPoint{A1}
\tkzDefPointBy[rotation = center O angle 45](B) \tkzGetPoint{B1}
\tkzDefPointBy[rotation = center O angle 45](C) \tkzGetPoint{C1}
\tkzDefPointBy[rotation = center O angle 45](D) \tkzGetPoint{D1}
%
\tkzDefPoint(-12,0){R1} \tkzDefPoint(-2,0){F1}
\tkzDefPoint(8,0){R2} \tkzDefPoint(6,0){F2}
\tkzDrawSegment[->](R1,F1)
\tkzDrawSegment[->](F1,F2)
\tkzDrawSegment[<-](F2,R2)
\tkzDrawSegment(R1,R2)
%
\tkzInterLL(R1,R2)(A1,B1) \tkzGetPoint{M1}
\tkzDefLine[orthogonal=through M1](R1,R2) \tkzGetPoint{E}
%
\tkzDefPoint(-3,8){A2} \tkzDefPoint(3,8){B2}
\tkzDefPoint(-3,7.5){D2} \tkzDefPoint(3,7.5){C2}
\tkzInterLL(M1,E)(C2,D2) \tkzGetPoint{M2}
\tkzDrawSegment[->](M1,M2)
%
\tkzDefPoint(8,-3){A3} \tkzDefPoint(8.5,-3){B3}
\tkzDefPoint(8.5,3){C3} \tkzDefPoint(8,3){D3}
%
\tkzInterLL(R1,R2)(C1,D1) \tkzGetPoint{M3}
\tkzDefLine[orthogonal=through M3](R2,R1) \tkzGetPoint{F1}
\tkzDefLine[orthogonal=through M1](R2,R1) \tkzGetPoint{F2}
%
\tkzDefPoint(-0.7,-9){a} \tkzDefPoint(0.7,-9){b}
\tkzDefPoint(0.7,-11){c} \tkzDefPoint(-0.7,-11){d}
\tkzInterLL(M3,F1)(a,b) \tkzGetPoint{f1}
\tkzDrawSegment[->](M3,f1)
\tkzInterLL(M1,F2)(a,b) \tkzGetPoint{f2}
\tkzDrawSegment[->](M1,f2)
\tkzDrawPolygon[fill=white](a,b,c,d)
%
\tkzDrawPolygon[fill=earth,opacity=0.5,ultra thick](A1,B1,C1,D1)
\tkzDrawPolygon[fill=earth,opacity=0.5,ultra thick](A2,B2,C2,D2)
\tkzDrawPolygon[fill=earth,opacity=0.5,ultra thick](A3,B3,C3,D3)
%
\node at (0,8.5) {\textcolor{black}{\fontsize{15}{16}\selectfont mirror}};
\node at (-4.5,0.5) {\textcolor{black}{\fontsize{15}{16}\selectfont coherent light beam}};
\node[left] at (8.5,3.5) {\textcolor{black}{\fontsize{15}{16}\selectfont mirror}};
\node at (-3.5,-2.5) {\textcolor{black}{\fontsize{15}{16}\selectfont semitrasparent}};
\node at (-3.5,-3.1) {\textcolor{black}{\fontsize{15}{16}\selectfont mirror}};
\node[left] at (-0.7,-10.5) {\textcolor{black}{\fontsize{15}{16}\selectfont detector}};
\end{scope}
%
\end{tikzpicture}
\end{document}