2020-04-25 12:44发布
[图]
使用tkz-euclide宏包比较方便:
\documentclass[margin=3pt, convert, convert={ outext=.png, command=\unexpanded{ pdftocairo -r 300 -png \infile % 将生成的pdf文件转换为png图像 } } ]{standalone} % 欧几里得图形绘制宏包 \usepackage{tkz-euclide} \begin{document} \begin{tikzpicture} % 定义坐标 \tkzDefPoint(0,0){A} \tkzDefPoint(2,0){B} % 以AB为直径定义圆 \tkzDefCircle[diameter](A,B) % 获得圆心 \tkzGetPoint{O} % 计算半径 \tkzCalcLength[cm](O,A) \tkzGetLength{rOA} % 定义圆上的点C \tkzDefShiftPoint[O](120:\rOA){C} % 定义过C点的圆的切线 \tkzDefTangent[at=C](O) \tkzGetPoint{h} % 定义过C平行于AB的直线 \tkzDefLine[parallel=through C](A,B) \tkzGetPoint{c'} % 定义过A垂直于Ch切线的直线 \tkzDefLine[orthogonal=through A](C,h) \tkzGetPoint{a'} % 定义过C垂直于AB的直线 \tkzDefLine[orthogonal=through C](A,B) \tkzGetPoint{c''} % 定义过A垂直于Cc'的直线 \tkzDefLine[orthogonal=through A](C,c') \tkzGetPoint{a''} % 求直线交点 \tkzInterLL(A,B)(C,c'') \tkzGetPoint{I1} \tkzInterLL(A,a'')(C,c') \tkzGetPoint{I2} \tkzInterLL(C,h)(A,a') \tkzGetPoint{I3} % 绘制图形 \tkzDrawCircle(O,B) \tkzDrawLine[add = 1 and 0.5](C, h) \tkzDrawSegment(C, I1) \tkzDrawSegment(A, I2) \tkzDrawSegment(I2, C) \tkzDrawSegment(A, I3) \tkzDrawSegment(A,B) % 标记点 \tkzDrawPoints(A,B,C) \tkzLabelPoints(A,B,C) % 绘制垂直符号 \tkzMarkRightAngle[fill=red!30](A,I3,h) \end{tikzpicture} \end{document}
绘制结果:
最多设置5个标签!
使用tkz-euclide宏包比较方便:
绘制结果:
一周热门 更多>