如何根据给定的代码从 B 和 C (两个节点)延伸线 BC

如何根据给定的代码从 B 和 C (两个节点)延伸线 BC

我怎样才能从 B 和 C (两个节点)延伸线 BC?

\begin{tikzpicture}
\draw (-2,0)--(0,0) node{A}--(4,0)node{B}--(0,4)node{C}--(0,0)--(0,-2) (0,0)--(0,5) (0,0)--(5,0); 
\fill[red] (4,0)--(0,4)--(0,0) [start angle=0,end
angle=90] |- cycle;
\end{tikzpicture}

答案1

您可以使用缩短>=<length>shorten <=<length>提供负长度:

\begin{tikzpicture}
\draw (-2,0)--(0,0) node[below left]{A}--(4,0)node(b){B}--(0,4)node(c){C}--(0,0)--(0,-2) (0,0)--(0,5) (0,0)--(5,0); 
\fill[red] (4,0)--(0,4)--(0,0) [start angle=0,end
angle=90] |- cycle;
\draw [shorten >= -5cm, shorten <=-5cm] (b)--(c);
\end{tikzpicture}

在此处输入图片描述

答案2

角落标签被形状颜色覆盖的情况相当不寻常。我会将您的图像重新设计如下:

在此处输入图片描述

使用positioningTikZ 库来使用相对坐标,这样就可以为图像构建相对简单的代码:

\documentclass[tikz, margin=3mm]{standalone}
\usetikzlibrary{positioning}


\begin{document}
\begin{tikzpicture}[every edge/.style = {draw, shorten >=-12mm, shorten <=-12mm}]
\coordinate[label=below  left:A] (a);
\coordinate[label=below:B,right=4cm of a] (b);
\coordinate[label= left:C,above=4cm of a] (c);
\fill[red] (a) --(b)--(c);
\draw (a) edge (b) (b) edge(c) (c) edge (a);
\end{tikzpicture}
\end{document}

相关内容