PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tikz: plotten von Polarkoordinaten.



Fretschi
02-12-2020, 15:48
Hallo,

im Minimalbeispiel steht die eigentliche Frage.

Die Werte sind jetzt von Hand berechnet. Es gibt aber sicherlich auch eine schönere Variante als alle Werte von Hand zu berechnen.




\documentclass[fontsize=12pt,a4paper,xcolor=dvipsnames]{scrartcl}[2003/01/01]
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{textcomp}
\usepackage{blindtext}
\usepackage[dvipsnames]{xcolor}
\usepackage{amssymb}
\usepackage[onehalfspacing]{setspace}
\usepackage[locale=DE]{siunitx}
\usepackage{tikz}
\usetikzlibrary {arrows.meta}
\usetikzlibrary {patterns}
\usetikzlibrary {decorations.markings}
\usetikzlibrary {angles,quotes,babel}
%\draw[step=1mm] (0,0) grid (5,3);

\begin{document}

Ist es möglich folgende Formel in Polarkoordianten zu plotten?

$r = r(\varphi) = 1 + \cos \varphi$

\begin{tikzpicture}[scale=2]
\coordinate (0) at (0,0);
\coordinate (A) at (30:1.87cm);
\coordinate (B) at (60:1.5cm);
\coordinate (C) at (90:1cm);
\coordinate (D) at (120:0.5cm);
\coordinate (E) at (150:0.13cm);
\coordinate (F) at (180:0cm);
\coordinate (G) at (210:0.13cm);
\coordinate (H) at (240:0.5cm);
\coordinate (I) at (270:1cm);
\coordinate (J) at (300:1.5cm);
\coordinate (K) at (330:1.87cm);
\coordinate (L) at (360:2cm);
\coordinate (AA) at (0:2cm);

\draw (AA)--(A) -- (B) -- (C) -- (D) -- (E) -- (F) -- (G) -- (H) -- (I) -- (J) -- (K) -- (L);
\end{tikzpicture}
\end{document}

rais
05-12-2020, 15:29
Mit pgfplots ginge so etwas


\documentclass[fontsize=12pt]{scrartcl}[2003/01/01]
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
%\usepackage[utf8]{inputenc} braucht man bei halbwegs aktueller TeX-Distri nicht
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\usepgfplotslibrary{polar}

\begin{document}

Ist es möglich folgende Formel in Polarkoordianten zu plotten?

$r = r(\varphi) = 1 + \cos \varphi$

So?

\begin{tikzpicture}
\begin{axis}
\addplot+ [data cs=polar, domain=0:360, samples=100] (\x, {1+cos(\x)});
\end{axis}
\end{tikzpicture}

Oder lieber so?

\begin{tikzpicture}
\begin{polaraxis}
\addplot+ [domain=0:360, samples=100] (\x, {1+cos(\x)});
\end{polaraxis}
\end{tikzpicture}
\end{document}

VG