使用 tikz 绘制两种颜色的圆弧:中心发生偏移

使用 tikz 绘制两种颜色的圆弧:中心发生偏移

我正在尝试绘制一个圆,其中一半圆弧为红色,另一半为蓝色。我的代码确实得到了两个圆弧,但出于某种原因,第二条圆弧的中心与第一条圆弧的中心不同:

\documentclass{article}

\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{amssymb}
\usetikzlibrary{quotes,angles}
\usepackage{tkz-euclide}
\usetikzlibrary{shapes.geometric}

\begin{document}

\begin{tikzpicture}
  \coordinate (B) at (3, 0);
% Draw circle (polar coordinates):
%\draw [red] (0,0) arc [radius=3, start angle=230, end angle=320];
%\draw [blue] (0,0) arc [radius=3, start angle=320, end angle=230];

\draw [blue] (0,0) arc (0:180:3);
\draw [red] (0,0) arc (180:360:3);

\draw[fill=black] (B) circle (.1cm);
\node[label={[label distance=0cm]0:B}] at (B){};

\end{tikzpicture}
\end{document}

结果是这样的:

在此处输入图片描述

为什么中心会偏移,如何围绕同一个中心画两个圆弧?谢谢您的帮助!

答案1

现在还可以吗——

在此处输入图片描述

\begin{tikzpicture}
  \coordinate (B) at (3, 0);
% Draw circle (polar coordinates):
%\draw [red] (0,0) arc [radius=3, start angle=230, end angle=320];
%\draw [blue] (0,0) arc [radius=3, start angle=320, end angle=230];

\draw [blue] (0,0) arc (0:180:3);
\draw [red] (0,0) arc (0:-180:3);

\draw[fill=black] (B) circle (.1cm);
\node[label={[label distance=0cm]0:B}] at (B){};

\end{tikzpicture}

答案2

当你这样做\draw (0,0) arc (0:180:30);(或现代版本arc[start angle=0, end angle=180,radius=3])时,想象放置一个隐形圆圈,使得圆上与角度为零的点(即圆的右边)位于(0,0),然后沿着圆逆时针方向绘制。

假设您想围绕 画一个圆B?对于以 为中心、半径为 3 的圆B,角度为零的点位于(6,0),因此您可以将其用作圆弧的起点:\draw [blue] (6,0) arc[start angle=0,end angle=180,radius=3];

如果您在 处开始画弧,则(0,0)需要arc[start angle=180, delta angle=-180, radius=3]

\documentclass{article}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}

\coordinate (B) at (3, 0);
  
% Draw circle (polar coordinates):
\draw [red] (0,0)  arc [radius=3, start angle=180, delta angle=-180];
\draw [blue] (0,0) arc [radius=3, start angle=180, delta angle=180];

\draw[fill=black] (B) circle (.1cm) node[right=1mm] {B};
\end{tikzpicture}
\end{document}

相关内容