길이와 각도를 사용하여 삼각형을 그리시나요?

길이와 각도를 사용하여 삼각형을 그리시나요?

tikz 포인트 그리드 주위로 머리를 돌리고 이 방법을 사용하여 삼각형을 그렸습니다. 그런데 선 길이와 각도를 직접 입력하여 그릴 수 있는 방법이 있습니까?

예를 들어 빗변이 15cm인 경우 125도, 40도, 15도 각도를 원하는 경우 어떻게 설정해야 합니까?

답변1

비교를 위해 Metapost를 사용하는 대체 방법이 있습니다. (코드는 ConTeXt 코드이지만, 패키지를 이용하면 LaTeX에서도 메타포스트 코드를 사용할 수 있습니다 gmp.)

Metapost에서는 whatever키워드를 사용하여 알 수 없는 숫자 값을 지정할 수 있습니다. Metapost는 whatever모든 방정식이 만족되도록 s 의 값을 알아냅니다 .

삼각형의 꼭지점을 A, B, 로 표시해 보겠습니다 C. ABx축에 평행하고, AC빗변이 되고, 각도 A는 40, 각도는 125가 되도록 그리려고 한다고 가정합니다 B. (각도는 C자동으로 15가 됩니다). Metapost에서 이를 다음과 같이 지정할 수 있습니다.

numeric angleA, angleB;
angleA := 40;
angleB := 125;

numeric AC;
AC := 15cm;

A점을 원점으로 선택합니다 . 그러면 포인트가 C완전히 지정됩니다.

pair A, B, C;

A := origin;
C := (AC,0) rotated angleA;

점 을 지정하기 위해 B에 대한 두 가지 방정식을 제공합니다 B. 첫 번째는 x축을 따른 거리여야 B한다는 것입니다. 즉,ABA

B = (whatever, 0);

둘째, CB각도가 있어야 합니다 B. 즉,

B = ((whatever,0) rotated -angleB) shifted C;

Metapost는 이 두 가지 사양에 대한 일관된 솔루션을 찾아냅니다. 전체 코드는 다음과 같습니다.

\starttext
\startMPpage[offset=3mm]
  begingroup;
    numeric angleA, angleB, angleC;
    angleA := 40;
    angleB := 125;

    numeric AC;
    AC := 15cm;

    pair A, B, C;

    A := origin;
    C := (AC,0) rotated angleA;

    % Let Metapost figure out B.
    B = (whatever, 0);
    B = ((whatever,0) rotated -angleB) shifted C;

    path triangle ;
    triangle := A -- B -- C --cycle;

    draw triangle;

    pair c; c := center triangle;

    freedotlabel("$A$", A, c);
    freedotlabel("$B$", B, c);
    freedotlabel("$C$", C, c);

  endgroup;
\stopMPpage
\stoptext

이는

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

답변2

이와 같이?

\documentclass[margin=1cm]{standalone}

\usepackage{tikz}
\usetikzlibrary{intersections}

\begin{document}
  \begin{tikzpicture}
  \def\angf{40} %First angle
  \def\angs{125} %Second angle
  \def\hypo{15} %Hypotenus
  \coordinate (O) at (0,0);
  \draw[name path=line 1] (O) --++ (\angf:\hypo) coordinate (A);
  \path[name path=line 2] (O) --++ (0:2\hypo);
  \path[name path=line 3] (A) --++ (-\angs:2\hypo);
  \path [name intersections={of=line 2 and line 3,by=E}];
  \pgfresetboundingbox
  \draw (O)--(E)--(A);
  \end{tikzpicture}
\end{document}

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

답변3

당신의 수학을 알아라!

각도-길이 관계는 다음과 같이 주어진다.사인의 법칙.

출력

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

코드

\documentclass[12pt,tikz]{standalone}
\begin{document}
\begin{tikzpicture}[scale=.5]
  % "hypothenuse"
  \def\A{15}
  % the angles
  \def\angA{125}
  \def\angB{40}
  \pgfmathsetmacro{\angC}{180-\angA-\angB}
  % the law of sines
  \pgfmathsetmacro{\d}{\A/sin(\angA)}
  \pgfmathsetmacro{\C}{\d*sin(\angC)}
  \draw (0,0) -- (\angB:\A) -- (0:\C) -- cycle;
\end{tikzpicture}
\end{document}

관련 정보