Starparalax 帮助

Starparalax 帮助

我对 Latex 还不太熟悉,而且我刚刚了解 tikZ。我几乎无法画出三角形和角度。我只是想问您是否可以告诉我如何开始以下项目:https://en.wikipedia.org/wiki/Stellar_parallax#/media/File:Stellarparallax_parsec1.svg

序言:

\usepackage{appendixnumberbeamer}

\usepackage{booktabs}
\usepackage[scale=2]{ccicons}

\usepackage{pgfplots}
\usepgfplotslibrary{dateplot}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,bending,decorations.markings,intersections,angles,quotes,babe        l,lindenmayersystems,plotmarks}
\pgfdeclarelindenmayersystem{A}{%
  \symbol{F}{\pgflsystemstep=0.6\pgflsystemstep\pgflsystemdrawforward}
  \rule{A->F[+A][-A]}
}
\tikzset{
    arc arrow/.style args={%
    to pos 1 with length 2}{
    decoration={
    markings,
     mark=at position 0 with {\pgfextra{%
     \pgfmathsetmacro{\tmpArrowTime}{2/(\pgfdecoratedpathlength)}
     \xdef\tmpArrowTime{\tmpArrowTime}}},
    mark=at position {1-\tmpArrowTime} with {\coordinate(@1);},
    mark=at position {1-2*\tmpArrowTime/3} with {\coordinate(@2);},
    mark=at position {1-\tmpArrowTime/3} with {\coordinate(@3);},
    mark=at position {1} with {\coordinate(@4);
    \draw[-{Stealth[length=2,bend]}]       
    (@1) .. controls (@2) and (@3) .. (@4);},
    },
 postaction=decorate,
 },bent arrow/.style={arc arrow=to pos #1 with length 2mm},
 pics/strange bar/.style={code={\draw[thick] (-#1,0) -- (#1,0);}}
}

\usepackage{xspace}
\newcommand{\themename}{\textbf{\textsc{metropolis}}\xspace}

\usepackage{amsmath}
\usepackage{amssymb}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage{animate}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä}, germandbls={ß}}

框架:

\begin{frame}[fragile]
\hspace{2cm}
\begin{tikzpicture}[font=\sffamily]
    \draw[name path=A] (0,5) coordinate(TL) -- (0,0);
    \draw[bent arrow/.list={0.125,0.625}] (0,0) circle[x radius=2cm,y radius=0.5cm];
    \draw[fill=blue] (-2,0) circle[radius=1.5mm];
    \draw[fill=yellow] (0,0) circle[radius=2mm];
    \draw[name path=B] (-2,0) -- (1,5) coordinate(TR);
    \draw[fill=pink,name intersections={of=A and B,by=I}] (I) circle[radius=1.5mm]node[left=3pt]{Near star};
    \pic [angle radius=1cm,angle eccentricity=.5,draw,"p" alias=p] {angle = TR--I--TL};
     \draw[pink,latex-,thick] (p) -- ++ (1,-1) node[right,align=left,text=black]{parallax angle\\ = 1``};
    \draw ([xshift=5mm]I) -- ++ (3,0) coordinate (R1) pic[rotate=45]{strange bar=0.3}
    -- (0,0-|R1) coordinate (R2)  pic[rotate=45]{strange bar=0.3}node[midway,above,sloped] {1 parsec}
    -- (2.5,0); 
    \draw (-2,-0.3) -- (-2,-2) pic[rotate=45]{strange bar=0.3} -- (0,-2)node[midway,above]{1 AE} pic[rotate=45]{strange bar=0.3}
    -- (0,-0.3);
    \draw[bent arrow/.list={0.125,0.625},thin] (0,5)  circle[x radius=1cm,y radius=0.15cm];
    \draw[fill=pink] (TR) circle[radius=1mm] (-1,5) circle[radius=1mm];
    \draw[pink,latex-,thick,shorten >=1mm] (TR) -- ++ (0.5,-1) node[right,align=left,text=black] (AP) {apparent parallax\\ motion near star};
    \draw[pink,latex-,thick,shorten >=1mm] (-1,5) -- (AP.west);
\end{tikzpicture}
\end{frame}

答案1

欢迎使用 TeX-SE!这是为了让您入门。如果我误解了某些元素,我提前道歉。

\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{arrows.meta,bending,decorations.markings,intersections,angles,quotes}
% https://tex.stackexchange.com/a/430239/121799
\tikzset{% inspired by https://tex.stackexchange.com/a/316050/121799
    arc arrow/.style args={%
    to pos #1 with length #2}{
    decoration={
        markings,
         mark=at position 0 with {\pgfextra{%
         \pgfmathsetmacro{\tmpArrowTime}{#2/(\pgfdecoratedpathlength)}
         \xdef\tmpArrowTime{\tmpArrowTime}}},
        mark=at position {#1-\tmpArrowTime} with {\coordinate(@1);},
        mark=at position {#1-2*\tmpArrowTime/3} with {\coordinate(@2);},
        mark=at position {#1-\tmpArrowTime/3} with {\coordinate(@3);},
        mark=at position {#1} with {\coordinate(@4);
        \draw[-{Stealth[length=#2,bend]}]       
        (@1) .. controls (@2) and (@3) .. (@4);},
        },
     postaction=decorate,
     },bent arrow/.style={arc arrow=to pos #1 with length 2mm},
     pics/strange bar/.style={code={\draw[thick] (-#1,0) -- (#1,0);}}
}

\begin{document}
\begin{tikzpicture}[font=\sffamily]
 \draw[semithick] (80:12) arc(80:100:12) node[midway,above]{Distant stars};
 \fill foreach \X in {82,86,90,92,95,99} {(\X:12) circle[radius=1.5pt] };
 \draw[name path=A] (0,11.8) coordinate(TL) -- (0,0);
 \draw[bent arrow/.list={0.125,0.625}] (0,0) circle[x radius=2cm,y radius=0.5cm];
 \draw[fill=blue] (-2,0) circle[radius=2mm];
 \draw[fill=yellow] (0,0) circle[radius=2mm];
 \draw[name path=B] (-2,0) -- (1,11.8) coordinate(TR);
 \draw[fill=pink,name intersections={of=A and B,by=I}] (I) circle[radius=2mm]
 node[left=3pt]{Near star};
 \pic [angle radius=1cm,angle eccentricity=1.3,draw,"p" alias=p] {angle = TR--I--TL};
 \draw[pink,latex-,thick] (p) -- ++ (1,-0.5) node[right,align=left,text=black]{parallax angle};
 \draw ([xshift=5mm]I) -- ++ (3,0) coordinate (R1) pic[rotate=45]{strange bar=0.6}
 -- (0,0-|R1) coordinate (R2)  pic[rotate=45]{strange bar=0.6}
 node[midway,above,sloped] {1 parsec}
 -- (2.5,0); 
 \draw (-2,-0.3) -- (-2,-2) pic[rotate=45]{strange bar=0.6} -- (0,-2)
 node[midway,above]{1 AU} pic[rotate=45]{strange bar=0.6}
 -- (0,-0.3);
 \draw[bent arrow/.list={0.125,0.625},thin] (0,11.8)  circle[x radius=1cm,y radius=0.15cm];
 \draw[fill=pink] (TR) circle[radius=1mm] (-1,11.8) circle[radius=1mm];
 \draw[pink,latex-,thick,shorten >=1mm] (TR) -- ++ (0.5,-1) 
 node[right,align=left,text=black] (AP) {apparent parallax\\ motion near star};
 \draw[pink,latex-,thick,shorten >=1mm] (-1,11.8) -- (AP.west);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容