我在用tkz-euclide画一个圆,然后与给定的线相交。一般来说,这可以用
\tkzInterLC(A,P)(M,A) \tkzGetSecondPoint{Q}
但我的圆被定义为三角形的外接圆:
\tkzDrawCircle[circum](A,B,C)
我从文档中了解到,不能使用外接圆作为参数,\tkzInterLC
但你至少可以确定中心 M(无需几何重建整个圆)吗?
或者是否有另一种(更好的)方法来使直线和外接圆相交?
答案1
您\usepackage{tkz-euclide}
可以使用\tkzCircumCenter(A,B,C)
和\tkzGetPoint{Center}
。
参见:第 32 页第 7.4.1 章(手册:http://mirror.physik-pool.tu-berlin.de/tex-archive/macros/latex/contrib/tkz/tkz-euclide/doc/tkz-euclide-screen.pdf)
梅威瑟:
\documentclass[11pt,border=0cm]{standalone}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}
\tkzDefPoint(1,1){A}
\tkzDefPoint(2,1){B}
\tkzDefPoint(1,2){C}
\tkzDrawCircle[circum](A,B,C)
\tkzCircumCenter(A,B,C)
\tkzGetPoint{Center}
\tkzDrawPoints(Center)
\tkzLabelPoints[above](Center)
\end{tikzpicture}
\end{document}
答案2
另一个选项是首先使用\tkzDefCircle
,它可以让您直接访问中心坐标(以及半径,如果需要,可以使用它\tkzGetLength
来保存它),然后\tkzDrawCircle
再使用。
似乎tkz-euclide
边界框仍然存在问题(参见例如https://tex.stackexchange.com/a/130209/586),因此我添加了一个解决方法,尽管它不切实际。
\documentclass[border=0mm]{standalone}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}
\begin{tikzpicture}
% unpractical fix for bounding box issues
\useasboundingbox (-0.2,-1.2) rectangle (2.1,1.4);
\tkzDefPoint(0,0){A}
\tkzDefPoint(2,0){B}
\tkzDefPoint(0.5,1){C}
\tkzDefPoint(0,-1){D}
\tkzDefPoint(1,1){E}
\tkzDrawPolygon(A,B,C)
\tkzDrawLine(D,E)
\tkzDefCircle[circum](A,B,C)
\tkzGetPoint{M}
\tkzDrawCircle(M,A)
\tkzInterLC(D,E)(M,A)
\tkzGetPoints{H}{I}
\tkzDrawPoints(H,I)
\end{tikzpicture}
\end{document}