Texers的几何画板——tkz-euclide作图教程

作者:Daniel 时间:2020/12/18

说起“几何画板(Sketchpad)”,数学老师们一定非常熟悉。使用Word排版数学文档时,Word+Mathtype+Sketchpad是最佳搭配,Mathtype用来排版公式,Sketchpad用来搞掂图形绘制。

现在越来越多的数学老师为了追求更好的排版品质,选择了Latex,公式和文字的混排得到了很好的效果。遗憾的是图形绘制是一个令人棘手的工作。如果用其它软件绘制好图形,然后插入到tex文档中,则总有一种违和的感觉,而且图形清晰度也大打折扣。

实际上,这个问题可以用tkz-euclide宏包得到完美解决。可以说,tkz-euclide就是广大texers的几何画板,用它绘制平面几何、立体几何、解析几何中的各种图形都是非常方便的。

不过,学习tkz-euclide也不太容易,而且目前只有一些英文的使用指南,网络上很少有tkz-euclide的中文学习教程。

在接下来的时间,本公众号将推出tkz-euclide系列教程,敬请关注我们的推文。

下面,我们给出三个例子和它们的代码,仅供参考。

平面几何例子

图形:
在这里插入图片描述

代码:

\begin{tikzpicture}[scale=.8]
\tkzDefPoint(0,0){C}
\tkzDefPoint(7,0){B}
\tkzDefPoint(5,6){A}
\tkzDrawPolygon(A,B,C)
\tkzDefMidPoint(C,B)
\tkzGetPoint{I}
\tkzDrawArc(I,B)(C)
\tkzInterLC(A,C)(I,B)
\tkzGetSecondPoint{B'}
\tkzInterLC(A,B)(I,B)
\tkzGetFirstPoint{C'}
\tkzInterLL(B,B')(C,C')
\tkzGetPoint{H}
\tkzInterLL(A,H)(C,B)
\tkzGetPoint{A'}
\tkzDefCircle[circum](A,B',C')
\tkzGetPoint{O}
\tkzDrawCircle[color=red](O,A)
\tkzDrawSegments[color=orange](B,B' C,C' A,A')
\tkzMarkRightAngles(C,B',B B,C',C C,A',A)
\tkzDrawPoints(A,B,C,A',B',C',H)
\tkzLabelPoints(A,B,C,A',B',C',H)
\end{tikzpicture}

立体几何例子

图形:
在这里插入图片描述

代码:

\begin{tikzpicture}[pol/.style={fill=red!30,opacity=0.5},seg/.style={tkzdotted,color=gray}
       ,hidden pt/.style={fill=gray!40},scale=3]
  \tkzSetUpPoint[size=2]
  \tkzDefPoints{0/0/A,2.5/0/B,1.33/0.75/D,0/2.5/E,2.5/2.5/F}
  \tkzDefLine[parallel=through D](A,B)\tkzGetPoint{I1}
  \tkzDefLine[parallel=through B](A,D)\tkzGetPoint{I2}
  \tkzInterLL(D,I1)(B,I2)\tkzGetPoint(C)
  \tkzDefLine[parallel=through D](A,E)\tkzGetPoint{I3}
  \tkzDefLine[parallel=through E](A,D)\tkzGetPoint{I4}
  \tkzInterLL(D,I3)(E,I4)\tkzGetPoint(H)
  \tkzDefLine[parallel=through F](E,H)\tkzGetPoint{I5}
  \tkzDefLine[parallel=through H](E,F)\tkzGetPoint{I6}
  \tkzInterLL(F,I5)(H,I6)\tkzGetPoint(G)
  \tkzDefMidPoint(G,H)\tkzGetPoint(P)
  \tkzDefMidPoint(G,C)\tkzGetPoint(Q)
  \tkzDefMidPoint(C,B)\tkzGetPoint(R)
  \tkzDefMidPoint(B,A)\tkzGetPoint(S)
  \tkzDefMidPoint(A,E)\tkzGetPoint(T)
  \tkzDefMidPoint(E,H)\tkzGetPoint(U)
  \tkzFillPolygon[pol](P,Q,R,S,T,U)
  \tkzFillPolygon[pol](P,Q,R,S,T,U)
  \tkzDrawSegments[seg](A,D D,C D,H C,H A,H P,Q R,S T,U A,C)
  \tkzDrawSegments(B,C C,G G,H H,E F,G Q,R S,T U,P)
  \tkzDrawPolygon(A,B,F,E)
  \tkzDrawPoints(A,B,C,G,H,E,P,Q,R,S,T,U)
  \tkzDrawPoints[hidden pt](D)
  \tkzLabelPoints[below](A,S,B)
  \tkzLabelPoints[above](H,P,G)
  \tkzLabelPoints[left](E,T)
  \tkzLabelPoints[right](Q,C)
  \tkzLabelPoints[above,left](U,D)
  \tkzLabelPoints[below=4pt,right](R,F)
  \end{tikzpicture}   

解析几何例子

图形:
在这里插入图片描述

代码:

\begin{tikzpicture}[scale=0.8]
  \tkzInit[xmin=-3.5,xmax=3.5,ymin=-2,ymax=2]
  \tkzDrawXY[noticks]
  \tkzDefPoints{0/0/O,1.732/0/A,2/0/F,0.866/0.5/M,1.732/1/N}
  \tkzLabelPoints[above=5pt,right](F)
  \tkzDrawPoint[cross](F)
  \tkzLabelPoints[below=6pt,left](O)
  \tkzLabelPoints[left=5pt,above](A)
  \tkzLabelPoints[above](N)
  \tkzLabelPoints[above,left](M)
  \tkzDrawSegments(A,N A,M)
  \draw[domain=-1:1,samples=200]plot({1.732*sec(\x r)},{tan(\x r)})node[right]{$\frac{x^2}{a^2}-\frac{y^2}{b^2}=1$};
  \draw[domain=-1:1,samples=200,xscale=-1]plot({1.732*sec(\x r)},{tan(\x r)});
  \draw[domain=-3.2:3.2]plot(\x,{0.577*\x});
  \draw[domain=-3.2:3.2]plot(\x,{-0.577*\x});
  \draw (A)circle[radius=1];
\end{tikzpicture}

识别下面二维码,回复“120”,领取本文例子源码和tkz-euclide 说明文档:

在这里插入图片描述

如果本文对您有帮助,欢迎点击“在看”,转发分享!您的支持是作者写作的动力!

【LaTeX微信交流加群:】

如果你希望交流LaTeX使用或者TikZ作图或者Beamer制作幻灯片方面的问题,请先添加作者微信:niltxz,然后加入作者的LaTeX+TikZ+Beamer 交流微信群。
在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值