등온선 그림에 표시된 다이어그램을 입력하는 방법은 무엇입니까?

등온선 그림에 표시된 다이어그램을 입력하는 방법은 무엇입니까?

일부 단열 세그먼트가 있는 등온선의 PV 다이어그램

그러한 다이어그램을 어떻게 다시 만들 수 있습니까? 선분을 사용하고 반드시 점(V_2, P_5, T_5), ... 등을 사용하는 것은 아닙니다.

답변1

일부 의견에서 언급했듯이 먼저 여기에서 귀하의 시도를 보고 싶습니다. 그러나 이 다이어그램에는 몇 가지 흥미로운 측면이 포함되어 있으므로 최종 다이어그램을 향한 경로를 스케치하겠습니다. 그런데, 이것은 그림을 그리는 절차에 가깝습니다.

더 많은 정보를 찾을 수 있는 곳

나는 Tikz 매뉴얼의 튜토리얼 섹션을 훑어보거나 읽는 것을 제안합니다.HTML~의PDF. 또한 내가 사용하고 있는 모든 관련 Tikz 명령을 찾아보세요.

기본 아이디어

먼저 기본 아이디어를 살펴보겠습니다.

  • 축을 그리다
  • 아래쪽 곡선을 그려라
  • 도트에 필요한 포인트를 나타냅니다.
  • 아래쪽 곡선 위의 점을 연결합니다.

도끼: 그녀에게는 이상한 것이 없습니다 ... 그냥 그려보세요.

    % ~~~ axes ~~~
    \draw[->] (0,0) -- (5,0);
    \draw[->] (0,0) -- (0,5);

이제 아래쪽 곡선은 복잡해 보이지만 Tikz의 경로 개념을 이해했을 때는 그렇지 않습니다. 기본적으로 두 점 사이에 선을 그립니다 \draw (1,3) -- (4,1);. 곡선으로 만들려면 나가는 각도와 들어오는 각도를 --으로 바꾸고 지정하면 됩니다. to[out=,in=]경로는 로 시작 \draw하고 로 끝납니다 ;. 따라서 경로가 끝나기 전에 이 경로에 대해 좀 더 많은 작업을 수행해 보겠습니다. nodeT1 라벨을 넣으려면 마지막으로 그린 ​​좌표 뒤에 를 넣으세요 . node시작점과 끝점 사이에 두 개의 를 더 삽입합니다 . 여기서는 좌표 (A)와 (B)만 사용하고 를 사용하여 이 경로에서 위치를 미세 조정합니다 [pos=]. \경로 내부에 떨어지는 것을 조심스럽게 관찰하십시오 .

    % ~~~ lower curve: a path with many actions ~~~~~   
    \draw (1,3) to[out=-60,in=170]  % start point, towards ...
    node[pos=.8] (A) {A}            % basically, store coordinates
    node[pos=.6] (B) {B}            % (A) and (B)
    (4,1) node[anchor=west]{$T_1$}  % end point + some node as label    
    ;                               % end of this path

\node(B) 위에 또 다른 점 (C) 가 필요하므로[yshift=]

    % ~~~ put a node//coordinate above (B) ~~~
    \node (C) at ([yshift=6mm]B) {C};

마지막으로 (A), (C), (B)를 다시 곡선으로 연결해 보겠습니다.

    % ~~~ connect A, C and B ~~~~~~~~~
    \draw (A) to[out=140,in=-70] (C) -- (B);

기본아이디어

개선

변경 사항 및 추가 기능은 다음과 같습니다.

  • 일부 스타일 정의: 선에 대해 crd원으로 더미 노드를 렌더링합니다.ln
  • coordinate (X) 나중을 위해 x축을 따라 기억하세요
  • 노드 A, B 및 C에서 텍스트를 제거하고 crd스타일을 사용하십시오.
  • 화살표와 라벨을 사용하여 그림을 그립니다.(label)
  • (B)에서 (X)를 재사용하여 좌표(V4)를 계산하고 체크 표시 를 합니다 \node.\draw

귀하 shifted arrow의 라인에는 여러 가지 방법이 있습니다. 나는 게으른 변형을 사용했으며 여기에 추가 옵션이 있습니다.

  • 화살표 생략
  • 장식 라이브러리 사용
  • A와 B 사이에 중간점을 두고 필요한 경우 각도를 조정합니다.
  • 등.

개선

완전한 코드

이 코드는 조정된 페이지 형상을 사용하여 그림의 두 페이지(각 tikzpicture 환경에 대해 하나씩)를 생성합니다.

\documentclass[10pt,border=3mm,tikz]{standalone}

\begin{document}
 % ~~~ (I) basic ideas ~~~~~~~~~~~~~~~
 \begin{tikzpicture}
    % ~~~ axes ~~~
    \draw[->] (0,0) -- (5,0);
    \draw[->] (0,0) -- (0,5);
    
    % ~~~ lower curve: a path with many actions ~~~~~   
    \draw (1,3) to[out=-60,in=170]  % start point, towards ...
    node[pos=.8] (A) {A}            % basically, store coordinates
    node[pos=.6] (B) {B}            % (A) and (B)
    (4,1) node[anchor=west]{$T_1$}  % end point + some node as label    
    ;                               % end of this path
    
    % ~~~ put a node//coordinate above (B) ~~~
    \node (C) at ([yshift=6mm]B) {C};
    
    % ~~~ connect A, C and B ~~~~~~~~~
    \draw (A) to[out=140,in=-70] (C) -- (B);
    
 \end{tikzpicture}
 
 
 
 % ~~~ (II) fine print ~~~~~~~~~~~~~~~
 \begin{tikzpicture}[   % some self-defined styles
    crd/.style={minimum size=1mm,       % puts the dots
                inner sep=0pt,circle,draw,fill},
    ln/.style={blue, line width=1.5pt},
 ]
    % ~~~ axes ~~~
    \draw[->] (0,0) -- (5,0) coordinate (X);
    \draw[->] (0,0) -- (0,5);
    
    % ~~~ lower curve: a path with many actions ~~~~~   
    \draw (1,3) to[out=-60,in=170]  % start point, towards ...
    node[pos=.8,crd] (A) {}         % basically, store coordinates
    node[pos=.6,crd] (B) {}         % (A) and (B)
    (4,1) node[anchor=west]{$T_1$}  % end point + some node as label    
    ;                               % end of this path
    
    % ~~~ put a node//coordinate above (B) ~~~
    \node[crd] (C) at ([yshift=6mm]B) {};
    
    % ~~~ connect A, C and B ~~~~~~~~~
    \draw[ln,->] (A) to[out=140,in=-70] (C);
    \draw[ln]    (C) -- (B);
    
    % ~~~ put some label ~~~~~~~~~~~
    \draw[<-] (C) -- +(45:15mm) node[anchor=west] {$(V_4, P_4, T_4)$};
    
    % ~~~ perpendicular below points ~~~~~~~
    \coordinate           (V4) at (B |- X); % projection onto x-axis
    \node[yshift=-3mm] at (V4) {$V_4$};     % the label
    \draw (V4) -- +(0,.2);                  % the tick
    
 \end{tikzpicture}
\end{document}

관련 정보