三角形的角平分线

三角形的角平分线

问题:如何以射线的形式延伸角对角线?以及如何获得与线段 BC 的交点?

梅威瑟:

\documentclass{article}
\usepackage{pgfplots}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}

\begin{tikzpicture}
\tkzDefPoint(2,4){A}
\tkzDefPoint(0,0){B}
\tkzDefPoint(4,0){C}
\tkzLabelPoint[above](A){$A$}
\tkzLabelPoint[left](B){$B$}
\tkzLabelPoint[right](C){$C$}

\tkzDrawPolygon(A,B,C)
\tkzDrawBisector[color=blue](B,A,C)

\end{tikzpicture}

\end{document}

答案1

为了进行比较,以下是元帖子展示 Knuth 的有用whatever符号和声明性方程风格。

在此处输入图片描述

\RequirePackage{luatex85}
\documentclass[border=5mm]{standalone}
\usepackage{luamplib}
\begin{document}
\mplibtextextlabel{enable}
\begin{mplibcode}
beginfig(1);
    % define a distance unit
    numeric u; u = 1cm;

    % define the arbitrary points
    pair A, B, C;
    A = (3,4) scaled u;
    B = origin;
    C = (4,-2) scaled u;

    % find the angle bisector point
    z1 = whatever[B,C] = whatever * right shifted A rotatedabout(A, 1/2 (angle (C-A) + angle (B-A)));

    % find another point somewhere along the bisector ray...
    z2 = whatever[A,z1]; 
    y2 = ypart C;  % arbitrarily set the y-coordinate of z2 to the same as point C

    % now draw some of these things...
    drawarrow A -- z2 withcolor 2/3 blue;
    draw A--B--C--cycle;
    fill fullcircle scaled dotlabeldiam shifted z1 withcolor red;
    draw fullcircle scaled dotlabeldiam shifted z1;

    % and add the labels
    label.top("$A$", A);
    label.lft("$B$", B);
    label.lrt("$C$", C);

endfig;
\end{mplibcode}
\end{document}

这可能有助于解开角平分线:

z1 = whatever[B,C] = whatever * right shifted A rotatedabout(A, 1/2 (angle (C-A) + angle (B-A)));

第一部分

 z1 = whatever[B,C]

说“在 B-C 线上的某处定义一个点 z1”。如果您尝试绘制z1与此点相关的某个东西,您会收到一条错误消息,提示这z1是一对未知的对。因此,要确定这一点,您需要在方程中添加第二个元素。

  z1 = whatever[B,C] = whatever * right;

这定义z1为直线 B-C 与通过原点的水平线的交点(因为 right定义为矢量(1,0))。这还不是你想要的……

z1 = whatever[B,C] = whatever * right shifted A;

这定义z1为 B-C 线与通过该点的水平线的交点,A该点更接近您想要的点。最后:

z1 = whatever[B,C] = whatever * right shifted A 
                     rotatedabout(A, 1/2 (angle (C-A) + angle (B-A)));

定义z1为直线 B-C 与经过该直线的直线的交点A,该直线旋转A到直线 C-A 和 B-A 的角度的平均值。这就是获取角平分点所需要的。

答案2

1. 如何获取积分称为 C_1与线段 BC 的交点? (这(第一)部分(更多)是重复的tkz-euclide 中的正交线

您可以使用 定义一条 BC 上穿过 A 的正交线\tkzDefLine[orthogonal=through A](B,C)。线上的第二个点可以用\tkzGetPoint{}和任意名称定义,例如X_1=> \tkzGetPoint{X_1}

交点可以用\tkzInterLL( )( )和任意名称来定义,例如C_1=> \tkzGetPoint{C_1}。因此,\tkzInterLL(C,B)(A,X_1)您可以使用 计算两条线 CB 和 AX_1 的交点。使用 ,\tkzGetPoint{C_1}您将获得交点,并将其保存为C_1

要绘制和标记点(Point1、Point2、Point3),您可以使用\tkzLabelPoints(Point1,Point2,Point3)、... 和\tkzDrawPoints(Point1,Point2,Point3)

编辑:

2. 如何将角对角线延长为射线形式?

你可以从到 最后\tkzDrawLine[add = 0 and 0.1,color=green](A,tkzPointResult)一点 画一条线,也就是(这里)末尾。要延长这条线,请用(延长起点或终点) =>添加一些空间AtkzPointResultC_1add = AddStart and AddEnd\tkzDrawLine[add = 0 and 0.1,color=green](A,tkzPointResult)

参见手册7.5.1 使用 \tkzInCenter 和三个点在第30页。

3.箭头:

如果您喜欢箭头,可以使用:arrows=-triangle 60或其他三角箭头

\tkzDrawLine[add = 0 and 0.1,color=green,arrows=-triangle 60](A,tkzPointResult)

在此处输入图片描述

梅威瑟:

\documentclass{article}
\usepackage{pgfplots}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}

\begin{tikzpicture}

\tkzDefPoint(2,4){A}
\tkzDefPoint(0,0){B}
\tkzDefPoint(4,0){C}
\tkzLabelPoint[above](A){$A$}
\tkzLabelPoint[left](B){$B$}
\tkzLabelPoint[right](C){$C$}

\tkzDrawPolygon(A,B,C)
\tkzDrawBisector[color=blue](B,A,C)

  \tkzDefLine[orthogonal=through A](B,C)   

  \tkzGetPoint{X_1}

  %\tkzLabelPoints(X_1)\tkzDrawPoints(X_1)

  \tkzInterLL(C,B)(A,X_1)
  \tkzGetPoint{C_1}

  %\tkzDrawLine[add = 0 and 0.1,color=green](A,tkzPointResult) 
  \tkzDrawLine[add = 0 and 0.1,color=green,arrows=-triangle 60](A,tkzPointResult) 
  \tkzDrawLine[add = 0.3 and 0.1,color=orange](B,tkzPointResult)

  \tkzDrawPoints(C_1)\tkzLabelPoints(C_1)
\end{tikzpicture}

\end{document}

相关内容