Ich möchte das folgende Bild erhalten, mit dem Unterschied, dass die Kurve ein Bogen ist, keine Parabel oder andere Kurve. Eine Möglichkeit, dies zu erreichen, besteht darin, einen Kreispfad zu erstellen und die Schnittpunktbibliothek zu verwenden, um Schnittpunkte zweier Linien (y = 0, y = 2) zu finden. Es gibt jedoch ein Problem, da ein großer Begrenzungsrahmen generiert wird, da virtuell ein vollständiger Kreispfad gezeichnet wurde. Ich möchte einen Bogen zeichnen, ohne Ränder zu erstellen. Wie kann ich das tun?
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[auto, scale=1.5]
\draw[fill=gray!50] (0,1.6) -- (0,0) -- (2,0);
\draw[densely dashed] (0,1.6) |- (2, 2.7) -- (2, 1.1);
\coordinate (a) at (0,1.6);
\coordinate (b) at (2,1.1);
\coordinate (o) at (1.4, 2.7);
\draw[|<->|] (0.08, 1.6) -- node {$H$} (0.08, 0);
\draw[|<->|] (1.4, 0.93) -- node {$h$} (1.4, 0);
\end{tikzpicture}
\end{document}
Antwort1
Aus Ihrer Frage schließe ich, dass Sie etwa Folgendes erreichen möchten:
Hierzu können Sie den arc
-Befehl und die mathematische Engine verwenden tikz
, die beide impgf-handbuch.
\documentclass[tikz, border=2mm]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}[scale=2]
\draw [help lines, <->] (0,1.2) |- (1.2,0);
\draw (1,0) arc (0:90:1);
\begin{scope}[|<->|, shorten <= -.2pt, shorten >= -.2pt]
\draw (0,0) -- (0,1) node [midway, right] {$H$};
\draw ({sin(45)},0) -- ({sin(45)}, {cos(45)}) node [midway, right] {$h$};
\end{scope}
\end{tikzpicture}
\end{document}
Mit den shorten
-Befehlen wird die Position der Pfeilspitze an den Bogen angepasst.
Antwort2
Antwort3
Eine Variation der Moospit-Lösung unter Verwendung eines elliptischen Bogens.
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[auto, scale=1.5]
\draw[fill=gray!50] (0,1.6) -- (0,0) -- (2,0);
%\draw[densely dashed] (0,1.6) |- (2, 2.7) -- (2, 1.1);
\coordinate (a) at (0,1.6);
\coordinate (b) at (2,1.1);
\coordinate (o) at (1.4, 2.7);
\draw[|<->|] (0.08, 1.6) -- node {$H$} (0.08, 0);
\draw[|<->|] (1.4, 0.93) -- node {$h$} (1.4, 0);
% compute x radius (assume y radius = 1.6)
\pgfmathparse{1.4/cos(asin(0.93/1.6))}
\let\xr=\pgfmathresult
\draw[densely dashed] (0,1.6) arc[y radius= 1.6,x radius={\xr},start angle=90, end angle=0];
\end{tikzpicture}
\end{document}