[Hỏi]Vẽ cung đi qua 3 điểm bằng tikz thuần

  • Thread starter thuthuy2000
  • Ngày gửi
T

thuthuy2000

Guest
Các thầy cô cho em hỏi cách vẽ cung đi qua 3 điểm bằng tikz thuần. Em cảm ơn.
 

tuhocvba

Administrator
Thành viên BQT
Mã:
\documentclass{article}
%Khai báo thư viện
\usepackage{tikz}
\usetikzlibrary{calc}
%=============Kết thúc khai báo thư viện
%
%Khai báo lệnh cung đi qua 3 điểm
\newcommand{\cungdiquabadiem}[4][]{
    \coordinate (middle1) at ($(#2)!.5!(#3)$);
    \coordinate (middle2) at ($(#3)!.5!(#4)$);
    \coordinate (aux1) at ($(middle1)!1!90:(#3)$);
    \coordinate (aux2) at ($(middle2)!1!90:(#4)$);
    \coordinate (center) at ($(intersection of middle1--aux1 and middle2--aux2)$);
    \draw[#1]
    let \p1=($(#2)-(center)$),
    \p2=($(#4)-(center)$),
    \n0={veclen(\p1)},       % Radius
    \n1={atan2(\y1,\x1)}, % angles
    \n2={atan2(\y2,\x2)},
    \n3={\n2>\n1?\n2:\n2+360}
    in (#2) arc(\n1:\n3:\n0);
}
%=============Kết thúc khai báo lệnh mới
\begin{document}
    \begin{tikzpicture}
        \coordinate (A) at (3,1);
        \coordinate (B) at (1,2);
        \coordinate (C) at (-2,-2);
        \cungdiquabadiem{A}{B}{C};
        
        \foreach \p in {A,B,C} %Nếu muốn tô cả tâm đường tròn thì dùng lệnh :\foreach \p in {A,B,C,center}
        \fill[red] (\p) circle(2pt);
    \end{tikzpicture}
\end{document}
Kết quả :
Bạn cần đăng nhập để thấy đính kèm

Nguồn :
Mã:
https://tex.stackexchange.com/questions/15972/whats-the-easiest-way-to-draw-the-arc-defined-by-three-points-in-tikz
 
Top