我想在等腰三角形内生成一个等腰三角形,如下所示,但只需改变 y 坐标即可移动底边 AB,我尝试了不同的获取点命令,但到目前为止没有成功。
\documentclass{book}
\usepackage{blindtext}
\usepackage{tikz}
\usepackage{tkz-euclide}
%Diagram enviroment
\newenvironment{diagram}
{\begin{center}\vspace*{10pt}\begin{tikzpicture}}
{\end{tikzpicture}\vspace*{-5pt}\end{center}}
\begin{document}
\begin{diagram}
\tkzDefPoint(-2,0){A}
\tkzDefPoint(2,0){B}
\tkzDefPoint(0,4){C}
\tkzDefPoint(3,-2){D}
\tkzDefPoint(-3,-2){E}
\tkzDrawPolygon(A,B,C)
\tkzDrawSegment(A,E)
\tkzDrawSegment(B,D)
\tkzLabelPoints[left](A)
\tkzLabelPoints[right](B)
\tkzLabelPoints[above](C)
\tkzLabelPoints[left](E)
\tkzLabelPoints[right](D)
\tkzMarkSegment[mark=|](A,C)
\tkzMarkSegment[mark=|](B,C)
\tkzMarkAngle[size=0.5](B,A,C)
\tkzMarkAngle[size=0.5](C,B,A)
\end{diagram}
\end{document}
答案1
只是为了给你一个想法,我为你的练习发布了一个解决方案建议,不是使用,而是使用包的y-coordinate
命令,最新版本的用户手册第 50 页。你只需要更改\tkzDefPointOnLine
tkz-euclide
pos=x.y
两个都 并使用相同的十进制数>1在命令中\tkzDefPointOnLine
(您也可以为此使用已定义的变量)获取新的外三角形。我使用了您的大部分代码,这些代码可以更短,因为您可以看到我更改的前 3 行。我认为您可以添加角度、点等。如果这没有帮助,请告诉我您到底想要实现什么。
\documentclass{standalone}
\usepackage{tkz-euclide}
\usetikzlibrary{arrows,calc,shapes,patterns,decorations.pathmorphing,shadows.blur,shadings}
\begin{document}
\begin{tikzpicture}
\tkzDefPoints{-2/0/A,2/0/B,0/4/C}
\tkzDefPointOnLine[pos=1.5](C,A)\tkzGetPoint{E}
\tkzDefPointOnLine[pos=1.5](C,B)\tkzGetPoint{D}
\tkzDrawPolygon(A,B,C)
\tkzDrawPolygon(D,E,C)
\tkzDrawSegment(A,E)
\tkzDrawSegment(B,D)
\tkzLabelPoints[left](A)
\tkzLabelPoints[right](B)
\tkzLabelPoints[above](C)
\tkzLabelPoints[left](E)
\tkzLabelPoints[right](D)
\tkzMarkSegment[mark=|](A,C)
\tkzMarkSegment[mark=|](B,C)
\tkzMarkAngle[size=0.5](B,A,C)
\tkzMarkAngle[size=0.5](C,B,A)
\tkzDrawSegment(E,D)
\end{tikzpicture}
\end{document}
希望对你有帮助!
答案2
此解决方案将在改变基座的长度AB
或点C
与基座之间的距离时自动调整:
\newcommand{\ABC}{-4} % distance between C and AB
\newcommand{\AB}{1} % base AB
\documentclass{book}
\usepackage{blindtext}
\usepackage{tikz}
\usepackage{tkz-euclide}
%Diagram enviroment
\newenvironment{diagram}
{\begin{center}\vspace*{10pt}\begin{tikzpicture}}
{\end{tikzpicture}\vspace*{-5pt}\end{center}}
\begin{document}
\newcommand{\ABC}{-4} % distance between C and AB
\newcommand{\AB}{1} % base AB
\begin{diagram}
\tkzDefPoint(0,0){C}
\tkzDefShiftPoint[C](-\AB,\ABC){B}
\tkzDefShiftPoint[C](\AB,\ABC){A}
\tkzDrawSegments(A,B B,C C,A)
\tkzDrawLines[add=0 and 0.5](C,A C,B)
\tkzLabelLine[pos=1.5,right](C,A){D}
\tkzLabelLine[pos=1.5,left](C,B){E}
\tkzLabelPoints[right](A)
\tkzLabelPoints[above](C)
\tkzLabelPoints[left](B)
\tkzMarkSegment[mark=|](A,C)
\tkzMarkSegment[mark=|](B,C)
\tkzMarkAngle[size=0.3](C,A,B)
\tkzMarkAngle[size=0.3](A,B,C)
\end{diagram}
\end{document}