호를 촘촘하게 그립니다(여백 없이).

호를 촘촘하게 그립니다(여백 없이).

내가 얻고 싶은 것은 다음 그림인데, 차이점은 곡선이 포물선이나 다른 곡선이 아닌 호라는 점입니다. 이를 달성하는 한 가지 방법은 원 경로를 만들고 교차점 라이브러리를 사용하여 두 선(y=0, y=2)의 교차점을 찾는 것입니다. 그러나 가상으로 완전한 원의 경로가 그려지기 때문에 큰 경계 상자가 생성되므로 문제가 있습니다. 내가 원하는 것은 여백을 만들지 않고 호를 그리는 것입니다. 어떻게 해야 하나요?

\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}

여기에 이미지 설명을 입력하세요

답변1

귀하의 질문에 따르면 다음과 같은 것을 달성하고 싶은 것 같습니다. 렌더링된 이미지

arc이를 위해 -command와 수학 엔진을 사용할 수 있습니다 .tikz . 둘 다 완벽하게 문서화되어 있습니다.pgf수동.

\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}

- 명령 shorten은 호에 맞게 화살촉의 위치를 ​​조정하는 데 사용됩니다.

답변2

실제로 호를 세 점에 맞추려면 수학을 계산했습니다.

수학

답변3

타원형 호를 사용한 Moospit 솔루션의 변형입니다.

\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}

데모

관련 정보