You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用LaTeX的tkz-euclide绘制扇形的内切圆及切点

为扇形AMP和MPB添加内切圆及切点标注的LaTeX实现

基于你提供的半圆分割代码,以下是添加两个扇形内切圆及切点标注的完整实现方案:

完整LaTeX代码

\documentclass[a4paper]{standalone}
\usepackage{tikz}
\usepackage{tkz-euclide}

\begin{document}
    \begin{tikzpicture}
        \tkzInit[ymin=-1,ymax=6,xmin=-1,xmax=10]
        \tkzClip[space=.5]

        % 定义基础点
        \tkzDefPoint(0,0){A}
        \tkzDefPoint(10,0){B}
        \tkzDefMidPoint(A,B) \tkzGetPoint{M}
        \tkzDefPoint(8,0){I}
        \tkzDefPointWith[orthogonal](I,M) \tkzGetPoint{H}
        \tkzInterLC(I,H)(M,B) \tkzGetSecondPoint{P}

        % 绘制基础图形
        \tkzDrawPoints(A,B,M,P)
        \tkzDrawSegment(A,B)
        \tkzDrawArc(M,B)(A)
        \tkzDrawSegment(M,P)

        % --- 处理扇形AMP的内切圆 ---
        % 获取扇形AMP的圆心角
        \tkzFindAngle(A,M,P) \tkzGetAngle{angAMP}
        % 扇形半径MA的长度为5
        \pgfmathsetmacro{R}{5}
        % 计算内切圆半径:扇形内切圆公式 r = R*(1 - 1/(1 + sin(θ/2)))
        \pgfmathsetmacro{r1}{R*(1 - 1/(1 + sin(\angAMP/2)))}
        % 构造∠AMP的角平分线方向
        \tkzDefPointBy[rotation=center M angle \angAMP/2](A) \tkzGetPoint{bisec1}
        % 定位内切圆圆心O1:在角平分线上,距离M点的距离为R - r1
        \tkzDefPointOnLine[pos=(R - r1)/R](M,bisec1) \tkzGetPoint{O1}
        % 绘制内切圆
        \tkzDrawCircle(O1,r1)
        % 找切点:与MA的切点T1、与MP的切点T2、与弧AP的切点T3
        \tkzDefPointWith[linear=through O1 perpendicular to M,A](O1) \tkzGetPoint{T1}
        \tkzDefPointWith[linear=through O1 perpendicular to M,P](O1) \tkzGetPoint{T2}
        \tkzInterLC(M,O1)(M,A) \tkzGetSecondPoint{T3}
        \tkzDrawPoints(T1,T2,T3)
        \tkzLabelPoint[below left](T1){$T_1$}
        \tkzLabelPoint[above left](T2){$T_2$}
        \tkzLabelPoint[above](T3){$T_3$}

        % --- 处理扇形PMB的内切圆 ---
        \tkzFindAngle(P,M,B) \tkzGetAngle{angPMB}
        \pgfmathsetmacro{r2}{R*(1 - 1/(1 + sin(\angPMB/2)))}
        \tkzDefPointBy[rotation=center M angle -\angPMB/2](B) \tkzGetPoint{bisec2}
        \tkzDefPointOnLine[pos=(R - r2)/R](M,bisec2) \tkzGetPoint{O2}
        \tkzDrawCircle(O2,r2)
        % 找切点:与MP的切点T4、与MB的切点T5、与弧PB的切点T6
        \tkzDefPointWith[linear=through O2 perpendicular to M,P](O2) \tkzGetPoint{T4}
        \tkzDefPointWith[linear=through O2 perpendicular to M,B](O2) \tkzGetPoint{T5}
        \tkzInterLC(M,O2)(M,B) \tkzGetSecondPoint{T6}
        \tkzDrawPoints(T4,T5,T6)
        \tkzLabelPoint[above right](T4){$T_4$}
        \tkzLabelPoint[below right](T5){$T_5$}
        \tkzLabelPoint[above right](T6){$T_6$}

        % 标注基础点与内切圆圆心
        \tkzLabelPoint[below](M){$M$}
        \tkzLabelPoint[below left](A){$A$}
        \tkzLabelPoint[below right](B){$B$}
        \tkzLabelPoint[above right](P){$P$}
        \tkzLabelPoint[left](O1){$O_1$}
        \tkzLabelPoint[right](O2){$O_2$}
    \end{tikzpicture}
\end{document}

关键实现说明

  • 修正编译错误:补全原代码中缺失的\前缀(\usepackage),确保代码可正常编译。
  • 内切圆参数计算:
    • 使用\tkzFindAngle获取两个扇形的圆心角,结合扇形内切圆半径公式计算半径:
      r = R*(1 - 1/(1 + sin(θ/2))),其中R为扇形半径(此处MA=5),θ为扇形圆心角。
  • 圆心定位:
    内切圆圆心位于扇形的角平分线上,距离扇形顶点M的距离为R - r,通过\tkzDefPointOnLine精确定位。
  • 切点构造:
    • 与两条半径的切点:通过作圆心到对应半径的垂线得到(\tkzDefPointWith[linear=through O perpendicular to M,X])。
    • 与弧的切点:位于M到内切圆圆心的延长线与弧的交点,通过\tkzInterLC(直线与圆的交点)命令计算。
  • 可视化优化:添加切点、圆心的标注,确保图形元素清晰可辨。

内容的提问来源于stack exchange,提问作者Ace_Radom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 16:55:10