找到圆弧终点的坐标

找到圆弧终点的坐标

我正在尝试找到圆弧的终点坐标。

目前,我正在使用以下一组命令行来绘制图形,但我想简化它。如果我找出坐标,就会发生这种情况C。有什么建议吗?

命令行:-

 \draw(0.3,-3) coordinate(A) arc [radius=4.7, start angle=180, end angle=225] coordinate(B);

 \draw(9.7,-3) coordinate(D) arc [radius=4.7, start angle=360, end angle=315] coordinate(C); 

 \filldraw[fill=red, draw=red] (A) arc [radius=4.7, start angle=180, end angle=225] -- (C) arc [radius=4.7, start angle=315, end angle=360] --(A);

答案1

您可以先构建坐标C,然后\filldraw一次性构建整个图形。

\documentclass[border=2pt]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
  \path
     (9.7,-3) coordinate(D)
     arc [radius=4.7, start angle=360, end angle=315] coordinate(C);
  \filldraw[fill=red, draw=red]
     (C)
     arc [radius=4.7, start angle=315, end angle=360]
     -- (0.3,-3) coordinate(A)
     arc [radius=4.7, start angle=180, end angle=225] coordinate(B);
\end{tikzpicture}
\end{document}

或者您可以计算的坐标(C)

\documentclass[border=2pt]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
  \newcommand\R{4.7}% radius
  \newcommand\A{45}% angle
  \filldraw[fill=red, draw=red]
     (0.3,-3) coordinate (A)
     arc [radius=\R, start angle=180, end angle={180+\A}] coordinate (B)
     -- ({5+\R*cos(\A)},{-3-\R*sin(\A)}) coordinate (C)
     arc [radius=\R, start angle={360-\A}, end angle=360] coordinate (D);
\end{tikzpicture}
\end{document}

或者您可以让 tikz 计算坐标。

\documentclass[border=2pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
  \newcommand\R{4.7}% radius
  \newcommand\A{45}% angle
  \coordinate (M) at (5,-3);
  \coordinate (A) at ($(M)+(180:\R)$);
  \coordinate (B) at ($(M)+({180+\A}:\R)$);
  \coordinate (C) at ($(M)+({360-\A}:\R)$);
  \coordinate (D) at ($(M)+(360:\R)$);
  \filldraw[fill=red, draw=red]
     (A) arc [radius=\R, start angle=180, end angle={180+\A}]
     -- (C) arc [radius=\R, start angle={360-\A}, end angle=360];
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

我的三角学知识不允许我计算图形的高度,但如果你知道如何做,你可以用它来剪切一个圆圈:

\documentclass[11pt]{article}
\usepackage[a4paper, margin=1in]{geometry}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}

\begin{scope}
    \clip (0.3,-3) rectangle (9.7,-6.34); 
    \fill[red] (5,-3) circle(4.7);
\end{scope}
\end{tikzpicture}
\end{document}

更新 1:

gernot刷新了我的三角学知识并提供了解决方案:

\documentclass[11pt]{article}
\usepackage[a4paper, margin=1in]{geometry}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}

\begin{scope}
    %radius*sin(225-180) = 4.7/sqrt(2) = 3,3234018
    \clip (0.3,-3) rectangle (9.7,-6.323); 
    \fill[red] (5,-3) circle(4.7);
\end{scope}
\end{tikzpicture}
\end{document}

更新 2:

然后StefanHTikZ calc我们用库来计算高度:

\documentclass[11pt]{article}
\usepackage[a4paper, margin=1in]{geometry}
\usepackage{tikz}
\usetikzlibrary{calc}  %<---- Load calc library

\begin{document}
\begin{tikzpicture}

\begin{scope}
    \clip (0.3,-3) rectangle ({(9.7,-3)} |- {$(5,-3)+(315:4.7)$}); 
    \fill[red] (5,-3) circle(4.7);
\end{scope}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容