TeXwelt wurde neu installiert. Es funktionieren noch nicht alle Features und auch an den deutschsprachigen Formulierungen wird verbessert. Danke für eure Geduld.

Hallo zusammen ich versuche gerade einen sinus zu zeichnen, welcher zwei Schnittpunkte mit einer Geraden hat. Oberhalb und unterhalb sollen die Flächen eingefärbt werden. Dies funktioniert noch nicht, siehe Code. Unterhalb die Fläche soll von 0 bis pi/2 auf der x Achse eingefärbt werden und oberhalb von pi/2 bis zum zweiten Schnittpunkt.

Öffne in Overleaf
\documentclass[varwidth, margin=2.5pt]{standalone}
\usepackage[ngerman]{babel}
\usepackage{tikz}
\usetikzlibrary{plotmarks,calc,arrows}
\usepackage{amsmath, amssymb}
\begin{document}

\def\a{0.5}
\begin{tikzpicture}[x = 1cm, y=1.5cm, % scale=0.45,
font=\footnotesize,
>=latex   %Voreinstellung für Pfeilspitzen
]

% 
% Funktionen     y = sin(x),  y = a
\draw[] plot[samples=300, domain=0:3.14159265359]
(\x,{sin(\x r)}) node[above=15pt] {};

% Pm
\draw[] (4,\a) -- (0,\a) node[above, xshift=5mm] {};

%Schnittpunkte
\foreach \k in {0,...,1}{%%
    % x-Wert berechnen und abspeichern
    \pgfmathparse{((-1)^\k) * 3.14159265359*asin(\a)/180 + \k*3.14159265359}
    \let\myresult\pgfmathresult
    \pgfmathparse{\myresult}
    \let\myresult\pgfmathresult
    \draw[color=red, fill=white] plot[mark=*,mark size=2.75pt] 
    coordinates{ 
        ( {\myresult},  {\a} ) 
    };
    % \node[] at (\myresult,\a) {\myresult};
}%%

% Koordinatensystem
% x-Achse
\draw[->] (0,0) -- (4,0) node[below] {$\delta$}; 
%Zahlen auf x-Achse
\foreach \x/\xtext in {
    0, .5*pi/\frac{\pi}{2}, pi/\pi
}
\draw (\x,2pt) -- (\x,-2pt) node[below] {$\xtext$};

% y-Achse 
\draw[->] (0,0) -- (0,1.75) node[left] {$y$};
%Zahlen auf y-Achse
\foreach \y in {0.5,1}
\draw[] (2pt,\y) -- (-2pt,\y) node[left] {\tiny $\y$};

%Ursprung
%\draw[] (0pt,-5pt) node[below right] {$0$};
 \shade[top color=blue,bottom color=gray!50]
(0,0) parabola (0.52359,0.5) |- (0,0);

\end{tikzpicture}
\end{document}

gefragt 31 Jan, 15:57

Stromp%C3%A4dagoge's gravatar image

Strompädagoge
513
Akzeptiert-Rate: 0%

bearbeitet 01 Feb, 13:00

saputello's gravatar image

saputello
10.4k93760

Wenn Du den Pfaden Namen gibst und einen unsichtbaren Pfad für die Senkrechte bei pi/2 einfügst, sollte das genau wie bei »Wie kann ich die Fläche zwischen mehreren Pfaden füllen?« funktionieren. Oder gibt es damit ein konkretes Problem?

(01 Feb, 13:01) saputello

Ich würde mit
i. pgfplots
ii. intersections
iii. fillbetween
arbeiten.

Hinweis: Ich habe noch das \ShowIntersection Kommando verallgemeinert. Damit können nun beliebige Kurven mit oder ohne Schnittpunkte getestet werden:
\newcommand*{\ShowIntersection}[3][]{ \path[name intersections={of=#2 and #3, name=Schnitt, total=\t}, draw=red, fill=white, #1] \ifnum\t>0 \foreach \s in {1,...,\t}{ (Schnitt-\s) circle (1.5pt) } \fi; }

Beispiel aus Startpost:

alt text

Öffne in Overleaf
\documentclass[border=2pt, varwidth]{standalone}
\usepackage{pgfplots}
  \pgfplotsset{compat=newest}
\usetikzlibrary{intersections}
\usepgfplotslibrary{fillbetween}
\usetikzlibrary{patterns}

\begin{document}
\begin{tikzpicture}[scale=1, font=\footnotesize,
declare function={ 
Kurve(\x)  = sin(\x); 
Waagrechte(\x) = 0.5;
},
]

\newcommand*{\ShowIntersection}[3][]{
\path[name intersections={of=#2 and #3, name=Schnitt, total=\t}, 
draw=red, fill=white, #1] 
\ifnum\t>0 \foreach \s in {1,...,\t}{   (Schnitt-\s) circle (1.5pt)  } \fi;
}

\begin{axis}[
trig format plots=rad,
axis lines = middle,     unit vector ratio*=1 1 1,
%axis = equal, 
axis line style = {-latex},
xmin=-0.25,     xmax=3.5,
xtick={pi/2, pi},
xticklabels={$\frac{\pi}{2}$, $\pi$,     },
extra x ticks  = {0},
extra x tick labels= {$0$},
extra x tick style={tick label style={anchor=north east} 
},
%
ytick={0,0.5,...,1}, 
%samples= 200,
ymin = -0.25, ymax=1.5,
%enlarge x limits={abs=0.5,upper},
%enlarge y limits={rel=0.5},
%
xlabel={$\delta$},
xlabel style={anchor=north},
ylabel={$y$},
ylabel style={anchor=east, inner sep=1pt},
]

\addplot[domain=0:pi, name path=kurve] {Kurve(x)};
\addplot[domain=0:pi, name path=waagrechte] {Waagrechte(x)};
\addplot[draw=none, name path=senkrechte] coordinates {(pi/2, 0) (pi/2, 1.5)};

\ShowIntersection{kurve}{waagrechte}
%\ShowIntersection[fill=red]{kurve}{senkrechte}

% Links füllen
\addplot fill between[of=senkrechte and kurve,
split, 
every segment no 0/.style={fill=yellow, postaction={pattern=north west lines}},
every segment no 1/.style={fill=none},
];

\addplot fill between[of=waagrechte and kurve,
split, 
every segment no 0/.style={fill=none},
every segment no 1/.style={fill=white},
every segment no 2/.style={fill=none}
];

% Rechts füllen
\addplot[domain=pi/2:pi, draw=none, name path=kurveR] {Kurve(x)};
\addplot[domain=pi/2:pi, draw=none,  name path=waagrechteR] {Waagrechte(x)};

\addplot fill between[of=kurveR and waagrechteR,
split, 
every segment no 0/.style={fill=blue!40, postaction={pattern=north east lines, solid}}, % "solid" unverständlicherweise nötig
every segment no 1/.style={fill=none},
];
\end{axis}
\end{tikzpicture}

\end{document}
Permanenter link

beantwortet 06 Feb, 11:29

cis's gravatar image

cis
9.3k21205337
Akzeptiert-Rate: 29%

bearbeitet 07 Feb, 09:22

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×665
×12
×5

gestellte Frage: 31 Jan, 15:57

Frage wurde gesehen: 863 Mal

zuletzt geändert: 07 Feb, 09:22