von Patrick1990 » Mi 22. Nov 2023, 14:19
Hallo,
ich suche nach einer Möglichkeit die umrandete Fläche grau einzufärben. Ich hatte zunächst mit fillbetween experimentiert, jedoch übersteigt das meine Fähigkeiten.
Hab ihr eine Idee, wie ich diese Fläche einfärben kann?
Zudem müsse ich sie dann im Anschluss noch Spiegeln an der vertikalen Achse und n mal um den Ursprung drehen.
Hier ein Minimalbeispiel:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{fpu, calc, angles, intersections}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\newcommand{\radiusOHL}[3]{
\path
(#1)coordinate(M)% Mittelpunkt
(#2)coordinate(A)% Anfangskoordinate
(#3)coordinate(B)% Endkoordinate
;
\path
let
\p1=(M), \p2=(A),
\n1={veclen({\x2-\x1},{\y2-\y1})}
in
pic[draw=black,angle radius=\n1]{angle=A--M--B} ;
}
\begin{document}
\begin{tikzpicture}
\def\N{12}
\def\rot{90-360/\N}
\def\rotb{90}
\def\bzhs{0.3}
\def\nutoeffnung{0.8}
\def\do{10}
\def\di{7}
\def\hzhs{0.4}
\def\hrues{0.3}
\def\hzks{0.1}
%Durchmesser Zahnkopf innen
\pgfmathsetmacro\dzk{\di+\hzks*(\do-\di)};
\pgfmathsetmacro\drue{\do-\hrues*(\do-\di)};
\pgfmathsetmacro\dzhu{\do-(\hrues+\hzhs)*(\do-\di)};
% Hilfslinien
\draw[color=gray,dashed, name path=DAS] (0,0)++(\rot:\do/2) arc(\rot:\rot+2*360/\N:\do/2) node {\tiny DAS};
\draw[color=gray,dashed, name path=DIS] (0,0)++(\rot:\di/2) arc(\rot:\rot+2*360/\N:\di/2) node {\tiny DIS};
\draw[color=gray,dashed, name path=DRUE] (0,0)++(\rot:\drue/2) arc(\rot:\rot+2*360/\N:\drue/2) node {\tiny DRUE};
\draw[color=gray,dashed, name path=DZK] (0,0)++(\rot:\dzk/2) arc(\rot:\rot+2*360/\N:\dzk/2) node {\tiny DZK};
\draw[color=gray,dashed,name path=GL] (0,0) -- (0, \do/2) node[above] {\tiny GL};
\draw[color=gray,dashed,name path=GZ] (0,0) -- ({\do/2*sin(\nutoeffnung*360/(2*\N))}, {\do/2*cos(\nutoeffnung*360/(2*\N))}) node[above] {\tiny GZ};
\draw[color=gray,dashed,name path=GR] (0,0) -- ({\do/2*sin(360/(2*\N))}, {\do/2*cos(360/(2*\N))}) node[above] {\tiny GR};
% Schnittpunkte & Koordinaten
\path[name intersections={of=GL and DIS}](intersection-1) coordinate (c1) node {\tiny 1};
\path[name intersections={of=GZ and DIS}](intersection-1) coordinate (c2) node {\tiny 2};
\path[name intersections={of=GZ and DZK}](intersection-1) coordinate (c3) node {\tiny 3};
\pgfgetlastxy{\xa}{\ya};
\pgfmathsetmacro\bzh{2*\bzhs*\xa};
\path ({\bzh/2 pt},\dzhu/2) coordinate (c4) node{\tiny 4} -- ({\bzh/2 pt},\drue/2) coordinate (c5) node{\tiny 5};
\path[name intersections={of=GR and DRUE}](intersection-1) coordinate (c6) node {\tiny 6};
\path[name intersections={of=GR and DAS}] (intersection-1) coordinate (c7) node {\tiny 7};
\path[name intersections={of=GL and DAS}](intersection-1) coordinate (c8) node {\tiny 8};
% Kontur
\radiusOHL{{0,0}}{c2}{c1};
\draw (c2) -- (c3);
\draw (c3) -- (c4);
\draw (c4) -- (c5);
\radiusOHL{{0,0}}{c6}{c5};
\draw (c6) -- (c7);
\radiusOHL{{0,0}}{c7}{c8};
\draw (c8) -- (c1);
\end{tikzpicture}
\end{document}
Hallo,
ich suche nach einer Möglichkeit die umrandete Fläche grau einzufärben. Ich hatte zunächst mit fillbetween experimentiert, jedoch übersteigt das meine Fähigkeiten.
Hab ihr eine Idee, wie ich diese Fläche einfärben kann?
Zudem müsse ich sie dann im Anschluss noch Spiegeln an der vertikalen Achse und n mal um den Ursprung drehen.
Hier ein Minimalbeispiel:
[code]\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{fpu, calc, angles, intersections}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\newcommand{\radiusOHL}[3]{
\path
(#1)coordinate(M)% Mittelpunkt
(#2)coordinate(A)% Anfangskoordinate
(#3)coordinate(B)% Endkoordinate
;
\path
let
\p1=(M), \p2=(A),
\n1={veclen({\x2-\x1},{\y2-\y1})}
in
pic[draw=black,angle radius=\n1]{angle=A--M--B} ;
}
\begin{document}
\begin{tikzpicture}
\def\N{12}
\def\rot{90-360/\N}
\def\rotb{90}
\def\bzhs{0.3}
\def\nutoeffnung{0.8}
\def\do{10}
\def\di{7}
\def\hzhs{0.4}
\def\hrues{0.3}
\def\hzks{0.1}
%Durchmesser Zahnkopf innen
\pgfmathsetmacro\dzk{\di+\hzks*(\do-\di)};
\pgfmathsetmacro\drue{\do-\hrues*(\do-\di)};
\pgfmathsetmacro\dzhu{\do-(\hrues+\hzhs)*(\do-\di)};
% Hilfslinien
\draw[color=gray,dashed, name path=DAS] (0,0)++(\rot:\do/2) arc(\rot:\rot+2*360/\N:\do/2) node {\tiny DAS};
\draw[color=gray,dashed, name path=DIS] (0,0)++(\rot:\di/2) arc(\rot:\rot+2*360/\N:\di/2) node {\tiny DIS};
\draw[color=gray,dashed, name path=DRUE] (0,0)++(\rot:\drue/2) arc(\rot:\rot+2*360/\N:\drue/2) node {\tiny DRUE};
\draw[color=gray,dashed, name path=DZK] (0,0)++(\rot:\dzk/2) arc(\rot:\rot+2*360/\N:\dzk/2) node {\tiny DZK};
\draw[color=gray,dashed,name path=GL] (0,0) -- (0, \do/2) node[above] {\tiny GL};
\draw[color=gray,dashed,name path=GZ] (0,0) -- ({\do/2*sin(\nutoeffnung*360/(2*\N))}, {\do/2*cos(\nutoeffnung*360/(2*\N))}) node[above] {\tiny GZ};
\draw[color=gray,dashed,name path=GR] (0,0) -- ({\do/2*sin(360/(2*\N))}, {\do/2*cos(360/(2*\N))}) node[above] {\tiny GR};
% Schnittpunkte & Koordinaten
\path[name intersections={of=GL and DIS}](intersection-1) coordinate (c1) node {\tiny 1};
\path[name intersections={of=GZ and DIS}](intersection-1) coordinate (c2) node {\tiny 2};
\path[name intersections={of=GZ and DZK}](intersection-1) coordinate (c3) node {\tiny 3};
\pgfgetlastxy{\xa}{\ya};
\pgfmathsetmacro\bzh{2*\bzhs*\xa};
\path ({\bzh/2 pt},\dzhu/2) coordinate (c4) node{\tiny 4} -- ({\bzh/2 pt},\drue/2) coordinate (c5) node{\tiny 5};
\path[name intersections={of=GR and DRUE}](intersection-1) coordinate (c6) node {\tiny 6};
\path[name intersections={of=GR and DAS}] (intersection-1) coordinate (c7) node {\tiny 7};
\path[name intersections={of=GL and DAS}](intersection-1) coordinate (c8) node {\tiny 8};
% Kontur
\radiusOHL{{0,0}}{c2}{c1};
\draw (c2) -- (c3);
\draw (c3) -- (c4);
\draw (c4) -- (c5);
\radiusOHL{{0,0}}{c6}{c5};
\draw (c6) -- (c7);
\radiusOHL{{0,0}}{c7}{c8};
\draw (c8) -- (c1);
\end{tikzpicture}
\end{document}[/code]