프로젝트를 위해 쌍곡선 공간에 특정 영역을 그리고 싶었습니다. 해당 영역의 경계는 선분과 원호로 구성됩니다. draw
선분이나 호에 대한 함수를 호출할 수 있습니다 .
\draw (a,b) -- (c,d);
\draw (a,b) arc (theta1:theta2:r);
가능한 한 정확하게 끝점을 찾습니다(괜찮습니다).
호 함수는 다음과 같이 정의됩니다.
(a,b)
출발점이다theta1
쳐다보는 각도야theta2
끝각이다
TiKZ의 각도 규칙은 너무 혼란스럽습니다. 많은 시행착오 끝에 저는 반경이 항상 1이고 두 지점이 (± 1/2, √3/2)라는 것을 깨달았습니다. 제가 사용할 수 있는 시작점 (a,b)
은 끝점 (c,d)
과 원의 반경.
주로 회색 음영 영역(A)이 필요합니다. 단위 원 아래의 반전(B)과 합집합(A+B)은 일종의 연필처럼 보입니다.
(지금) 분명한 부분은 선을 안쪽으로 0.5만큼 밀어야 한다는 것입니다. 그런 다음 연필로 설정하고 수직선이 원에 닿는 각도(아마도 60°)를 찾아야 합니다.
그러나 작은 원의 경우 이 간단한 그리기 연습이 엉망이 됩니다. 그러나 유클리드 각도를 보존하기 위한 등각 지도; SL(2,Z)를 반복하면서 교차점이 약간 회전할 수 있습니다.
내 잘못된 코드는 다음과 같습니다.
\begin{tikzpicture}
\draw[fill=blue!5!white, line width=0.5, draw=green]
(0,0.5) arc (90:0:0.5)--
(0.5,0) arc (180:0:0.5)--
(1.5,0) arc (180:90:0.5)--
(2,0.5)--(2,3)--(0,3);
\draw[color=black!20!white] (0, 3)--(0, 1);
\draw[color=black!20!white] (1, 3)--(1, 1);
\draw[color=black!20!white] (2, 3)--(2, 1);
\draw[color=black!20!white] (2,0) arc (0 :180:1);
\draw[color=black!20!white] (1,0) arc (0 : 90:1);
\draw[color=black!20!white] (1,0) arc (180: 90:1);
\draw[line width = 1] (-0.5,0)--(2,0);
\draw[line width = 1] (0,3)--(0,0);
\end{tikzpicture}
답변1
원 중심과 다음 원과의 교차점 사이의 각도가 60도라는 사실을 활용하여 ({cos(60)},{sin(60)})
좌표로 사용할 수 있습니다. 그리고 몇 개의 호와 직선을 포함하는 경로를 그립니다.
여기에 모든 라벨을 추가하지 않았습니다. 손으로 그린 스케치를 재현하시겠습니까?
\documentclass[border=4mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=3]
\draw (-1.5,0) -- (1.5,0);
\filldraw [thin,fill=black!30] (0,0)
arc[start angle=0,end angle=60,radius=1] --
({-cos(60)},2) -- ({cos(60)},2) -- ({cos(60)},{sin(60)})
arc[start angle=120,end angle=180,radius=1];
\draw [ultra thin,densely dashed] (-1,0) arc[start angle=180,delta angle=-180,radius=1];
\foreach \x in {-1,-0.5,...,1}
\draw (\x,2pt) -- (\x,-2pt) node[below]{$\x$};
\end{tikzpicture}
\end{document}