如何使用 tkz-euclide 得到某一点的圆的切线?

如何使用 tkz-euclide 得到某一点的圆的切线?

我想重新创建图像

在此处输入图片描述

来源:https://commons.wikimedia.org/wiki/File:IncirclePentagon.png

tkz-euclide

其思想是先创建圆,然后在圆上定义 5 个不同的点,计算切线,最后计算切线的交点(A、B、C、D、E)。

然而,我很难得到切线。

以下是我目前所掌握的信息:

\documentclass{article}
\usepackage[pdftex,active,tightpage]{preview}
\setlength\PreviewBorder{2mm}
\usepackage{tikz}
\usepackage{tkz-euclide}
\usetkzobj{all}
\usetikzlibrary{shapes, calc, decorations} 
\usepackage{amsmath,amssymb}
\usepackage{helvet}
\usepackage[eulergreek]{sansmath}

\begin{document}
\begin{preview}
\begin{tikzpicture}[very thick,font=\sansmath\sffamily]
    \tkzDefPoint(0, 0){C}
    \tkzDrawCircle[R](C,3cm)

    \tkzDefPoint( 30:3){BCT}
    \tkzDefPoint( 90:3){CDT}
    \tkzDefPoint(135:3){DET}
    \tkzDefPoint(215:3){EAT}
    \tkzDefPoint(315:3){ABT}

    \tkzLabelPoints[below left,font=\sansmath\sffamily](BCT)

    \tkzDrawPolygon[thick](BCT,CDT,DET,EAT,ABT)

    % \tkzTangent[from=EAT](C, R)\tkzGetPoints{e}{f} % Doesn't work
    % \tkzDrawSegments[color=red](e,f)
    \tkzDrawPoints(BCT,CDT,DET,EAT,ABT)  % remove after finishing
    \tkzLabelPoints[below left,font=\sansmath\sffamily](BCT,CDT,DET,EAT,ABT)  % remove after finishing

    % Draw points
    % \tkzLabelPoints[below left,font=\sansmath\sffamily](A)
    % \tkzLabelPoints[below right,font=\sansmath\sffamily](B)
    % \tkzLabelPoints[above right,font=\sansmath\sffamily](C)
    % \tkzLabelPoints[above left,font=\sansmath\sffamily](D)
    % \tkzLabelPoints[left,font=\sansmath\sffamily](E)


    % % Draw polygon
    % \tkzDrawPolygon[thick](A,B,C,D,E)
\end{tikzpicture}
\end{preview}
\end{document}

如何使用 tkz-euclide 获得圆上给定点的切线?

我尝试过的方法

我尝试过很多变体。

下面确实可以编译,但是不显示任何内容:

\tkzTangent[from with R = EAT](C, 3 cm)\tkzGetPoints{e}{f}
\tkzDrawLine[color=red](e,f)

答案1

感谢 John Kormylo,我考虑使用我的几何知识:圆的切线就是通过圆直径在圆上一点的垂线。虽然这解决了我的问题,但我仍然有兴趣继续\tkzTangent研究。

图像

在此处输入图片描述

完整代码

\documentclass{article}
\usepackage[pdftex,active,tightpage]{preview}
\setlength\PreviewBorder{2mm}
\usepackage{tikz}
\usepackage{tkz-euclide}
\usetkzobj{all}
\usetikzlibrary{shapes, calc, decorations} 
\usepackage{amsmath,amssymb}
\usepackage{helvet}
\usepackage[eulergreek]{sansmath}

\begin{document}
\begin{preview}
\begin{tikzpicture}[very thick,font=\sansmath\sffamily]
    \tkzDefPoint(0, 0){CircleCenter}
    \tkzDrawCircle[R](CircleCenter,3cm)

    % Define 5 points on a circle
    \tkzDefPoint( 30:3){BCT}
    \tkzDefPoint( 90:3){CDT}
    \tkzDefPoint(135:3){DET}
    \tkzDefPoint(215:3){EAT}
    \tkzDefPoint(300:3){ABT}

    % Tangents
    \tkzDefLine[perpendicular=through EAT](CircleCenter,EAT)\tkzGetPoint{EAT2}
    \tkzDefLine[perpendicular=through BCT](CircleCenter,BCT)\tkzGetPoint{BCT2}
    \tkzDefLine[perpendicular=through CDT](CircleCenter,CDT)\tkzGetPoint{CDT2}
    \tkzDefLine[perpendicular=through DET](CircleCenter,DET)\tkzGetPoint{DET2}
    \tkzDefLine[perpendicular=through ABT](CircleCenter,ABT)\tkzGetPoint{ABT2}

    % Find the points by intersecting the tangents
    \tkzInterLL(EAT,EAT2)(ABT,ABT2)\tkzGetPoint{A}
    \tkzInterLL(ABT,ABT2)(BCT,BCT2)\tkzGetPoint{B}
    \tkzInterLL(BCT,BCT2)(CDT,CDT2)\tkzGetPoint{C}
    \tkzInterLL(CDT,CDT2)(DET,DET2)\tkzGetPoint{D}
    \tkzInterLL(DET,DET2)(EAT,EAT2)\tkzGetPoint{E}

    % Background
    \tkzDrawPolygon[thick,fill=gray!10](A,B,C,D,E)

    \tkzDrawSegments(CircleCenter,EAT CircleCenter,BCT CircleCenter,CDT CircleCenter,DET CircleCenter,ABT)

    % Draw points
    \tkzDrawPoints[size=1pt](A,B,C,D,E)
    \tkzDrawCircle[R,thick,draw=red](CircleCenter,3cm)
    \tkzLabelPoints[below left,font=\sansmath\sffamily](A)
    \tkzLabelPoints[below right,font=\sansmath\sffamily](B)
    \tkzLabelPoints[above right,font=\sansmath\sffamily](C)
    \tkzLabelPoints[above left,font=\sansmath\sffamily](D)
    \tkzLabelPoints[left,font=\sansmath\sffamily](E)


    % % Draw polygon
    \tkzDrawPolygon[very thick](A,B,C,D,E)
\end{tikzpicture}
\end{preview}
\end{document}

公共

文件:Pentagon-inscribed-circle.svg

相关内容