tkz-euclide,填充角度

tkz-euclide,填充角度

tkzFillAngle 在填充角度时犯了一个小错误,我不知道为什么。

这是我的最小工作示例:

\documentclass{article}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}
\begin{figure*}
    \centering
    \begin{tikzpicture}[scale=5]    
        \node at (0:1) (point) {};
        \node at (30:1) (otherpoint) {};
        \node at (0:0) (O) {};
        \tkzFillAngle[fill=orange, size=0.3, opacity=0.4](point,O,otherpoint)
        % tkz code no ;
        \draw [dashed] (O.center)--(point);
        \draw (O.center)--(otherpoint);
    \end{tikzpicture}
    \caption{asdf}
\end{figure*}   
\end{document}

这是我得到的。请注意,填充物没有完全到达角的角落。知道我做错了什么吗?

在此处输入图片描述

答案1

您需要使用\coordinate而不是\node

看这里:TikZ:\node 和 \coordinate 之间的区别?

\documentclass{article}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}
\begin{figure*}
    \centering
    \begin{tikzpicture}[scale=5]    
        \coordinate (point) at (0:1);
        \coordinate (otherpoint) at (30:1);
        \coordinate (O) at (0:0);
        \tkzFillAngle[fill=orange, size=0.3, 
        opacity=0.4](point,O,otherpoint)% no ; here
        \draw [dashed] (O)--(point);
        \draw (O)--(otherpoint);
    \end{tikzpicture}
    \caption{asdf}
\end{figure*}   
\end{document}

在此处输入图片描述

答案2

可以像@CarlaTex 一样定义点,但也可以使用宏来定义它们tkzDefPoint[< options >](x,y){name}

tkzFillAngle手册中没有记录该宏,但引用了该宏。手册中包含了\tkzMarkAngle以相同方式使用的宏,但也没有记录。

手册中记录了两个宏,一个允许绘制角扇区 \tkzDrawSectortkzFillSector另一个允许绘制角扇区。为了理解这两个宏之间的区别,我分别绘制了角扇区,但没有绘制边。

\tkzDrawSector绘制角落的轮廓:

绘制欧几里得 \tkzFillSector为其着色但不绘制其轮廓:

填充欧几里得

当然,可以同时绘制和着色角扇区。在你给出的例子中,由于放大倍数为 5,所以我将半径设置为 5 倍小(2 毫米)

tkz-euclide宏不需要分号。

\documentclass{article}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}
\begin{figure*}
    \centering
    \begin{tikzpicture}[scale=5]    
        \tkzDefPoint(0:1){point}
        \tkzDefPoint(30:1){otherpoint}
        \tkzDefPoint(0:0){O}    
%       \tkzFillAngle[fill=orange, size=0.3, opacity=0.4](point,O,otherpoint);
%       \tkzMarkAngle[fill=orange, size=0.3, opacity=0.4](point,O,otherpoint);
%       \tkzFillSector[R with nodes,fill=orange, opacity=0.4](O,2mm)(point,otherpoint)
        \tkzDrawSector[R with nodes,fill=orange, opacity=0.4](O,2mm)(point,otherpoint)
        \draw [dashed] (O.center)--(point.center);
        \draw (O.center)--(otherpoint.center);
        \tkzDrawPoints(O,point,otherpoint)
    \end{tikzpicture}
    \caption{asdf}
\end{figure*}   
\end{document}

输出\tkzDrawSector

绘制欧几里得-1

输出\tkzFillSector

填充欧几里德-1 使用 www.DeepL.com/Translator 翻译

答案3

仅需tkz-euclide

\documentclass{article}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}
\begin{figure*}
    \centering
    \begin{tikzpicture}[scale=5]    
        % \node at (0:1) (point) {};
        % \node at (30:1) (otherpoint) {};
        % \node at (0:0) (O) {};
        \tkzDefPoint(0:1){point}
        \tkzDefPoint(30:1){otherpoint}
        \tkzDefPoint(0:0){O}
        \tkzFillAngle[fill=orange, size=0.3, opacity=0.4](point,O,otherpoint)
        % tkz code no ;
        \tkzDrawSegment[dashed](O,point)
        \tkzDrawSegment(O,otherpoint)
        % \draw [dashed] (O.center)--(point);
        % \draw (O.center)--(otherpoint);
    \end{tikzpicture}
    \caption{asdf}
\end{figure*}   
\end{document}

仅使用 tikz 就可以填充角度。pgfmanual 中的几何课程提供了精美的示例。现在,您可以使用pic最新版本。

相关内容