Tikz에서 정현파 스케치

Tikz에서 정현파 스케치

가장 쉬운 방법은 무엇입니까스케치PGF/Tikz의 정현파? 나는 이것을 시도했습니다 :

\begin{tikzpicture}
  \draw[loosely dotted] (0,0) grid (4,2);
  \draw[x=0.5cm,y=1cm, ultra thick, red]
    (0,1) cos (1,0) sin (2,-1) cos (3,0) sin (4,1) cos (5,0) sin (6,-1);
\end{tikzpicture}

모든 파도를 덮을 그리드를 어떻게 얻나요? 더 좋은 방법이 있나요?스케치(플로팅하지 않음) 함수/파동?

답변1

내 의견에서 말했듯이 선의 좌표를 선택하여 그리드를 조정할 수 있습니다 grid.

\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
  \draw[loosely dotted] (0,-1) grid (3,1);
  \draw[x=0.5cm,y=1cm, ultra thick, red]
    (0,1) cos (1,0) sin (2,-1) cos (3,0) sin (4,1) cos (5,0) sin (6,-1);
\end{tikzpicture}
\end{document}

두 번째 \draw줄은 크기를 변경합니다.엑스0.5cmas 대신 에 축을 사용하는 1cm것이 기본값입니다. 따라서 첫 번째 줄에는 두 번째 줄 (3,1)과 같은 점이 있습니다 .(6,1)

샘플 코드 출력

곡선의 점을 부드럽게 보간하려면 plot다음과 같이 tikz 명령을 사용할 수 있습니다.

\draw[x=0.5cm,y=1cm, ultra thick, red]
    plot[smooth] coordinates {(0,1) (1,0) (2,-1) (3,0) (4,1) (5,0) (6,-1)};

tension스무딩의 곡선을 조정하는 키가 있지만 솔직히 기본값보다 더 좋아 보이는 것을 얻을 수 없었습니다.

샘플 코드 출력

또 다른 옵션은 베지어 곡선을 사용하는 것입니다. 그러나 두 점 사이에 베지어 곡선을 지정하는 경우 두 개의추가의포인트가 필요합니다. 이 두 가지는 각 지점에서 나오거나 각 지점으로 들어오는 속도 벡터를 설명합니다.

\draw[x=0.5cm,y=1cm, ultra thick, red]  (0,1) 
  .. controls ([xshift=\dx]0,1)  and ([xshift=-\dx]2,-1)  .. (2,-1) 
  .. controls ([xshift=\dx]2,-1) and ([xshift=-\dx]4,1)   .. (4,1) 
  .. controls ([xshift=\dx]4,1)  and ([xshift=-\dx]6,-1)  .. (6,-1) ;

샘플 코드 출력

$x$ 축을 따라 좌표를 제거하기 위해 대칭을 활용했다는 것을 알 수 있습니다.

답변2

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

trembling의 모듈은 임의 의 곡선에 떨림 변환을 적용하기 위해 설정할 Asymptote클래스 개체를 제공합니다 . :tremblesketch.asy

import graph; // for cos
import trembling;
import math; // for the grid

size(8cm);

real xmin=0, xmax=1.5pi;
real ymin=-1, ymax=1;

tremble tr=tremble(angle=20,frequency=0.6,random=50,fuzz=1);
path sinesketch=tr.deform(graph(cos,xmin,xmax)); 

int rows=2, cols=3;
add(
  shift(xmin,ymin)*scale((xmax-xmin)/cols,(ymax-ymin)/rows)
  *grid(cols,rows, red+dotted+1.2pt)
);
draw(sinesketch,darkblue+1.2pt);

asy -f pdf sketch.asy독립형을 얻으려면 실행하십시오 sketch.pdf.

관련 정보