提问于:
浏览数:
2662
3 回答
0
<p>去看看 tkz-euclide 宏包,比较容易实现。</p>
-
同样推荐这个宏包 – registor 2020-04-25 16:00 回复
0
<p></p><p>```<br/></p><p>\begin{tikzpicture}<br/> \def\mycircleradius{1}<br/> \fill (0,0) circle [radius=1pt] coordinate[label=-90:$O$] (O);<br/> \draw (O) circle [radius=\mycircleradius];<br/> \foreach \i/\j in {0/B,120/C,180/A}<br/> {<br/> \fill (\i:\mycircleradius) circle [radius=1pt] coordinate[label=\i:$\j$] (\j);<br/> }<br/> \fill <span style="color: rgb(255, 0, 0);">($(C)!(A)!($(C)!1!-90:(O)$)$)</span> circle [radius=1pt] coordinate [label=120:$P$](P);<br/> \draw (O)--(C)--(P)--(A)--(B);<br/>\end{tikzpicture}<br/></p><p>```</p><p>这种情况的切线比较容易做。<br/></p>
0
<p>使用tkz-euclide宏包比较方便:</p><pre class="brush:plain;toolbar:false">\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}</pre><p>绘制结果:<br></p><p><img src="/data/ueditor/php/upload/image/20200425/1587816551123350.png" title="1587816551123350.png" alt="main-1.png" style="max-width:650px"></p>
你的回答
请登录后回答
你的回答将会帮助更多人,请务必认真回答问题。