圆与线的交点“路径”(二)

圆与线的交点“路径”(二)

按照这个答案那么,对于由(1)三个点;(2)一个点和一个中心定义圆的情况,是否也可以采用类似的方式找到交点?

\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
    \coordinate (A) at (0,0);
    \coordinate (B) at (2,5);
    \coordinate (C) at (4,0);
    \coordinate (D) at (6,3);
    \coordinate (E) at (4,2);

    \draw (A)--(B)--(C)--cycle (D)--(E);
\end{tikzpicture}
\end{document}

(例如:(1)过A、B、C的圆与线段DE的交点;(2)过A点与中心B的圆与线段DE的交点。)

答案1

对于情况(1):基于此很好的答案

对于情况(2):使用简单的through库。

\documentclass[margin=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{intersections,through,calc}
\tikzset{circle through 3 points/.style n args={3}{%
insert path={let    \p1=($(#1)!0.5!(#2)$),
                    \p2=($(#1)!0.5!(#3)$),
                    \p3=($(#1)!0.5!(#2)!1!-90:(#2)$),
                    \p4=($(#1)!0.5!(#3)!1!90:(#3)$),
                    \p5=(intersection of \p1--\p3 and \p2--\p4)
                    in },
at={(\p5)},
circle through= {(#1)}
}}
\begin{document}

\begin{tikzpicture}
    \coordinate (A) at (0,0);
    \coordinate (B) at (2,5);
    \coordinate (C) at (4,0);
    \coordinate (D) at (6,3);
    \coordinate (E) at (4,2);
    \draw (A)--(C)node[midway,below]{(1)}--(B)--cycle;
    \path [draw, name path=line] (D)--(E);
    \node[name path=circ, circle through 3 points={A}{B}{C},draw=blue]{};
    \path [name intersections={of=circ and line, by={K}}] ;
    \node[circle,minimum size=2pt,fill=red] at(K) {};

\end{tikzpicture}
\hfill
\begin{tikzpicture}[scale=0.55]
    \coordinate (A) at (0,0);
    \coordinate (B) at (2,5);
    \coordinate (C) at (4,0);
    \coordinate (D) at (6,3);
    \coordinate (E) at (4,2);
    \draw (A)--(B)--(C)--cycle;
    \path [draw, name path=line] (D)--(E);
    \node [draw, name path=circ] at (A) [circle through=(B)] {};
    \path [name intersections={of=circ and line, by={K}}] ;
    \node[circle,minimum size=2pt,fill=red] at(K) {};
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容