🏠

欧几里德图例集锦

Table of Contents

收罗了 tkz-euclide 官方手册1的图例,出自两节:Different authors(用户投稿)和 Some interesting examples(经典几何问题)。每个图例配一段说明:画的是什么、难点在哪、关键代码。图由下方 tikz 代码块直接生成( ob-tikz 执行),说明里的代码只截难点,完整代码在手册里。

本文也是对 slingshot tikz 2的测试

slingshot-tikz-arch.png

Figure 1: Slingshot TikZ Architecture

测出了不少问题, tkz-euclide 版本间很多细小差异消除在 slingshot tikz 里,具体查看 slingshot 源码。

1. 作者图例

单位圆上的三角函数线。半径 \(AB=1\),角 \(x\) 的终边交圆于 \(C\);过 \(B\) 作切线,与 \(AC\) 交于 \(D\),则 \(BD=\tan x\);过 \(C\) 作 \(AB\) 的垂线,垂足 \(E\),则 \(CE=\sin x\)。\(D\) 的构造是两步:过 \(B\) 作垂线,再与 \(AC\) 求交。

\tkzDefLine[perpendicular=through B,K=1](A,B) \tkzGetPoint{b}
\tkzInterLL(A,C)(B,b) \tkzGetPoint{D}

花括号标注是纯 TikZ 的 decoration ,tkz-euclide 不管这个,得自己写:

\draw [decorate,decoration={brace,amplitude=10pt}]
      (D) -- (B) node [midway,xshift=27pt] {$\tan x$};

code-from-andrew-swan.png

Figure 2: Code from Andrew Swan

圆 \(O\) 外一点 \(M\),两条割线 \(MAB\)、\(MCA'\),标出 \(\angle ACB\)、\(\angle AMC\)、\(\angle CAM\) 三个角。麻烦在 \(\angle CAM\) 太小, tkzMarkAngle 默认的标记位置放不下,得用 mkpos=.2 把标记往顶点方向挪:

\tkzMarkAngle[mkpos=.2, size=0.5](A,C,B)
\begin{scope}[veclen]
\tkzMarkAngle[mkpos=.2, size=1.2](C,A,M)
\end{scope}

example-dimitris-kapeta.png

Figure 3: Example: Dimitris Kapeta

题目:证明 \(AC/CE=BD/DF\)。三条平行线被折线截断,彩色粗线标出要比较的线段。难点在给直线加箭头——TikZ 的 decoration={markings} 配合 =postaction=,tkz 直接透传:

\tikzset{decoration={markings,
  mark=at position 3cm with {\arrow[scale=2]{>}}}}
\tkzDrawLines[postaction={decorate}](E,F P,Q R,S)

example-john-kitzmiller.png

Figure 4: Example : John Kitzmiller

正方形 \(ABCD\) 绕 \(D\) 转 \(45^\circ\) 得到第二个正方形,两正方形重叠部分涂灰,\(BE=EH\) 用双线标记。旋转一个点、作正方形、求交点,四行:

\tkzDefSquare(A,B) \tkzGetPoints{C}{D}
\tkzDefPointBy[rotation=center D angle 45](C) \tkzGetPoint{G}
\tkzDefSquare(G,D) \tkzGetPoints{E}{F}
\tkzInterLL(B,C)(E,F) \tkzGetPoint{H}

example-1-from-indonesia.png

Figure 5: Example 1: from Indonesia

矩形 \(ABFE\) 里作平行线网格,标出各边中点,中间六边形涂色。图本身不难,就是量大:七条平行线、十来个中点、几十个交点,代码八十多行。tkz 里每条平行线都是"作线 + 取交点"两步:

\tkzDefLine[parallel=through D](A,B) \tkzGetPoint{I1}
\tkzInterLL(D,I1)(B,I2) \tkzGetPoint{C}

example-2-from-Indonesia.png

Figure 6: Example 2: from Indonesia

莫利定理:任意三角形,三个内角的三等分线两两相交,靠近各边的三个交点构成等边三角形(图中 \(t_a t_b t_c\))。难点在"三等分角":tkz 先 tkzFindAngle 量出角,再按 \(1/3\)、\(2/3\) 旋转。换一个三角形,角度自动重算:

\tkzFindAngle(C,A,B) \tkzGetAngle{anglea}
\tkzDefPointBy[rotation=center A angle 1*\anglea/3](C) \tkzGetPoint{TA1}

illustration-of-the-morley-theorem-by-nicolas-françois.png

Figure 7: Illustration of the Morley theorem by Nicolas François

赵爽弦图(代码来自 Nan Geng)。四个直角三角形围成大正方形,中间是斜边上的小正方形。赵爽用"出入相补"证明勾股定理:四个直角三角形加中间正方形,正好补成大正方形。图里 dim 选项画了 \(a\)、\(b\)、\(c\) 三条尺寸线:

\tkzInterCC[R](A, 5)(A', 3) \tkzGetSecondPoint{B}
\tkzDefSquare(A,B) \tkzGetPoints{C}{D}
\tkzDrawSegment[dim={$a$,-10pt,}](D,C')

gou-gu-theorem-pythagorean-theorem-by-zhao-shuang.png

Figure 8: Gou gu theorem / Pythagorean Theorem by Zhao Shuang

勒洛三角形(Stefan Kottwitz,见《LaTeX Cookbook》第 10 章)。以等边三角形顶点为圆心、边长为半径作三段圆弧,围成等宽曲线——可以当轮子滚。旁边还画了个直角三角形,标注三边和泰勒斯圆。三段弧的填充先用 tkzSetUpArc 统一设置:

\begin{scope}
\tkzSetUpArc[thick,delta=0]
\tkzDrawArc[fill=blue!10](A,B)(C)
\tkzDrawArc[fill=blue!10](B,C)(A)
\tkzDrawArc[fill=blue!10](C,A)(B)
\end{scope}

reuleaux-triangle.png

Figure 9: Reuleaux-Triangle

2. 经典几何问题

手册的 Some interesting examples 一节,大多是几何学史上的经典问题。

只用直尺圆规画出 \(1,\sqrt2,\sqrt3,\dots\):从单位线段出发,每次在直角边上接一段 \(1\),斜边就是下一个根号。十六次重复交给 =foreach=,颜色随步数渐变:

\foreach \i [count=\j] in {0,...,16}{
  \tkzDefPointWith[orthogonal normed](a\i,O) \tkzGetPoint{a\j}
  \pgfmathsetmacro{\c}{5*\i}
  \tkzDrawPolySeg[fill=teal!\c](a\i,a\j,O)}

square-root-of-the-integers.png

Figure 10: Square root of the integers

已知线段 \(AB\),求点 \(C\) 使 \(AC=8\) 且 \(\angle ABC=90^\circ\)。尺规思路:过 \(B\) 作 \(AB\) 的垂线,以 \(A\) 为圆心、\(8\) 为半径画圆,交点就是 \(C\)。tkz 的写法几乎是这句话的直译,垂线不用算坐标, tkzPointResult 直接引用刚生成的点:

\tkzDefPointWith[orthogonal,K=-1](B,A)
\tkzDrawLine[add = .5 and .5](B,tkzPointResult)
\tkzInterLC[R](B,tkzPointResult)(A,8) \tkzGetPoints{J}{C}

about-right-triangle.png

Figure 11: About right triangle

阿基米德的一道题:半圆直径 \(AB\),过 \(B\) 的切线与过 \(C\) 的切线交于 \(T\),证明 \(AT\) 平分 \(CD\)。图里 \(D\) 是 \(C\) 在 \(AB\) 上的投影,\(P\) 是交点,=s|= 双标记表示 \(CP=PD\)。\(C\) 的取法很巧:过 \(D\) 作垂线,与以 \(I\) 为圆心、\(4\) 为半径的圆相交,取第二个交点:

\tkzDefLine[orthogonal=through D](A,D)
\tkzInterLC[R](D,tkzPointResult)(I,4) \tkzGetSecondPoint{C}

archimedes.png

Figure 12: Archimedes

《几何原本》第 II 卷命题 11:作正方形与矩形等面积。\(E\) 是 \(AD\) 中点,以 \(E\) 为圆心、\(EB\) 为半径的弧交 \(DA\) 延长线于 \(F\), \(AF\) 正好是黄金比;\(AFGH\) 正方形与 \(IGBC\) 矩形面积相等(两处 teal 填充)。交点顺序要小心,=near= 取离 \(B\) 近的那个:

\tkzInterLC[near](B,A)(A,F) \tkzGetFirstPoint{G}
\tkzDrawArc[angles](E,B)(0,120)
\tkzDrawSemiCircle(A,F)

square-and-rectangle-of-same-area-golden-section.png

Figure 13: square and rectangle of same area; Golden section

西姆森定理:三角形外接圆上一点 \(M\),向三边作垂线,三个垂足 \(I,J,K\) 共线(西姆森线)。\(M\) 关于三边的对称点 \(P,Q,R\) 也共线(斯坦纳线)。图里 \(M\)、\(N\) 是圆上两点,各画了一套。垂足不用作垂线:反射点与 \(M\) 的中点就是垂足,=reflection= 一次处理三个点:

\tkzDefCircle[circum](A,B,C) \tkzGetPoint{O}
\tkzDefPointsBy[reflection=over A--B](M,N){P,P'}

steiner-line-and-simson-line.png

Figure 14: Steiner Line and Simson Line

希波克拉底月牙(公元前五世纪,希俄斯岛的希波克拉底):等腰直角三角形斜边上的半圆与直角边上的半圆围成的月牙,面积等于三角形面积。这是历史上第一个被证明"面积等于直线图形"的曲线图形。画法的关键是裁剪:先在大圆外裁剪,再画小半圆填充,月牙就"抠"出来了:

\begin{scope}
\tkzClipCircle[out](B,A)
\tkzDefMidPoint(C,A) \tkzGetPoint{M}
\tkzDrawSemiCircle[fill=teal!5](M,C)
\end{scope}

lune-of-hippocrates.png

Figure 15: Lune of Hippocrates

海什木月牙(al-Haytham,拉丁名 Alhazen,965—1040):直角三角形两条直角边上的两个月牙,面积和等于三角形面积。画法与希波克拉底月牙一样,两个 scope 各裁剪一次。直角三角形不用算边长, tkzDefTriangle[pythagore] 直接生成:

\tkzDefTriangle[pythagore,swap](A,B) \tkzGetPoint{C}
\begin{scope}
\tkzClipCircle[out](I,A)
\tkzDrawSemiCircle[fill=teal!5](x,A)
\end{scope}

lunes-of-hasan-ibn-al-haytham.png

Figure 16: Lunes of Hasan Ibn al-Haytham

四个半圆两两相交,交叠区域用不同组合涂色。这一节的主题是裁剪:每块颜色一个 scope=,两个 =tkzClipCircle[out] 抠出"两个圆外"的区域再填充。六块颜色六个 scope,写法完全一样:

\begin{scope}
\tkzClipCircle[out](M,B) \tkzClipCircle[out](P,D)
\tkzFillPolygon[teal!20](M,N,P,O)
\end{scope}

about-clipping-circles.png

Figure 17: About clipping circles

3. 杂志问题:Tangente 与 Le Monde

下面两图出自同一道题,分别来自法国杂志《Tangente》和《世界报》(Le Monde)。原题见 Descartes et les Mathématiques 网站,参考资料:《Tangente》特刊第 8 期习题 11、《世界报》2004 年 2 月 17 日逻辑题 364 号。

两个相似等腰三角形 \(AXB\)、\(BYC\),顶点 \(X\)、\(Y\),\(A,B,C\) 共线,\(\angle AXB=\angle BYC=\alpha\),两三角形"间接"(反向)。再作第三个相似等腰三角形 \(XZY\)。《Tangente》问:证明 \(Z\) 在直线 \(AC\) 上。作图要点:从 \(X\)、\(Y\) 按固定方向取点,再用平移构造第三个三角形,保证相似且反向:

\tkzDefShiftPoint[X](-110:6){A} \tkzDefShiftPoint[X](-70:6){B}
\tkzDefPointBy[translation= from A' to B](Y) \tkzGetPoint{Y}

revised-version-of-tangente.png

Figure 18: Revised version of "Tangente"

《世界报》版本:\(Z\) 是线段 \(AC\) 上到 \(X\)、\(Y\) 等距的点,问 \(Z\) 看 \(X\)、\(Y\) 的张角。作图几乎一样,差别只在 \(Z\) 的取法: \(XY\) 的中垂线与 \(AC\) 的交点。图里圆是 \(X,Y,B\) 的外接圆,红色线段 \(XZ\)、\(YZ\) 就是张角的两边:

\tkzDefCircle[circum](X,Y,B) \tkzGetPoint{O}
\tkzDefPointWith[orthogonal](I,Y) \tkzGetPoint{i}
\tkzInterLL(I,i)(A,B) \tkzGetPoint{Z}

le-monde-version.png

Figure 19: "Le Monde" version

4. 三角形的线与圆

三条高交于一点 \(H\)(垂心)。垂足不用"作垂线":以 \(BC\) 中点 \(I\) 为圆心、\(IB\) 为半径的圆(泰勒斯圆)与 \(AC\) 交于 \(B'\),直径 \(BC\) 所对的圆周角 \(\angle BB'C=90^\circ\),\(B'\) 就是垂足。红圆是 \(A,B',C'\) 的外接圆:

\tkzDefMidPoint(C,B) \tkzGetPoint{I}
\tkzInterLC(A,C)(I,B) \tkzGetFirstPoint{B'}

triangle-altitudes.png

Figure 20: Triangle altitudes

另一种找垂心:以 \(AB\) 为直径的圆与 \(AC\)、\(BC\) 交于 \(M\)、 \(N\),\(BM\perp AC\)、\(AN\perp BC\),交点 \(I\) 就是垂心,\(CI\) 是第三条高。两个圆都用 diameter 选项直接生成。=common=A= 指定公共点,免得取错交点:

\tkzDefCircle[diameter](A,B) \tkzGetPoint{x}
\tkzInterLC[common=A](C,A)(O,A) \tkzGetFirstPoint{M}

altitudes-other-construction.png

Figure 21: Altitudes - other construction

等边三角形内三个等圆,是马尔法蒂问题的特例。马尔法蒂(Gian Francesco Malfatti)以为三圆各与两条边相切时总面积最大,后来发现一般三角形里并不成立——等边三角形的对称解恰好是对的。圆心是角平分线的交点,切点用 projection 投影得到:

\tkzInterLL(A,N)(M,a) \tkzGetPoint{Ia}
\tkzDefPointBy[projection = onto A--B](Ia) \tkzGetPoint{ha}
\tkzDrawCircles[gray](Ia,ha Ib,hb Ic,hc)

three-circles-in-an-equilateral-triangle.png

Figure 22: Three circles in an Equilateral Triangle

正弦定理:\(\frac a{\sin A}=\frac b{\sin B}=\frac c{\sin C}=2R\)。证明的关键一步:过 \(B\) 作外接圆直径 \(BD\),\(\angle D=\angle C\)(同弧所对圆周角),\(\sin C=c/2R\)。\(D\) 是 \(B\) 关于圆心 \(O\) 的对称点,一行:

\tkzDefTriangleCenter[circum](A,B,C) \tkzGetPoint{O}
\tkzDefPointBy[symmetry= center O](B) \tkzGetPoint{D}

law-of-sines.png

Figure 23: Law of sines

5. 正多边形与圆

生命之花:六个圆围绕中心圆,交点处再画圆,层层展开。埃及阿比多斯奥西里斯神庙有石刻(Rawles 1997)。画法是一个 foreach 循环:每个圆心都是旋转出来的,循环里生成九种辅助点、画三种圆和六种弧,最后 tkzClipCircle 裁掉外圈:

\foreach \i in {0,...,5}{
  \tkzDefPointBy[rotation= center O angle 30+60*\i](A) \tkzGetPoint{a\i}
  \tkzDrawCircle(a\i,O)}
\tkzClipCircle(O,f0)

flower-of-life.png

Figure 24: Flower of Life

《几何原本》第 IV 卷命题 11:在给定圆内作正五边形。欧几里得的尺规作法绕了个弯:先找黄金分割。tkz 的实现完全按尺规步骤——\(I\) 是 \(AO\) 中点,圆 \((I,IA)\) 与 \(BO\) 交于 \(E,F\),再以 \(B\) 为圆心、 \(BE\)、\(BF\) 为半径画弧,与圆 \((O,C)\) 相交得到四个顶点:

\tkzDefMidPoint(A,O) \tkzGetPoint{I}
\tkzInterLC(I,B)(I,A) \tkzGetPoints{F}{E}
\tkzInterCC(O,C)(B,E) \tkzGetPoints{D3}{D2}

pentagon-in-a-circle.png

Figure 25: Pentagon in a circle

正方形内接正五边形,比圆内接版本多一串作图:\(T\) 是半圆与 \(CD\) 的交点,\(H\) 是两个圆的交点,\(M\) 是 \(OH\) 与圆 \((O,E)\) 的交点,再往后 \(Q,P,N\) 依次迭代。每一步都要显式给出圆心和半径点,是手册里最长的纯作图链之一:

\tkzInterCC[with nodes](O,D,I)(E,D,I) \tkzGetSecondPoint{H}
\tkzInterLC(O,H)(O,E) \tkzGetSecondPoint{M}
\tkzInterCC(O,E)(E,M) \tkzGetFirstPoint{Q}

pentagon-in-a-square.png

Figure 26: Pentagon in a square

等边三角形内接正六边形,六条边都贴在三边上。\(I\) 是重心,\(c_1\) 是 \(AB\) 上三分之一处的点,以 \(I\) 为圆心、\(Ic_1\) 为半径的圆与三边相交,六个交点就是六边形顶点:

\tkzDefTriangleCenter[centroid](A,B,C) \tkzGetPoint{I}
\tkzDefPointBy[homothety=center A ratio 1./3](B) \tkzGetPoint{c1}
\tkzInterLC(B,C)(I,c1) \tkzGetPoints{a1}{a2}

hexagon-inscribed-version-1.png

Figure 27: Hexagon Inscribed version 1

同一道题的另一做法:把三角形绕重心转 \(60^\circ\),两个三角形重叠部分就是正六边形。代码短了一个数量级:

\tkzDefPointsBy[rotation= center I angle 60](A,B,C){a,b,c}
\tkzDrawPolygon[fill=teal!20,opacity=.5](A,B,C)
\tkzDrawPolygon[fill=purple!20,opacity=.5](a,b,c)

hexagon-inscribed-version-2.png

Figure 28: Hexagon Inscribed version 2

6. 圆与幂

圆幂定理:\(\overline{MA}\times\overline{MB}=MT^2=MO^2-OT^2\)。\(M\) 是圆外一点,\(MT\) 是切线,\(MAB\) 是割线。切点 \(T\) 用泰勒斯圆找:以 \(MO\) 为直径的圆与原圆相交:

\tkzDefCircle[diameter](M,O) \tkzGetPoint{I}
\tkzInterCC(I,O)(O,E) \tkzGetPoints{T}{T'}

power-of-a-point-with-respect-to-a-circle.png

Figure 29: Power of a point with respect to a circle

根轴:到两圆幂相等的点的轨迹,一条垂直于连心线的直线("axe radical" 一词出自法国数学家沙勒)。画法用一个辅助圆(虚线)与两圆相交,公共弦 \(aa'\)、\(bb'\) 的交点 \(X\) 在根轴上,过 \(X\) 作 \(AB\) 的垂线就是根轴:

\tkzInterCC(A,a)(K,k) \tkzGetPoints{a}{a'}
\tkzDrawLines[new,add=2 and 2](a,a')

radical-axis-of-two-non-concentric-circles.png

Figure 30: Radical axis of two non-concentric circles

外位似中心:两圆平行同向半径的端点连线交连心线于固定点 \(O\),\(O\) 外分连心线于半径之比。从 \(O\) 作两圆的切线,切点是 \(T,T'\)。tkz 直接支持"从圆外一点作切线":

\tkzDefLine[tangent from = O](B,M') \tkzGetPoints{X}{T'}

external-homothetic-center.png

Figure 31: External homothetic center

两圆相离时有四条公切线,图里画两条外公切线。构造思路是把问题化成"过点作切线":辅助圆 \((B,R-r)\) 与连心线交于 \(E,F\),经泰勒斯圆找出切点 \(T'\),过 \(T'\) 的切线与连心线交于 \(O\)——外位似中心;再从 \(O\) 作小圆的切线,得另一条公切线:

\tkzDefMidPoint(A,B) \tkzGetPoint{I}
\tkzInterLC[R](A,B)(B,\rt) \tkzGetPoints{E}{F}
\tkzInterCC(I,B)(B,F) \tkzGetPoints{a}{a'}

tangent-lines-to-two-circles.png

Figure 32: Tangent lines to two circles

公切线和根轴一起画:\(D,E\) 是两圆与连心线的交点,\(P,Q\) 是外公切线的切点,\(DP\) 与 \(EQ\) 交于根轴上的点。两圆半径相等时这方法依然成立。找切点的关键:以 \(D,E\) 为直径端点的圆与根轴交于 \(M\),\(MD\)、 \(ME\) 与两圆的交点就是 \(P,Q\):

\tkzDefMidPoint(D,E) \tkzGetPoint{I}
\tkzDrawCircle[orange](I,D)
\tkzInterLC(X,H)(I,D) \tkzGetPoints{M}{M'}

tangent-lines-to-two-circles-with-radical-axis.png

Figure 33: Tangent lines to two circles with radical axis

只用圆规求线段中点(拿破仑问题)。\(B\) 绕 \(A\) 转 \(180^\circ\) 得 \(C\),一连串圆相交,最后以 \(D,E\) 为圆心的两个圆交于 \(M\)——就是中点。全程没有直尺、没有 =DefLine=,只有 =InterCC=:

\tkzInterCC(A,B)(B,A) \tkzGetPoints{I}{I'}
\tkzInterCC(D,B)(E,B) \tkzGetPoints{M}{M'}

middle-of-a-segment-with-a-compass.png

Figure 34: Middle of a segment with a compass

7. 反演与阿波罗尼奥斯

阿波罗尼奥斯圆的定义:到两定点 \(A,B\) 的距离之比为常数 \(K\) 的点的轨迹是一个圆。图里 \(K=2\),圆上任意点 \(I\) 满足 \(IA=2\cdot IB\)。 tkz 一行画出这个圆,圆上取点也不用算坐标:

\tkzDefCircle[apollonius,K=2](A,B) \tkzGetPoints{K1}{k}
\tkzDefPointOnCircle[through= center K1 angle 30 point k] \tkzGetPoint{I}

definition-of-a-circle-apollonius.png

帕普斯项链(公元三世纪,亚历山大里亚):夹在两个相切圆之间的圆链。画法用了反演:先竖着排一串等圆,再以 \(A\) 为反演中心、过 \(C\) 的圆为反演圆,把直线反演成圆、等圆反演成相切圆链。=foreach= 一次画三十三个:

\foreach \i in {-\nc,...,0,...,\nc}{
  \tkzDefPoint(\xJ,2*\r*\i){J}
  \tkzDefCircleBy[inversion = center A through C](J,H)
  \tkzDrawCircle[fill=teal](tkzFirstPointResult,tkzSecondPointResult)}

application-of-inversion-pappus-chain.png

Figure 35: Application of Inversion : Pappus chain

《引理集》命题 1(阿基米德):两圆切于 \(A\),平行直径 \(CD\)、 \(EF\),则 \(A,C,E\) 共线。\(F\) 是圆 \(O_1\) 上的点,\(E\) 是 \(F\) 关于 \(O_1\) 的对称点,过 \(O_2\) 作 \(EF\) 的平行线交圆 \(O_2\) 于 \(C,D\)。证明用等腰三角形底角相等,两步作图:

\tkzDefPointBy[symmetry=center O_1](F) \tkzGetPoint{E}
\tkzDefLine[parallel=through O_2](E,F) \tkzGetPoint{x}
\tkzInterLC(x,O_2)(O_2,A) \tkzGetPoints{D}{C}

book-of-lemmas-proposition-1-archimedes.png

Figure 36: Book of lemmas proposition 1 Archimedes

《引理集》命题 6:半圆 \(AC\) 被 \(B\) 按黄金比分割,\(AB\)、\(BC\) 上再作半圆,与三个半圆都相切的圆的直径 \(GH\),证明 \(BC=2\cdot PC\) (\(P\) 是 \(BC\) 中点)。这是手册里最复杂的图之一:\(M_0,M_1,M_2\) 是内外位似中心,\(O_3\) 是 \(E,F,B\) 的外接圆圆心,后面还有十几步交点。关键在"与三个半圆都相切的圆"——它的圆心由位似中心给出,tkz 直接提供:

\tkzDefGoldenRatio(A,C) \tkzGetPoint{B}
\tkzDefExtSimilitudeCenter(O_1,A)(O_2,B) \tkzGetPoint{M_0}
\tkzDefIntSimilitudeCenter(O,A)(O_1,A) \tkzGetPoint{M_1}

book-of-lemmas-proposition-6-archimedes.png

Figure 37: Book of lemmas proposition 6 Archimedes

压轴图:与三角形三个旁切圆都相切、并把它们包在里面的圆(Kimberling 1998, p.102),叫"阿波罗尼奥斯圆"。这张图几乎用遍了 tkz-euclide 的高级特性:五个三角形中心(外心、欧拉点、莱莫恩点、垂心、Spieker 中心)、旁切三角形、旁心投影、 next to 交点选择、 tkzClipCircle 限定范围。作者用它展示 tkz-euclide 的能力上限:

\tkzDefTriangleCenter[euler](A,B,C) \tkzGetPoint{N}
\tkzDefSpcTriangle[excentral,name=J](A,B,C){a,b,c}
\tkzDefCircle[in](Ma,Mb,Mc) \tkzGetPoint{Sp}
\tkzInterLC[next to=Ja](Ja,Q)(Q,Cb) \tkzGetFirstPoint{F'a}

the-circle-of-apollonius.png

Figure 38: "The" Circle of APOLLONIUS

Footnotes: