在这个问题获取某线段长度用于绘制新的线段长度等于某线段中,@u70550 热情地回复了关于线段绘制的疑惑。
今天遇到了新的类似问题 —— 获取未知角的度数并用在另一个角的绘制中。
原草图如下:
绘制了一多半的代码如下:
\documentclass[border=5pt]{standalone}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}[scale=1, font=\small]
% ===== 定义点 =====
\tkzDefPoints{0/0/C, 4/0/E}
\tkzDefTriangle[two angles=23 and 37](C,E)
\tkzGetPoint{B}
\tkzDefPointBy[rotation=center B angle -90](C)
\tkzGetPoint{A}
\tkzDefPointBy[rotation=center B angle 90](E)
\tkzGetPoint{D}
\tkzCalcLength(B,D)
\tkzGetLength{BDlen}
\tkzDefPointWith[linear normed, K=\BDlen](B,A)
\tkzGetPoint{G}
\tkzFindAngle(A,D,G)
\tkzGetAngle(angleADG)
\tkzDefPointBy[rotation=center B angle \angleADG](A)
\tkzGetPoint{f}
\tkzInterLL(B,f)(A,D)
\tkzGetPoint{F}
% ===== 绘制图形 =====
\tkzDrawPolygon[thick](B,C,E)
\tkzDrawSegments[thick](A,B D,B A,C D,E A,D D,G B,F G,F)
\end{tikzpicture}
\end{document}
在获取未知角的度数并用在另一个角的绘制中出现了报错,查看了宏包的汉化说明,还是没有找到问题。再求助下大佬们。
报错信息为:
! Undefined control sequence.
\tkzangle ->\angleADG
l.23 ...ntBy[rotation=center B angle \angleADG](A)
?
注意
\tkzGetAngle(angleADG)
与
\tkzGetAngle{angleADG}
看文档的例子:
所以,你只要把\tkzGetAngle(angleADG)
替换为\tkzGetAngle{angleADG}
即可
\documentclass[border=5pt]{standalone}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}
% ===== 定义点 =====
\tkzDefPoints{0/0/C, 4/0/E}
\tkzDefTriangle[two angles=23 and 37](C,E)
\tkzGetPoint{B}
\tkzDefPointBy[rotation=center B angle -90](C)
\tkzGetPoint{A}
\tkzDefPointBy[rotation=center B angle 90](E)
\tkzGetPoint{D}
\tkzCalcLength(B,D)
\tkzGetLength{BDlen}
\tkzDefPointWith[linear normed, K=\BDlen](B,A)
\tkzGetPoint{G}
\tkzFindAngle(A,D,G)
\tkzGetAngle{angleADG}%<-注意花括号
\tkzDefPointBy[rotation=center B angle \angleADG](A)
\tkzGetPoint{f}
\tkzInterLL(B,f)(A,D)
\tkzGetPoint{F}
% ===== 绘制图形 =====
\tkzDrawPolygon[thick](B,C,E)
\tkzDrawSegments[thick](A,B D,B A,C D,E A,D D,G B,F G,F)
\end{tikzpicture}
\end{document}
如果只要用一次,那么也可以直接用\tkzAngleResult
,这样可以不用再\tkzGetAngle
多写一行...
\documentclass[border=5pt]{standalone}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}[font=\small]
% ===== 定义点 =====
\tkzDefPoints{0/0/C, 4/0/E}
\tkzDefTriangle[two angles=23 and 37](C,E)
\tkzGetPoint{B}
\tkzDefPointBy[rotation=center B angle -90](C)
\tkzGetPoint{A}
\tkzDefPointBy[rotation=center B angle 90](E)
\tkzGetPoint{D}
\tkzCalcLength(B,D)
\tkzGetLength{BDlen}
\tkzDefPointWith[linear normed, K=\BDlen](B,A)
\tkzGetPoint{G}
\tkzFindAngle(A,D,G)
% \tkzGetAngle(angleADG)
\tkzDefPointBy[rotation=center B angle \tkzAngleResult](A)
\tkzGetPoint{f}
\tkzInterLL(B,f)(A,D)
\tkzGetPoint{F}
% ===== 绘制图形 =====
\tkzDrawPolygon[thick](B,C,E)
\tkzDrawSegments[thick](A,B D,B A,C D,E A,D D,G B,F G,F)
\end{tikzpicture}
\end{document}
@u10189 好奇这题答案是什么,$\frac{12}{10-3\sqrt{3}}$
?奇奇怪怪的结果就有点慌。。。
\tkzAngleResult
,这个方式由于不懂逻辑,不敢随便使用。像上面取线段长度时用了这个方式,下面取角度时再用这个方式,是会混淆吧。