
다음 그림에서는 angle 라벨을 지정하려고 (lA,A,oA)
하지만 무엇을 시도해도 라벨이 angle 안에 들어가게 됩니다 (rA,A,B)
. 여기서 무슨 일이 일어나고 있는 걸까요?
\documentclass[border=10pt]{standalone}
\usepackage{tkz-euclide}
\usetikzlibrary{arrows.meta}
\usetkzobj{all}
\newlength\aehlength
\setlength\aehlength{1in}
\begin{document}
\begin{tikzpicture}[my dot/.style={fill,circle,inner sep=1.5pt},>={To[scale=2]}]
\coordinate (A) at (0,0);
\coordinate (B) at (55:\aehlength);
\coordinate (lA) at ($(A)+(180:\aehlength)$);
\coordinate (rA) at ($(A)+(0:\aehlength)$);
\coordinate (lB) at ($(B)+(180:\aehlength)$);
\coordinate (rB) at ($(B)+(0:\aehlength)$);
\coordinate (oA) at ($(A)!-1cm!(B)$);
\coordinate (oB) at ($(B)!-1cm!(A)$);
\foreach \mynA/\mypA/\mynB/\mypB in {A/2cm/B/2cm,lA/1cm/rA/1cm,lB/1cm/rB/1cm}
{
\draw[arrows=<->] ($(\mynA)!-\mypA!(\mynB)$) -- ($(\mynB)!-\mypB!(\mynA)$);
}
\foreach \myn/\myp in {A/90,B/90,lA/90,rA/90,lB/90,rB/90,oA/90,oB/90 }
{
\node[my dot] at (\myn) {};
\node at ($(\myn)+(\myp:8pt)$) {\myn};
}
\tkzLabelAngle[pos=0.45](oA,A,lA) {$x$}
\tkzLabelAngle[pos=0.45](lA,A,oA) {$x$}
\tkzLabelAngle[pos=0.75](oB,B,rB) {$60^\circ$}
\end{tikzpicture}
\end{document}
답변1
순수한 tkz-euclide 새 버전 포함CTAN v 3.01
\documentclass[border=10pt]{standalone}
\usepackage{tkz-euclide}
\def\aehlength{3}
\begin{document}
\begin{tikzpicture}
\tkzDefPoint(0,0){A}
\tkzDefPoint(55:\aehlength){B}
\tkzDefShiftPoint[A](180:\aehlength){lA}
\tkzDefShiftPoint[A](0:\aehlength){rA}
\tkzDefShiftPoint[B](180:\aehlength){lB}
\tkzDefShiftPoint[B](0:\aehlength){rB}
\tkzDefPointWith[linear normed,K=-1](A,B) \tkzGetPoint{oA}
\tkzDefPointWith[linear normed,K=-1](B,A) \tkzGetPoint{oB}
\tkzDrawLines[add=.5 and .5,<->](oA,oB rA,lA rB,lB)
\tkzDrawPoints(A,B,lA,rA,oA,rB,lB,oB)
\tkzLabelPoints[above=3pt](A,B,lA,rA,rB,lB)
\tkzLabelPoints[right=3pt](oA,oB)
\tkzLabelAngle[pos=0.75](oA,A,lA) {$x$}
\tkzLabelAngle[pos=0.75](lA,A,oA) {$x$}
\tkzLabelAngle[pos=0.75](oB,B,rB) {$60^\circ$}
\end{tikzpicture}
\end{document}
답변2
버그인지 기능인지는 모르겠지만 \tkzLabelAngle[pos=-0.45](lA,A,oA) {$x$}
. 마이너스 기호를 참고하세요 pos
.
\documentclass[border=10pt]{standalone}
\usepackage{tkz-euclide}
\usetikzlibrary{arrows.meta}
\usetkzobj{all}
\newlength\aehlength
\setlength\aehlength{1in}
\begin{document}
\begin{tikzpicture}[my dot/.style={fill,circle,inner sep=1.5pt},>={To[scale=2]}]
\coordinate (A) at (0,0);
\coordinate (B) at (55:\aehlength);
\coordinate (lA) at ($(A)+(180:\aehlength)$);
\coordinate (rA) at ($(A)+(0:\aehlength)$);
\coordinate (lB) at ($(B)+(180:\aehlength)$);
\coordinate (rB) at ($(B)+(0:\aehlength)$);
\coordinate (oA) at ($(A)!-1cm!(B)$);
\coordinate (oB) at ($(B)!-1cm!(A)$);
\foreach \mynA/\mypA/\mynB/\mypB in {A/2cm/B/2cm,lA/1cm/rA/1cm,lB/1cm/rB/1cm}
{
\draw[arrows=<->] ($(\mynA)!-\mypA!(\mynB)$) -- ($(\mynB)!-\mypB!(\mynA)$);
}
\foreach \myn/\myp in {A/90,B/90,lA/90,rA/90,lB/90,rB/90,oA/90,oB/90 }
{
\node[my dot] at (\myn) {};
\node at ($(\myn)+(\myp:8pt)$) {\myn};
}
\tkzLabelAngle[pos=0.45](oA,A,lA) {$x$}
\tkzLabelAngle[pos=-0.45](lA,A,oA) {$x$} %%% <=== here
\tkzLabelAngle[pos=0.75](oB,B,rB) {$60^\circ$}
\end{tikzpicture}
\end{document}
답변3
내 솔루션은 다음과 같습니다(나만의 각도 이등분선을 정의하기 위한).
\makeatletter
\newcommand\aeFindAngleBisector{\ae@find@angle@bisector}
\def\ae@find@angle@bisector(#1)(#2)(#3)[#4]{%%
\bgroup
\pgfmathanglebetweenpoints{\pgfpointanchor{#2}{center}}%%
{\pgfpointanchor{#1}{center}}%%
\edef\ae@angle@start@position{\pgfmathresult}%%
\pgfmathanglebetweenlines{\pgfpointanchor{#2}{center}}%%
{\pgfpointanchor{#1}{center}}%%
{\pgfpointanchor{#2}{center}}%%
{\pgfpointanchor{#3}{center}}%%
\edef\ae@angle@between{\pgfmathresult}%%
\pgfmathparse{(\ae@angle@start@position+\ae@angle@between/2}%%
\xdef\ae@half@angle@bisector{\pgfmathresult}%%
\coordinate (#4) at ($(#2)+(\ae@half@angle@bisector:10pt)$);
\egroup
}%%
\makeatother
각도를 취하고 ABC
꼭지점 주위에 시계 반대 방향으로 정의된 각도 내부의 각도 이등분선을 따라 점을 정의합니다 B
.