tkzMarkAngle 的错误行为

tkzMarkAngle 的错误行为

我试图在三维图上标记一个角度,\tkzMarkAngle该角度与\tdplotsetmaincoords

这就是我的意思,下面是一个最小的例子:

\documentclass[varwidth=true, border=2pt]{standalone}

\usepackage{tikz,tikz-3dplot}
\usepackage{tkz-euclide}
\usetkzobj{all}

\begin{document}

\tdplotsetmaincoords{0}{315}
\begin{tikzpicture}[tdplot_main_coords]
  \coordinate (OX) at (1,0,0);
  \coordinate (OO) at (0,0,0);
  \coordinate (OY) at (0,1,0);
  \tkzMarkAngle[fill=purple](OX,OO,OY)
  \draw (OY) -- (OO) -- (OX);
\end{tikzpicture}
\end{document}

如您所见,我只是试图绘制一个角度并用实心圆弧标记它。但我得到的结果如下:

一个角和一个弧

看起来圆弧旋转了应有角度的两倍。其他人有同样的结果吗?还是我的 tikz 版本有问题?

我在通过 macports 安装的 OSX、latex 和 tikz 上运行。

谢谢。

UPD1. 20 度旋转如下所示 ( \tdplotsetmaincoords{0}{20}):

角和弧 2

答案1

\tkzMarkAngle正如您所提到的,和的行为似乎很奇怪\tdplotsetmaincoords。作为一种解决方法,您可以使用该angles库:

\documentclass[varwidth=true, border=2pt]{standalone}
\usepackage{tikz,tikz-3dplot}
\usepackage{tkz-euclide}
\usetkzobj{all}
\usetikzlibrary{angles}

\begin{document}

\tdplotsetmaincoords{0}{315}
\begin{tikzpicture}[tdplot_main_coords]
  \coordinate (OX) at (1,0,0);
  \coordinate (OO) at (0,0,0);
  \coordinate (OY) at (0,1,0);
%  \tkzMarkAngle[fill=purple](OX,OO,OY)
  \draw (OY) -- (OO) -- (OX)
     pic[fill=purple!20,angle radius=9mm] {angle = OX--OO--OY};
\end{tikzpicture}

\end{document}

结果:

在此处输入图片描述

一个更长的例子;bending添加该库是为了改善弯曲箭头的外观:

\documentclass[varwidth=true, border=2pt]{standalone}
\usepackage{tikz,tikz-3dplot}
\usepackage{tkz-euclide}
\usetkzobj{all}
\usetikzlibrary{angles,bending}

\begin{document}

\tdplotsetmaincoords{30}{120}
\begin{tikzpicture}[
  tdplot_main_coords,
  markangle/.style={draw,->,>=latex}
]
  \coordinate (OX) at (1,0,0);
  \coordinate (OO) at (0,0,0);
  \coordinate (OY) at (0,1,0);
  \coordinate (OZ) at (0,0,2);
  \path
    pic[fill=purple!20,angle radius=5mm,markangle] {angle = OY--OO--OZ}
    pic[fill=green!20,angle radius=5mm,markangle] {angle = OX--OO--OY}
    pic[fill=blue!20,angle radius=5mm,markangle] {angle = OZ--OO--OX};
  \draw 
    (OX) -- (OO) 
    (OY) -- (OO) 
    (OZ) -- (OO); 
%  \tkzMarkAngle[fill=purple](OX,OO,OY)
\end{tikzpicture}

\end{document}

在此处输入图片描述

答案2

肯定是 bug。你可以使用新版本的 tkz-euclide v2.42 (beta)这里

在此处输入图片描述

相关内容